Hi Andrey,

That is a great change in process. Well done on pushing that through the
pipe as I imagine it was quite a lot of interconnected work (certainly
looks that way based on how many comments are in the issues!)

Jonah

~~~
Jonah Graham (he/him)
Kichwa Coders
www.kichwacoders.com


On Thu, 13 Jul 2023 at 11:33, Andrey Loskutov via jdt-dev <
jdt-...@eclipse.org> wrote:

> 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
> _______________________________________________
> jdt-dev mailing list
> jdt-...@eclipse.org
> To unsubscribe from this list, visit
> https://www.eclipse.org/mailman/listinfo/jdt-dev
>
_______________________________________________
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