Skip to content

Commit 5a4f545

Browse files
spboltonclaude
andcommitted
fix(ci): use property-based compiler release for core and CLI isolation
PROBLEM: - Command-line -Dmaven.compiler.release=25 overrides ALL property values in POMs - Previous fix using ${dotcms.cli.compiler.release} in CLI POM didn't work - CLI still inherited global override, causing Quarkus/ASM bytecode errors SOLUTION: - Added dotcms.core.compiler.release property (default 11) in parent POM - Core modules reference ${dotcms.core.compiler.release} via maven.compiler.release - CLI modules reference ${dotcms.cli.compiler.release} (default 11) directly - Changed action to pass -Ddotcms.core.compiler.release instead of -Dmaven.compiler.release RESULT: - Override with -Ddotcms.core.compiler.release=25 affects only core modules - CLI always uses release=11 (Quarkus/GraalVM compatible) - Single Maven reactor build, no module exclusions needed - Maintains backward compatibility (both default to 11) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
1 parent a0a2f61 commit 5a4f545

File tree

2 files changed

+10
-7
lines changed

2 files changed

+10
-7
lines changed

.github/actions/core-cicd/maven-job/action.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -233,19 +233,19 @@ runs:
233233
DEFAULT_ARGS="$DEFAULT_ARGS -Pnative"
234234
fi
235235
236-
# Add Maven compiler release override flag
236+
# Add Maven compiler release override flag for core modules
237237
# Priority: explicit maven-compiler-release > default from java-version major > project defaults
238-
# Note: CLI modules use dotcms.cli.compiler.release property (hardcoded to 21) for Quarkus/GraalVM compatibility
238+
# Note: Core modules use dotcms.core.compiler.release (default 11), CLI uses dotcms.cli.compiler.release (default 11) for Quarkus/GraalVM compatibility
239239
COMPILER_ARGS=""
240240
if [[ -n "${{ inputs.maven-compiler-release }}" ]]; then
241241
# Explicit release override takes precedence
242-
COMPILER_ARGS="-Dmaven.compiler.release=${{ inputs.maven-compiler-release }}"
243-
echo "Using explicit maven.compiler.release=${{ inputs.maven-compiler-release }}"
242+
COMPILER_ARGS="-Ddotcms.core.compiler.release=${{ inputs.maven-compiler-release }}"
243+
echo "Using explicit dotcms.core.compiler.release=${{ inputs.maven-compiler-release }}"
244244
elif [[ -n "${{ inputs.java-version }}" ]]; then
245245
# Default compiler release to match the overridden Java version
246246
JAVA_MAJOR=$(echo "${{ inputs.java-version }}" | grep -oE '^[0-9]+')
247-
COMPILER_ARGS="-Dmaven.compiler.release=${JAVA_MAJOR}"
248-
echo "Defaulting maven.compiler.release=${JAVA_MAJOR} to match java-version"
247+
COMPILER_ARGS="-Ddotcms.core.compiler.release=${JAVA_MAJOR}"
248+
echo "Defaulting dotcms.core.compiler.release=${JAVA_MAJOR} to match java-version"
249249
fi
250250
251251
FINAL_ARGS=$(echo "$DEFAULT_ARGS $COMPILER_ARGS $MAVEN_ARGS" | tr ' ' '\n' | awk '!seen[$0]++' | tr '\n' ' ')

parent/pom.xml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,10 @@
2626
support new version default in environments/environment.properties and can be changed for local developer in
2727
environments/dev/user-dev.properties -->
2828
<!--suppress UnresolvedMavenProperty -->
29-
<maven.compiler.release>11</maven.compiler.release>
29+
<!-- Core modules compiler release - can be overridden via -Ddotcms.core.compiler.release
30+
Defaults to 11 to maintain current bytecode compatibility -->
31+
<dotcms.core.compiler.release>11</dotcms.core.compiler.release>
32+
<maven.compiler.release>${dotcms.core.compiler.release}</maven.compiler.release>
3033
<maven.compiler.source>${maven.compiler.release}</maven.compiler.source>
3134
<maven.compiler.target>${maven.compiler.release}</maven.compiler.target>
3235
<maven.compiler.testSource>${maven.compiler.source}</maven.compiler.testSource>

0 commit comments

Comments
 (0)