Skip to content

4.5.5

Choose a tag to compare

@github-actions github-actions released this 12 Mar 14:25
· 228 commits to work since this release

added a format-selection step before opening the system dialog.

What changed in core/src/main/kotlin/com/github/alfu32/sketch/Main.kt

  • Added a small native desktop format picker via JOptionPane:
    • DesktopFileDialogOption
    • chooseDesktopFileDialogOption(...)
  • Kept the actual file picking native/system via FileDialog
  • Added replaceFileExtension(...) so save defaults match the chosen format

Now these desktop flows show the available extensions before the system dialog opens:

  • Open
    • options:
      • All supported (*.octd, *.k3d)
      • Octodraw (*.octd)
      • Legacy K3D (*.k3d)
  • Save As
    • options:
      • Octodraw (*.octd)
      • Legacy K3D (*.k3d)
  • Import Mesh
    • options:
      • All supported (...)
      • plus one option per supported mesh format
  • Export Mesh
    • one option per export format
  • Load Vector Glyph Catalog
    • options:
      • Vector Glyph Catalog (*.octd)
      • Fonts (*.ttf, *.otf)

This keeps the system file dialog, but makes the permitted extensions explicit first.

Fixed the CI failure mode.

Cause:

  • prepareWebComponentBundle declared concrete inputs under web/build/dist/webapp/:
    • assets/
    • scripts/
    • octodraw-.js
  • Those paths are generated later by buildWebRuntime, so on GitHub Actions Gradle validates them before execution and fails if they do not exist yet.

What I changed in web/build.gradle:

  • kept the explicit dependency:
    • prepareWebComponentBundle.dependsOn(prepareWebDocs)
  • removed the eager generated-path input declarations:
    • inputs.dir(webRuntimeDir/assets)
    • inputs.dir(webRuntimeDir/scripts)
    • inputs.file(webRuntimeDir/)

Why this is correct:

  • those are produced artifacts, not static source inputs
  • the task graph already guarantees they exist through the dependency chain
  • the previous declarations were what made CI fail validation