Branch: refs/heads/master
Home:
https://github.com/codenameone/CodenameOne
Commit: 2bfce5f5299cae04c2f4559fe94aaf9c7caaaf41
https://github.com/codenameone/CodenameOne/commit/2bfce5f5299cae04c2f4559fe94aaf9c7caaaf41
Author: Shai Almog <
67850168+...@users.noreply.github.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M maven/codenameone-maven-plugin/src/main/java/com/codename1/maven/BytecodeComplianceMojo.java
M maven/codenameone-maven-plugin/src/test/java/com/codename1/maven/BytecodeComplianceMojoTest.java
Log Message:
-----------
Fix BytecodeComplianceMojo skipping checks on recompiled classes (#5216)
The compliance skip-gate compared only source mtimes against the
compliance_check.txt marker. The check's invocation rewrites
(String.replaceAll/replaceFirst/split -> JdkApiRewriteHelper) mutate
target/classes in place, so a later compile pass that regenerates the
classes with unchanged sources silently sheds the rewrites and the gate
keeps skipping. The unrewritten bytecode then reaches ParparVM, which
emits calls to virtual_java_lang_String_replaceAll etc. that its
JavaAPI never declares, failing iOS builds deep inside xcodebuild.
The skip is now only taken when, in addition to unchanged sources:
- no .class under the output directory (or the kotlin-ic incremental
output tree) is newer than the marker. The marker is written after
the rewrites, so an untouched output tree still skips and there is
no always-rerun regression; the rewrites themselves are idempotent.
- the marker records a success. Previously a rerun after a FAILED
check skipped straight past the violations that had just failed the
build. The failure header is now a shared constant so the report
writer and the gate cannot drift apart.
Verified end-to-end on scripts/hellocodenameone: unchanged second run
still skips; touching a compiled class triggers a full re-run.
Co-authored-by: Claude Fable 5 <
nor...@anthropic.com>
To unsubscribe from these emails, change your notification settings at
https://github.com/codenameone/CodenameOne/settings/notifications