Commit Graph

36 Commits

Author SHA1 Message Date
Reinier Zwitserloot 566dfe73ca [build] final touches on updating deployment to new cloudflare host 2023-02-03 03:54:46 +01:00
Reinier Zwitserloot 5e8337f457 [Fixes #3179] createMavenECJBootstrap was broken 2022-04-21 14:17:47 +02:00
Reinier Zwitserloot 05493887f6 [build] It was ever so slightly broken since last commit. fixed. 2022-04-04 02:49:00 +02:00
Reinier Zwitserloot c8607ba782 [#3143] Review and update jopatai's work on the maven/ecj agent jar
* Update copyright headers
* Update code style (tabs, not spaces, spaces around + operator - that's about it)
* Use `x.class.getResourceAsStream`, not `x.getClass().` - minor mostly irrelevant nit.
* Rename and re-locate the jar itself.
* 'ecj' as an alias for this command seems a bit too cavalier' removed it.
* The source is in its own 'root' src dir, it doesn't really fit in the eclipse agent sources - it's more a maven agent.
* Fixed a bug where a filehandle wasn't safe closed. Mostly irrelevant (JVM would quite afterwards anyway).
* Slight rewording of the ecj docs.
2022-04-02 06:12:50 +02:00
JohnPaulTaylorII 110434ff60 [fixes #3143] Maven+ECJ Agent Bootstrap
* Adds AgentBootstrap, the actual bootstrapping agent
* Adds MavenEcjBootstrapApp, the command line app for generating the
appropriate files
* Updates the build to package these correctly
* Updates the documentation for setup/ecj
2022-03-18 17:10:08 -04:00
Reinier Zwitserloot 251b7541b7 [build] broke the distribution. 2021-03-19 03:28:31 +01:00
Reinier Zwitserloot 0c6a243c8e [build] quality-of-life improvements for lombok dev on windows
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
2021-03-19 02:14:24 +01:00
Reinier Zwitserloot 6723525c4a [testing] unbroke 'ant test.javac8'. 2021-03-19 02:14:24 +01:00
Reinier Zwitserloot 58693486f0 [build] Fixed the ant eclipse and ant intellij targets. 2021-03-17 12:46:34 +01:00
Reinier Zwitserloot 476a43b970 [build] sped up the build considerable.
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.
2021-03-16 17:09:13 +01:00
Reinier Zwitserloot 8ba5df7161 [trivial] hey, setting automatic module name is probably a good idea. Can't hurt. 2020-12-22 19:31:53 +01:00
Reinier Zwitserloot 734b91ea97 [build] build is now far less unreliable
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 07:16:19 +01:00
Reinier Zwitserloot ea442e676c [build] the build can now autoclean
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-12-04 07:14:14 +01:00
Reinier Zwitserloot 59bf969500 [build] bugfix for mapstructBinding build 2020-12-04 05:01:58 +01:00
Roel Spilker 8cfe4c73fa [build] #2616 have lombok-mapstruct-binding contain a java module file and java8 class files. 2020-12-04 01:14:38 +01:00
Reinier Zwitserloot a0eb13a478 [test] bugfix for the 'dist' step 2020-07-23 23:51:50 +02:00
Reinier Zwitserloot cb7e4a9ef3 [build] propagate chosen bootclasspath into eclipse test targets 2020-07-03 05:34:30 +02:00
Reinier Zwitserloot 88918e9eb3 [build] fixed a build issue (on 'ant dist') on windows.
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-07-02 23:34:54 +02:00
Reinier Zwitserloot 0bbedd092a [build] rewriting the build system 2020-06-23 15:55:18 +02:00
Reinier Zwitserloot e693672cd4 Changed build system to ivy. 2010-07-12 23:48:02 +02:00
Reinier Zwitserloot e56395a49f ecj prep: lombok.jar is now also a dynamic agent, and the main annotation processor is now the core processor that farms out the work to context-specific implementations. 2009-12-23 03:36:05 +01:00
Reinier Zwitserloot a9c1c99d4e Added -Xlint:unchecked to ant compile. 2009-12-12 14:28:20 +01:00
Reinier Zwitserloot 199f7f74fd Generalized the agent mechanism; now 1 lombok.jar can serve as the agent for BOTH netbeans AND eclipse, and is future-ready for an IntelliJ agent. 2009-12-01 13:53:07 +01:00
Reinier Zwitserloot 9fb4c3a424 Added compiling of src/netbeansAgent, and temporarily set Agent-Class to netbeans agent. Will need to find a solution for a generic be-everything agent. 2009-12-01 00:24:33 +01:00
Reinier Zwitserloot ad09ad1d29 The licence file is now also copied into the jar, as well as to the website. 2009-11-28 09:27:12 +01:00
Reinier Zwitserloot 4eaf936df5 Fix on the previous commit involving the compile build script: delombok is now actually compiled. heh. 2009-11-27 13:54:41 +01:00
Reinier Zwitserloot 44d6a6b662 Solved the problem in the two-phase compile (some of lombok is JVM1.5, other 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.
2009-11-27 12:10:10 +01:00
Reinier Zwitserloot 9b55af61db Added delombok to the build scripts. 2009-11-27 09:49:21 +01:00
Reinier Zwitserloot 1a0e611a9c Refactored the source folders. 2009-11-25 07:32:49 +01:00
Reinier Zwitserloot 9830a2ba02 Added a findbugs ant target, along with an installDeps job to automatically 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. 2009-11-08 22:09:49 +01:00
Reinier Zwitserloot 4609d8f411 Whoops - previous includeDestClasses change actually breaks the build, as the lombok/javac build triggers building everything, making lombok dependent on 1.6, which is not good for eclipse. 2009-10-18 20:08:58 +02:00
Reinier Zwitserloot ab103bdec0 Slight fix to generation of SPI files during repeated builds. 2009-10-17 14:01:54 +02:00
Reinier Zwitserloot e56d838691 Fixes to the buildScripts, and disableCheckedExceptions now works. 2009-10-17 13:20:24 +02:00
Reinier Zwitserloot 70a0f6e84c Pretty big revamp of the build script system. Downloading dependencies is now done automatically by this script, which also means that e.g. lombok-patcher.jar no longer needs to be checked in. 2009-10-13 15:15:53 +02:00
Reinier Zwitserloot 310862d94e Integrated lombok.jar and lombok.eclipse.agent.jar into one jar that installs, is a javac apt processor, and an agent, all at once. 2009-10-11 07:54:25 +02:00
Reinier Zwitserloot 1f9d6089cd build.xml was getting rather large, so its been split up into separate 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.
2009-10-07 20:48:07 +02:00