aboutsummaryrefslogtreecommitdiff
path: root/buildScripts/setup.ant.xml
AgeCommit message (Collapse)Author
2022-05-20Add support for eclipse feature testsRawi01
2021-03-18[build] the new spi processor didn't handle inner types used as SPI targets.Reinier Zwitserloot
2021-03-16[build] sped up the build considerable.Reinier Zwitserloot
We used to use the mango SPI processor, but this had two major issues: * ecj wouldn't run annotation processors, requiring a separate proc:only compile run with javac * mangoSPI couldn't do incremental compilation, so this required a full rebuild just to generate SPI files, every time. Addressed by updating to IPP40 which does support explicit annotation processors even for ecj, and adding our own SPI generating annotation processor to the build which can deal with incrementals. There are some limits; removing a `@Provides` annotation on an existing type will need a full clean to pick that up, for example. These limits seem quite exotic, though.
2020-12-04[build] build is now far less unreliableReinier Zwitserloot
Tiered compilation used to dump every stage into the same build dir, and included that dir on the classpath, which means any ordering issues introduced into a build aren't going to result in a failed build, thus breaking the build for everybody except those who already had a working lombok in their build dir before starting a build. The opposite of bootstrapping, in other words. Fixed by having each stage build into its own private stage phase.
2020-12-04[build] the build can now autocleanReinier Zwitserloot
autocleaning means that the build system detects that the usual incremental mode, where the build artefacts are not deleted and instead used to skip steps already performed, is not an option due to changes in the build script itself or a change in deps not detectable. It works by having a version number which can be incremented, and a system that checks for mismatches and forces a clean.
2020-09-18[build] eclipse test target for Javac8 fixedReinier Zwitserloot
javac8 has a bizarre dependency situation: we need the stubs in src/stubs there to compile, but if they are there at runtime during a test run of javac8, they take precedence over the JDK's javac (because we include this as a separate cp entry, and thus it is not a bootclasspath item), and messes everything up. The fix is to tell eclipse to compile various src/X folders to different 'bin' targets, which required an update to ivyplusplus as well. also it was just broken in general, fixed that too :)
2020-07-03[build] [wip] the eclipse debug targets still aren't entirely correct.Reinier Zwitserloot
2020-07-03[build] propagate chosen bootclasspath into eclipse test targetsReinier Zwitserloot
2020-07-02[build] fixed a build issue (on 'ant dist') on windows.Reinier Zwitserloot
apparently on windows symlinking requires admin rights because ????? This can be fixed with an explicit update to group policies, which I can't assume anybody working on lombok is going to actually do. /bin/ln in msysgit just copies (interesting choice). I could write a mechanism that tries /bin/ln and if not there, try <copy> instead, either in the build scripts or in ivyplusplus, but that's way too much effort to avoid a 2MB copy. So, for now, we just copy... if more symlinking is to be done later, we'll revisit, though. copying is such a silly waste of time, slowing down the build for no reason.
2020-06-23[build] rewriting the build systemReinier Zwitserloot