Skip to content

Modernization phase 2026 0 - #31

Merged
k2merlinsix merged 2 commits into
mainfrom
modernization-phase-2026-0
Sep 8, 2026
Merged

k2merlinsix merged 2 commits into
mainfrom
modernization-phase-2026-0

Conversation

@k2merlinsix

Copy link
Copy Markdown
Contributor

upgrading java and libraries

Aaron Weikle and others added 2 commits August 27, 2026 06:30
The OpenAPI archetype referenced two artifact versions that were never
published to Maven Central, so scaffolding failed for anyone without the
original build environment:

  - generated pom depended on camel-rest-extensions:0.1.7-SNAPSHOT
    (Maven Central's latest release is 0.1.6)
  - archetype-post-generate.groovy hardcoded
    camel-restdsl-openapi-plugin:0.1.8-SNAPSHOT
    (Maven Central's latest release is 0.1.7)

Both are now pinned to the published releases. This brings the OpenAPI
archetype into line with the scheduled archetype, which already referenced
the released 0.1.6.

Fixing those two exposed a third, independent defect: the archetype's
RoutesImplementation.java template did not import DatasonnetExpression,
while the OpenAPI plugin generates route code that calls it. The plugin
only string-replaces a marker comment and never writes imports, so the
generated project failed to compile regardless of which plugin version
ran. Added the missing import.

Also bumped the copyright year in the modified Groovy file, which the
git-backed license header check derives from file history.

This change deliberately upgrades nothing. Camel, Spring Boot, Java, and
the OpenTelemetry agent are all left where they were; version
modernization is deferred to later phases. The goal here is only to
restore a working baseline.

Verified from a cold cache (~/.m2/repository/com/ms3-inc removed):
full reactor build green including both archetype integration tests, plus
a standalone archetype:generate producing a project that compiles and
packages.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…headers

CI runners (the reason every phase branch would have failed review):

  - actions/setup-java@v1 -> @v4, actions/checkout@v2 -> @v4. The v1/v2
    actions are Node 12/16 era and no longer execute on current GitHub
    runners at all, so these workflows were dead regardless of Java.
  - JDK 11 -> 21 on every build and deploy job. Sources now compile with
    maven.compiler.release 21, so a JDK 11 runner could not build them.
  - Dropped the java: [ '1.8', '11', '15' ] matrix. Those targets are below
    the project baseline and the matrix would have failed on all three legs.

Maven wrapper 3.6.3 -> 3.9.16 (wrapperVersion 3.3.4). Maven 3.6.3 predates
Java 17 and misbehaves on JDK 21, so anyone cloning and running ./mvnw hit
a toolchain older than the code it was building. The refreshed wrapper uses
distributionType=only-script, which removes the checked-in
.mvn/wrapper/maven-wrapper.jar binary - the distribution is fetched by the
script instead. Verified: ./mvnw reports Apache Maven 3.9.16 and builds.

License headers no longer derive their year from git. The header template
used ${license.git.copyrightYears}, computed per file from git history by
license-maven-plugin-git. Editing any file therefore moved its expected
year and failed the build with "Some files do not have the expected license
header" - a message that never explains the cause. It cost time in every
phase so far and would cost it for every contributor.

The template is now a static "2020-2026", the license-maven-plugin-git
dependency is removed, and all existing headers were normalized with
license:format. Consequences: the check is deterministic, and CI no longer
needs fetch-depth: 0 (that setting existed only so the git plugin could
read per-file history), so checkouts are shallow and faster.

Tradeoff accepted: per-file "last modified" accuracy in headers is lost in
exchange for a check that does not fail on every edit. Re-running
license:format after a year bump restores accuracy in one commit.

Not changed: tavros-camel-components still has setup-java@v1 on JDK 11. It
is the retirement candidate in phase 5 and gets no CI work.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@k2merlinsix
k2merlinsix merged commit 5010bd3 into main Sep 8, 2026
3 checks passed
@k2merlinsix
k2merlinsix deleted the modernization-phase-2026-0 branch September 8, 2026 16:49
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