Skip to content

Initializr: keep choices selected, ship server launchers, test the released download - #6099

Merged
shai-almog merged 1 commit into
masterfrom
initializr-release-e2e
Oct 24, 2026
Merged

shai-almog merged 1 commit into
masterfrom
initializr-release-e2e

Conversation

@shai-almog

Copy link
Copy Markdown
Collaborator

What a developer hit

  • Clicking an app type in the Initializr left it looking unselected (a desktop browser is not pure touch, so the focused option painted its undefined focus style).
  • A full-stack download had no way to start its server; the README command failed on a fresh download (-pl backend without -am, so shared was never built).
  • Templates were only ever built against 8.0-SNAPSHOT; the post-release bump missed backend-only-pom.xml (8.0-SNAPSHOT) and the pom inside common.zip (7.0.250).

Changes

  • Choices paint as chosen while focused (ChoiceSelectionTest clicks every choice in both themes); picker regrouped.
  • run-server.sh / run-server.bat plus "Run Server" in IntelliJ, VS Code, Eclipse and NetBeans.
  • Initializr pom resolves releases from repo.codenameone.com; the bump script covers all poms and common.zip; template common poms get the JUnit 5 engine the archetype has.
  • initializr-e2e.yml + scripts/initializr/e2e-shipped.sh: each template's download built against the pinned release from an empty Maven repo, server started with run-server.sh, the sample's UI suite run in it. Nightly adds --require-latest.

Known, not fixed here

Surefire 3.0.0-M5 (pinned because the plugin's test provider is built against its API) resolves that provider from Maven Central only, so on any release-based project mvn test/package without -DskipTests fails with "present, but unavailable". The e2e works around it for its suite (see the comment in e2e-shipped.sh); the real fix is a provider for a current Surefire in the plugin.

🤖 Generated with Claude Code

…leased download

- Toggle choices paint as chosen while focused (desktop browsers are not
  pure touch, so the clicked option painted its undefined focus style).
  Picker regrouped into empty apps and complete apps with a server.
- Downloads with a server get run-server.sh/.bat and a "Run Server" entry
  for IntelliJ, VS Code, Eclipse and NetBeans; README server commands fixed
  (-am, so shared is built on a fresh download).
- Initializr pom resolves releases from repo.codenameone.com; the
  post-release bump also updates backend-only-pom.xml and the pom inside
  common.zip; template common poms get the JUnit 5 engine the archetype has.
- New e2e (initializr-e2e.yml, e2e-shipped.sh): generates each template's
  download, builds it against the pinned release from an empty Maven repo,
  starts the server with run-server.sh and runs the sample's UI suite in it.
  Nightly it also fails when the pin is behind the newest release.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
Contributor

Cloudflare Preview

@github-actions

Copy link
Copy Markdown
Contributor

✅ Continuous Quality Report

Test & Coverage

Static Analysis

  • SpotBugs [Report archive]
    • ✅ ByteCodeTranslator: 0 findings (no issues)
    • ✅ android: 0 findings (no issues)
    • ✅ android-compat: 0 findings (no issues)
    • ✅ android-res-compiler: 0 findings (no issues)
    • ✅ backend: 0 findings (no issues)
    • ✅ backend-test: 0 findings (no issues)
    • ✅ build-engine: 0 findings (no issues)
    • ✅ build-hint-catalog: 0 findings (no issues)
    • ✅ build-hint-tools: 0 findings (no issues)
    • ✅ codenameone-gradle-plugin: 0 findings (no issues)
    • ✅ codenameone-maven-plugin: 0 findings (no issues)
    • ✅ core-unittests: 0 findings (no issues)
    • ✅ ios: 0 findings (no issues)
    • ✅ javac: 0 findings (no issues)
    • ✅ project-model: 0 findings (no issues)
  • ✅ PMD: 0 findings (no issues) [Report archive]
  • ✅ Checkstyle: 0 findings (no issues) [Report archive]

Generated automatically by the PR CI workflow.

@shai-almog
shai-almog merged commit 4461ab9 into master Oct 24, 2026
74 of 78 checks passed
@shai-almog
shai-almog deleted the initializr-release-e2e branch October 24, 2026 15:23
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