12 Commits

Author SHA1 Message Date
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
Roel Spilker 3d43feb2c0 Help eclipse compile >java6 code 2021-12-20 22:22:09 +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 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 f6a6f9deb5 [trivial] [typo] 2020-09-18 03:43:42 +02:00
Reinier Zwitserloot 9d45a506b1 [build] eclipse test target for Javac8 fixed
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-09-18 01:00:24 +02:00
Reinier Zwitserloot 2f397d7c95 [tests] only add agent VM args for ECJ/Eclipse tests 2020-07-23 23:40:33 +02:00
Reinier Zwitserloot 88d4c1e54c [build] [wip] the eclipse debug targets still aren't entirely correct. 2020-07-03 17:50:44 +02:00
Reinier Zwitserloot cb7e4a9ef3 [build] propagate chosen bootclasspath into eclipse test targets 2020-07-03 05:34:30 +02:00
Reinier Zwitserloot 0f1c950b77 [build] [mapstructBinding] 2020-06-25 23:31:13 +02:00
Reinier Zwitserloot 0bbedd092a [build] rewriting the build system 2020-06-23 15:55:18 +02:00