Age | Commit message (Collapse) | Author |
|
On windows, Eclipse keeps annotation processors open, which means putting spiProcessor in 'build' is annoying, as you can't delete open files on windows. Fixed by moving it to dist
|
|
|
|
|
|
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.
|
|
hurt.
|
|
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.
|
|
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.
|
|
|
|
java8 class files.
|
|
|
|
|
|
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.
|
|
|
|
|
|
processor is now the core processor that farms out the work to context-specific implementations.
|
|
|
|
BOTH netbeans AND eclipse, and is future-ready for an IntelliJ agent.
|
|
netbeans agent. Will need to find a solution for a generic be-everything agent.
|
|
|
|
now actually compiled. heh.
|
|
bits are JVM1.6) being interdependent and causing implicit compilation warnings.
Also added source="1.x" to all ant file javac targets, as apparently this needs to be there when compiling with JDK7.
|
|
|
|
|
|
fetch and unpack findbugs from its sourceforge repository. Still need to figure out how to maintain a list of findbugs warnings that findbugs should be ignoring.
|
|
the lombok/javac build triggers building everything, making lombok dependent on 1.6, which is not good for eclipse.
|
|
|
|
|
|
now done automatically by this script, which also means that e.g. lombok-patcher.jar no longer needs to be checked in.
|
|
installs, is a javac apt processor, and an agent, all at once.
|
|
scripts. The scripts have also gained the ability to build certain dependencies, such as lombok.patcher which is being worked on in tandem with this project, automatically.
Also, the deps system has been changed slightly; the agents builds and the main lombok build now all work off of a single dependency directory.
Also removed the website/publish script, as we haven't used github's project hosting for some time now.
|