Skip to content

Rename launcher jar to breaktest.jar (phase one: dual-name transition)#75

Merged
jgaalen merged 1 commit into
mainfrom
claude/branding-launcher-jar
Jul 12, 2026
Merged

Rename launcher jar to breaktest.jar (phase one: dual-name transition)#75
jgaalen merged 1 commit into
mainfrom
claude/branding-launcher-jar

Conversation

@jgaalen

@jgaalen jgaalen commented Jul 12, 2026

Copy link
Copy Markdown
Contributor

Summary

Branding PR 4, stacked on #74 — the launcher jar rename, choreographed so the self-update path never breaks.

The constraint: every deployed BreakTest validates downloaded update archives by checking bin/ApacheJMeter.jar. A hard rename would make all existing installs reject the next release.

Phase one (this PR):

  • The dist ships bin/breaktest.jar as the launcher plus an identical copy named bin/ApacheJMeter.jar, so already-deployed updaters still accept and install the archive.
  • All scripts launch/classpath breaktest.jar: breaktest, breaktest.bat, both agent launchers, and the 12 utility scripts (heapdump/threaddump/pause/resume/shutdown/stoptest, sh+cmd), plus HtmlReportGenerator and the batch-test tooling.
  • The updater now accepts a launcher under either name (UpdateService.hasLauncherJar) when validating staged archives and the installation dir, backs up both names during install, and cleanly removes a stale legacy jar once a future dist ships only breaktest.jar.
  • Maven artifact name (ApacheJMeter) is intentionally unchanged — this renames only the file in the dist's bin/.

Phase two (a later release, after updaters have rolled forward): drop the ApacheJMeter.jar copy from the dist — the updater side is already ready, covered by the rename-transition test.

Verification

  • New installer test walks the full transition: old install → dual-name archive → future breaktest.jar-only archive, asserting no stale legacy jar remains.
  • createDist produces both jars; bin/breaktest --version launches via breaktest.jar end-to-end.
  • Updater suite (15 tests), core suite, :src:dist:build, and a dist-check batch test (which runs the CLI through the renamed jar) all green.

🤖 Generated with Claude Code

Phase one of the launcher rename:

- The distribution ships the launcher as bin/breaktest.jar and, for one
  transition period, an identical copy named bin/ApacheJMeter.jar so
  self-updaters deployed before this release still accept and install
  new archives. The copy will be dropped in a later release.
- All launch and utility scripts (breaktest, breaktest.bat, agent
  launchers, heapdump/threaddump/pause/resume/shutdown/stoptest) and
  the HTML report generator now use breaktest.jar.
- The self-updater accepts a launcher under either name when validating
  archives and installations (UpdateService.hasLauncherJar), backs up
  both launcher names during installation, and removes a stale legacy
  jar once a future distribution ships only breaktest.jar - covered by
  a rename-transition installer test.
- Batch test tooling and dist classpaths updated; .gitignore covers
  both jar names.

The Maven artifact name (ApacheJMeter) is unchanged; this renames only
the file shipped in the distribution's bin directory.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Base automatically changed from claude/branding-runtime-naming to main July 12, 2026 13:43
@jgaalen jgaalen merged commit e290137 into main Jul 12, 2026
2 checks passed
@jgaalen jgaalen deleted the claude/branding-launcher-jar branch July 12, 2026 13:44
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