Commit Graph
3093 Commits
Author SHA1 Message Date
Ken Dombeck 2900a8d112 Add new cache hashCode feature to changelog 2020-12-08 09:35:51 -06:00
Reinier Zwitserloot 321727559f [trivial] recording ecj fix in changelog 2020-12-04 23:19:52 +01:00
Andre Brait d4c3c5580a Fix typo 2020-12-04 17:37: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
Reinier Zwitserloot b586c543cd [pr #2637] recent versions of ecj double-close the classfile stream, causing corrupt classfiles
Would crash with java.lang.ClassFormatError: Extra bytes at the end of class file de/lomboktest/Application
Fixes https://github.com/mplushnikov/lombok-intellij-plugin/issues/969

figuring out the problem was the hard work - credits to @Rawi01 for discovering this
2020-12-04 04:17:05 +01:00
Reinier Zwitserloot da2c793083 [build] added a publish target for the mapstruct binding jar 2020-12-04 04:15:08 +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 2b35568788 [build] The 'utils' source files had a dep on main which is not okay; I need to address the build so that this causes errors. 2020-12-04 00:52:40 +01:00
Roel Spilker b59db90acf #2616 attempt to have java9 modules and java8 class files 2020-12-04 00:39:54 +01:00
Roel Spilker 6f39ee388c reorder exports 2020-12-03 23:50:47 +01:00
Andre Brait 80133da528 Add documentation for cacheStrategy 2020-12-03 23:41:36 +01:00
Rawi01 965f2367e0 [fixes #2657] Use the correct field to query parent type parameters 2020-12-03 23:40:44 +01:00
Reinier Zwitserloot e1f82ac4d1 [#2645] Fixing the reading of lombok.config on sbt 1.4+ 2020-11-13 04:44:40 +01:00
Reinier Zwitserloot f51be158c7 [website] fixing indents of snippets 2020-11-13 04:44:40 +01:00
Reinier Zwitserloot 3aace094f3 [refactor] reflection code streamlined by sending it through the Permit class 2020-11-13 04:44:39 +01:00
Shane Farmer 219bb4bea5 Update module-info.java
Export the lombok.extern.jackson package
2020-11-12 23:30:26 +01:00
Roel Spilker 2e35148abe fix css class in documentation 2020-11-05 19:57:43 +01:00
Reinier Zwitserloot 28fbff467b [issue #285] Compiling with Maven+Tycho should now work 2020-10-30 04:48:52 +01:00
Roel Spilker 647c36f016 Update changelog 2020-10-29 23:02:50 +01:00
Rawi01 5095cfaac9 [#2612] Set VarSymbol.owner 2020-10-29 22:57:46 +01:00
Rawi01 dfbd843e5a [#2612] VarSymbol.adr is a bit field 2020-10-29 22:57:46 +01:00
Rawi01 f04ee37f6b [#2612] VarSymbol.adr is required for flow analysis in Netbeans 2020-10-29 22:57:46 +01:00
Reinier Zwitserloot bfb9435daa [versioning] post-release version bump 2020-10-15 23:42:03 +02:00
Reinier Zwitserloot 737dc6e433 [versioning] pre-release version bump 2020-10-15 23:24:04 +02:00
Reinier Zwitserloot 065616aea1 [#2599] Completely rewrite how we decide whether it's ecj or eclipse for patching 2020-10-15 23:22:16 +02:00
Roel Spilker bda0da2722 Update changelog 2020-10-15 23:19:58 +02:00
Reinier Zwitserloot b0c5654195 [versioning] post-release version bump 2020-10-09 15:25:31 +02:00
Reinier Zwitserloot 76067c78fb [versioning] pre-release version bump 2020-10-08 20:35:56 +02:00
Reinier Zwitserloot ac3b47d79e Merge branch 'javadoc-fix' of git://github.com/Rawi01/lombok into Rawi01-javadoc-fix
# Conflicts:
#	src/eclipseAgent/lombok/eclipse/agent/PatchJavadoc.java
2020-10-08 20:18:06 +02:00
Reinier Zwitserloot 96d02e66b7 [fixup] Fixing up the checkerframework @CalledMethods annotation package rename from commit 390ebcf 2020-10-08 20:17:22 +02:00
Reinier Zwitserloot fd16774154 Merge pull request #2595 from mernst/rename-builder-to-calledmethods
The Object Construction Checker has been renamed the Called Methods Checker
2020-10-08 20:11:30 +02:00
Reinier Zwitserloot 2666a923e6 [deps] bumped lombok.patcher dep to v0.38, which adds ASM9 support.
This makes lombok better at handling e.g. javac15.
2020-10-08 20:10:52 +02:00
Rawi01 29d34186f7 [fixes #2592] Find ProcessingEnvironment in InteliJ 2020.3 and Kotlin 2020-10-08 14:06:23 +02:00
Michael Ernst 0e7b8c9aee Add Michael Ernst to AUTHORS file 2020-10-04 17:27:31 -07:00
Michael Ernst 390ebcf293 The Object Construction Checker has been renamed the Called Methods Checker 2020-10-04 07:46:37 -07:00
Reinier Zwitserloot 58545cec67 Merge remote-tracking branch 'origin/master'
# Conflicts:
#	src/core/lombok/javac/handlers/HandleEqualsAndHashCode.java
2020-10-03 23:56:41 +02:00
Reinier Zwitserloot 14cce76805 [builder] big refactor: Fixing CheckerFramework features + all params now in an object
These handlers had methods with humongous argument lists, and they needed to grow even more in order
to accommodate some new needs to properly implement checkerframework (where annos can be type-use
based, which means they were being put in the wrong place.

void foo(com.foo.@X Bar paramName) // correct
void foo(@X com.foo.Bar paramName) // wrong

For example, the CalledMethod annotation is a type-use annotation.

This commit covers both that refactor and fixing checkerframework generation.
2020-10-03 23:55:10 +02:00
Reinier Zwitserloot 07e921d2b1 [javac] Added/improved support for the 'receiver parameter' feature 2020-10-03 23:52:15 +02:00
Reinier Zwitserloot 1b534d17d3 Untangling patches to classes that only exist in eclipse, not ecj
Specifically, Rawi01's patches to make javadoc behaviour in eclipse better,
which cannot be applied to ecj as you get load errors (javadoc not a thing there).

As part of this commit, tests can be limited to ecj or eclipse, and I made cut-down
versions of a few tests (to run on ecj, as the main one cannot be, due to javadoc issues).

The tests now marked as eclipse only don't fail on ecj, but they don't generate the same
result. Alternatively, we could go with a separated out after-ecj and after-eclipse dir
instead, but that's perhaps going overboard.
2020-10-03 23:51:33 +02:00
Reinier Zwitserloot eadd3b8cce [checkerframework] they seem to have renamed a lot of their newer features. 2020-10-03 23:45:07 +02:00
Rawi01 4f763367f1 Rename TryWithResourcesVarRef 2020-10-02 18:32:29 +02:00
Roel Spilker 2ba65d105d Cache hashCode:
- Fix bug where 0 would be returned once
- Fix Eclipse position error
- Don't initialize field with default value 0
2020-09-25 00:13:50 +02:00
Andre Brait ee6c0ca7f2 Remove warning for final classes 2020-09-24 22:25:15 +02:00
Andre Brait 8d004c0638 Allow non-final types, use Integer.MIN_VALUE
Allow caching hash code for non-final classes (but will warn)
Use Integer.MIN_VALUE to differentiate uncached and 0 cached
2020-09-24 22:25:15 +02:00
Andre Brait 0808d4271a Remove CacheStrategy compilation unit for javac 2020-09-24 22:25:15 +02:00
Andre Brait 32db0ef710 Generate Pure annotation for cached hashCode 2020-09-24 22:25:15 +02:00
Andre Brait c91a7dc8ca Undo unnecessary change, add TODO 2020-09-24 22:25:15 +02:00
Andre BraitandRawi01 a4866a8d23 Add missing set source/statement start/end
Co-authored-by: Rawi01 <Rawi01@users.noreply.github.com>
2020-09-24 22:25:15 +02:00