Skip to content

Release 3.2: Nimbus look and feel, code cleanup, automated releases - #8

Merged
abdonmorales merged 1 commit into
mainfrom
development
Jun 30, 2026
Merged

abdonmorales merged 1 commit into
mainfrom
development

Conversation

@abdonmorales

Copy link
Copy Markdown
Member

Summary

Prepares version 3.2 of PDF Compiler.

Codebase improvements (src/PDFCompiler.java)

  • Nimbus is now the default look and feel — set at startup with a graceful fallback to the default cross-platform L&F if Nimbus is unavailable.
  • Replaced anonymous ActionListener/AboutHandler/DropTargetListener classes with lambdas and DropTargetAdapter.
  • Extracted a shared addPdfFile(File) helper used by both the file chooser and drag-and-drop (removes duplicated logic).
  • Case-insensitive .pdf matching (accepts .PDF).
  • Consolidated merge error handling into a single try/catch (IOException) and dropped the now-unnecessary throws clause.
  • Added serialVersionUID; removed unused imports.
  • Bumped version to 3.2 in the window title, Javadoc, and About dialog.

Automated releases (.github/workflows/)

  • build.yml — CI that compiles on pushes/PRs to main/development.
  • release.yml — on a v* tag (or manual dispatch), compiles and bundles a self-contained runnable JAR (PDF Compiler + Apache PDFBox) and publishes it as a GitHub Release asset with auto-generated notes.
  • Stopped ignoring .github so the workflows are tracked.

Docs

  • README updated with a Release 3.2 section and version bump.

Testing

  • javac -Xlint:all compiles cleanly against libs/pdfbox-app-3.0.2.jar (only inherent Swing this-escape constructor warnings remain).
  • Verified the fat-JAR build locally: correct Main-Class, bundled PDFCompiler.class, and PDFBox classes present.

🤖 Generated with Claude Code

- Set Nimbus as the default look and feel (falls back gracefully if absent)
- Refactor: lambda event handlers, shared addPdfFile() helper for the file
  chooser and drag-and-drop, DropTargetAdapter, case-insensitive .pdf match,
  consolidated merge error handling, add serialVersionUID
- Bump version to 3.2 across title, Javadoc, README, and About dialog
- Add GitHub Actions: build.yml (CI) and release.yml (build a self-contained
  runnable JAR and publish it as a release asset on v* tags)
- Stop ignoring .github so workflows are tracked

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@abdonmorales
abdonmorales merged commit 45f6d45 into main Jun 30, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant