Hi all,

with [1] we have now immediate feedback loop on ecj compiler changes (in 
org.eclipse.jdt.core.compiler.batch [2]).
Before changes in [1] we only (manually) updated compiler after every 
milestone/release build.

What does it mean now: on any compiler code change the ecj compiler is re-built 
from sources and used as compiler for the rest of the build.

This has following immediate consequences:

1) If we push PR to jdt.core github repo, we build ecj in Jenkins from PR 
commit first and use that ecj to build the rest of JDT code for this PR. If we 
break compiler (without noticing that in tests), Jenkins may fail immediately 
just by compiling JDT code.
2) If we merge commits to master branch of jdt.core github repo, following 
platform aggregator builds in Jenkins & next nightly platform SDK build will 
use JDT head commit to build ecj and use that ecj to build the rest of the 
platform SDK code.
3) If we change the way how ecj generates bytecode (like in [3]), next SDK 
build might be declared "unstable" (because build would produce different 
binaries for bundles with no changes in source code). In such case the affected 
bundles source code need to be "touched" to get "stable" SDK build (assuming 
ecj produces correct code). Should it be the worst case and ecj would produce 
wrong bytecode, we have either to fix compiler for the next SDK build or just 
revert offending compiler commit. I hope this shouldn't happen often, but it is 
better *we* detect bad change and not downstream consumers.

With the points above we hope to get faster feedback on ecj compiler changes.

[1] 
https://github.com/eclipse-platform/eclipse.platform.releng.aggregator/issues/1203
[2] 
https://github.com/eclipse-jdt/eclipse.jdt.core/tree/master/org.eclipse.jdt.core.compiler.batch
[3] https://github.com/eclipse-jdt/eclipse.jdt.core/pull/1139

-- 
Kind regards,
Andrey Loskutov

Спасение утопающих - дело рук самих утопающих

https://www.eclipse.org/user/aloskutov
_______________________________________________
platform-dev mailing list
platform-dev@eclipse.org
To unsubscribe from this list, visit 
https://www.eclipse.org/mailman/listinfo/platform-dev

Reply via email to