aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore3
-rw-r--r--build.xml40
-rw-r--r--buildScripts/ivy.xml15
-rw-r--r--buildScripts/supporters.ant.xml57
-rw-r--r--buildScripts/website.ant.xml14
-rw-r--r--doc/changelog.markdown6
-rw-r--r--src/core/lombok/bytecode/ClassFileMetaData.java7
-rw-r--r--src/core/lombok/core/AnnotationProcessor.java19
-rw-r--r--src/core/lombok/core/LombokInternalAliasing.java3
-rw-r--r--src/core/lombok/core/configuration/AllowHelper.java6
-rw-r--r--src/core/lombok/core/handlers/HandlerUtil.java13
-rw-r--r--src/core/lombok/eclipse/handlers/EclipseHandlerUtil.java53
-rw-r--r--src/core/lombok/eclipse/handlers/HandleBuilder.java5
-rw-r--r--src/core/lombok/eclipse/handlers/HandleBuilderDefault.java23
-rw-r--r--src/core/lombok/eclipse/handlers/HandleEqualsAndHashCode.java61
-rw-r--r--src/core/lombok/eclipse/handlers/HandleVal.java14
-rw-r--r--src/core/lombok/eclipse/handlers/SetGeneratedByVisitor.java5
-rw-r--r--src/core/lombok/experimental/Builder.java149
-rw-r--r--src/core/lombok/experimental/Value.java62
-rw-r--r--src/core/lombok/experimental/var.java5
-rw-r--r--src/core/lombok/javac/JavacAST.java2
-rw-r--r--src/core/lombok/javac/apt/InterceptingJavaFileManager.java10
-rw-r--r--src/core/lombok/javac/apt/LombokProcessor.java30
-rw-r--r--src/core/lombok/javac/handlers/HandleBuilder.java8
-rw-r--r--src/core/lombok/javac/handlers/HandleBuilderDefault.java24
-rw-r--r--src/core/lombok/javac/handlers/HandleEqualsAndHashCode.java21
-rw-r--r--src/core/lombok/javac/handlers/HandleVal.java12
-rw-r--r--src/core/lombok/javac/handlers/HandleValue.java9
-rw-r--r--src/core/lombok/javac/handlers/JavacHandlerUtil.java86
-rw-r--r--src/core/lombok/var.java35
-rw-r--r--src/core9/module-info.java38
-rw-r--r--src/delombok/lombok/delombok/DocCommentIntegrator.java4
-rw-r--r--src/eclipseAgent/lombok/eclipse/agent/PatchVal.java4
-rw-r--r--src/eclipseAgent/lombok/eclipse/agent/PatchValEclipse.java4
-rw-r--r--src/j9stubs/org/mapstruct/ap/spi/AstModifyingAnnotationProcessor.java48
-rw-r--r--src/launch/lombok/launch/AnnotationProcessor.java29
-rw-r--r--src/utils/lombok/javac/Javac.java27
-rw-r--r--test/transform/resource/after-delombok/BuilderChainAndFluent.java32
-rw-r--r--test/transform/resource/after-delombok/EqualsAndHashCodeWithGenericsOnInners.java28
-rw-r--r--test/transform/resource/after-delombok/JavadocGenerally.java3
-rw-r--r--test/transform/resource/after-delombok/ValueExperimental.java46
-rw-r--r--test/transform/resource/after-delombok/ValueExperimentalStarImport.java25
-rw-r--r--test/transform/resource/after-delombok/VarWarning.java6
-rw-r--r--test/transform/resource/after-ecj/BuilderChainAndFluent.java25
-rw-r--r--test/transform/resource/after-ecj/BuilderComplex.java2
-rw-r--r--test/transform/resource/after-ecj/EqualsAndHashCodeWithGenericsOnInners.java32
-rw-r--r--test/transform/resource/after-ecj/ValueExperimental.java39
-rw-r--r--test/transform/resource/after-ecj/ValueExperimentalStarImport.java20
-rw-r--r--test/transform/resource/after-ecj/VarComplex.java2
-rw-r--r--test/transform/resource/after-ecj/VarInFor.java2
-rw-r--r--test/transform/resource/after-ecj/VarInForOld.java2
-rw-r--r--test/transform/resource/after-ecj/VarNullInit.java2
-rw-r--r--test/transform/resource/after-ecj/VarWarning.java10
-rw-r--r--test/transform/resource/before/BuilderChainAndFluent.java4
-rw-r--r--test/transform/resource/before/BuilderComplex.java2
-rw-r--r--test/transform/resource/before/EqualsAndHashCodeWithGenericsOnInners.java6
-rw-r--r--test/transform/resource/before/JavadocGenerally.java3
-rw-r--r--test/transform/resource/before/ValueExperimental.java9
-rw-r--r--test/transform/resource/before/ValueExperimentalStarImport.java5
-rw-r--r--test/transform/resource/before/VarComplex.java3
-rw-r--r--test/transform/resource/before/VarInFor.java3
-rw-r--r--test/transform/resource/before/VarInForOld.java3
-rw-r--r--test/transform/resource/before/VarInForOldMulti.java10
-rw-r--r--test/transform/resource/before/VarModifier.java1
-rw-r--r--test/transform/resource/before/VarNullInit.java3
-rw-r--r--test/transform/resource/before/VarWarning.java3
-rw-r--r--test/transform/resource/messages-delombok/VarInForOldMulti.java.messages1
-rw-r--r--test/transform/resource/messages-delombok/VarNullInit.java.messages2
-rw-r--r--test/transform/resource/messages-delombok/VarWarning.java.messages2
-rw-r--r--test/transform/resource/messages-ecj/BuilderComplex.java.messages1
-rw-r--r--test/transform/resource/messages-ecj/ValInTryWithResources.java.messages1
-rw-r--r--test/transform/resource/messages-ecj/ValueExperimental.java.messages1
-rw-r--r--test/transform/resource/messages-ecj/VarInForOldMulti.java.messages1
-rw-r--r--test/transform/resource/messages-ecj/VarModifier.java.messages3
-rw-r--r--test/transform/resource/messages-ecj/VarNullInit.java.messages2
-rw-r--r--test/transform/resource/messages-ecj/VarWarning.java.messages2
-rw-r--r--website/extra/htaccess10
-rw-r--r--website/resources/W8BEN_lombok.pdfbin0 -> 60743 bytes
-rw-r--r--website/resources/css/custom.css100
-rw-r--r--website/resources/files/supporters.json13
-rw-r--r--website/resources/img/spinner.gifbin0 -> 828 bytes
-rw-r--r--website/resources/js/main.js2
-rw-r--r--website/resources/js/order-license.js231
-rw-r--r--website/resources/js/supporters.js221
-rw-r--r--website/templates/_scaffold.html18
-rw-r--r--website/templates/contributing.html5
-rw-r--r--website/templates/features/index.html4
-rw-r--r--website/templates/features/var.html (renamed from website/templates/features/experimental/var.html)22
-rw-r--r--website/templates/main.html13
-rw-r--r--website/templates/order-license-info.html31
-rw-r--r--website/templates/order-license.html151
-rw-r--r--website/templates/setup/intellij.html2
-rw-r--r--website/templates/setup/javac.html12
-rw-r--r--website/templates/setup/vscode.html18
-rw-r--r--website/templates/supporters.html10
95 files changed, 1556 insertions, 605 deletions
diff --git a/.gitignore b/.gitignore
index b05ce2c6..49316515 100644
--- a/.gitignore
+++ b/.gitignore
@@ -19,4 +19,5 @@
/junit*.properties
/eclipse.location
/.apt_generated/
-/out \ No newline at end of file
+/out
+/website/lombokSupporters
diff --git a/build.xml b/build.xml
index 633d7922..645114a7 100644
--- a/build.xml
+++ b/build.xml
@@ -1,5 +1,5 @@
<!--
- Copyright (C) 2010-2017 The Project Lombok Authors.
+ Copyright (C) 2010-2018 The Project Lombok Authors.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
@@ -118,6 +118,11 @@ the common tasks and can be called on to run the main aspects of all the sub-scr
<ivy:retrieve />
</target>
+ <target name="ensureSupportersDeps" depends="config-ivy">
+ <ivy:resolve file="buildScripts/ivy.xml" refresh="true" conf="supporters" />
+ <ivy:retrieve />
+ </target>
+
<target name="version" depends="ensure-ipp" description="Shows the version number." unless="lombok.version">
<mkdir dir="build/lombok" />
<ivy:compile destdir="build/lombok" source="1.5" target="1.5" ecj="true" nowarn="true">
@@ -174,6 +179,7 @@ the common tasks and can be called on to run the main aspects of all the sub-scr
<ivy:compile destdir="build/lombok-utils" source="1.6" target="1.6">
<compilerarg value="-Xbootclasspath/p:build/stubs${path.separator}lib/openJDK6Environment/rt-openjdk6.jar" />
+ <compilerarg value="-Xlint:-options" />
<src path="src/utils" />
<include name="lombok/javac/**" />
<classpath location="build/lombok-utils" />
@@ -195,17 +201,17 @@ the common tasks and can be called on to run the main aspects of all the sub-scr
</lineContainsRegExp>
</filterchain>
</copy>
-
+
<ivy:compile destdir="build/lombok" source="1.4" target="1.4" ecj="true" nowarn="true" includeSystemBootclasspath="true">
<bootclasspath location="build/stubs" />
<src path="build/transformedSources" />
</ivy:compile>
-
+
<ivy:compile destdir="build/lombok/Class50" source="1.4" target="1.6" ecj="true" nowarn="true" includeSystemBootclasspath="true">
<bootclasspath location="build/stubs" />
<src path="build/transformedSources" />
</ivy:compile>
-
+
<ivy:compile destdir="build/lombok" source="1.5" target="1.5" ecj="true" nowarn="true" includeSystemBootclasspath="true">
<bootclasspath location="build/stubs" />
<src path="src/launch" />
@@ -218,6 +224,15 @@ the common tasks and can be called on to run the main aspects of all the sub-scr
<classpath refid="build.path" />
</ivy:compile>
+ <ivy:compile destdir="build/lombok" source="1.9" target="1.9">
+ <compilerarg value="-Xlint:none" />
+ <!-- The above is because javac9 warns about 'service interface provided but not exported or used', probably because lombok uses SPI internally, and uses the 'old' classpath discovery system for it. We're fine with this, hence, ignore this warning. -->
+ <src path="src/core9" />
+ <src path="src/j9stubs" />
+ <!-- This includes org.mapstruct.ap.spi.AstModifyingAnnotationProcessor; putting this on the classpath doesn't work (needs to be internal or a module) so we just add it and then delete the class file for convenience. -->
+ </ivy:compile>
+ <delete file="build/lombok/org/mapstruct/ap/spi/AstModifyingAnnotationProcessor.class" />
+
<ivy:compile destdir="build/lombok/Class50" source="1.5" target="1.6" ecj="true" nowarn="true" includeSystemBootclasspath="true">
<bootclasspath location="build/stubs" />
<src path="src/eclipseAgent" />
@@ -228,6 +243,7 @@ the common tasks and can be called on to run the main aspects of all the sub-scr
<ivy:compile destdir="build/lombok" source="1.6" target="1.6">
<compilerarg value="-Xbootclasspath/p:build/stubs${path.separator}lib/openJDK6Environment/rt-openjdk6.jar" />
+ <compilerarg value="-Xlint:-options" />
<src path="src/core" />
<src path="src/delombok" />
<include name="lombok/javac/**" />
@@ -281,6 +297,7 @@ lombok.launch.AnnotationProcessorHider$ClaimingProcessor</echo>
<fileset dir="." includes="AUTHORS" />
<fileset dir="." includes="release-timestamp.txt" />
<fileset dir="build/lombok">
+ <include name="module-info.class" />
<include name="lombok/*.class" />
<include name="lombok/experimental/**" />
<include name="lombok/extern/**" />
@@ -291,6 +308,7 @@ lombok.launch.AnnotationProcessorHider$ClaimingProcessor</echo>
<mappedresources>
<fileset dir="build/lombok">
<exclude name="com/sun/tools/javac/**" />
+ <exclude name="module-info.class" />
<exclude name="lombok/*.class" />
<exclude name="lombok/javac/apt/Processor.class" />
<exclude name="lombok/experimental/**" />
@@ -876,7 +894,17 @@ You can also create your own by writing a 'testenvironment.properties' file. The
</ant>
</target>
- <target name="website-only-publish" depends="config-ssh, clean"
+ <target name="website-supporters" depends="ensureSupportersDeps, website-only" description="Updates the supporters repo and adds it to the website build.">
+ <ant antfile="buildScripts/supporters.ant.xml" target="deployToWebsiteBuild" inheritAll="false" />
+ </target>
+
+ <target name="website-supporters-fast" depends="website-only" description="Updates the supporters repo and adds it to the website build.">
+ <ant antfile="buildScripts/supporters.ant.xml" target="deployToWebsiteBuild" inheritAll="false">
+ <property name="noUpdateRepo" value="true" />
+ </ant>
+ </target>
+
+ <target name="website-only-publish" depends="config-ssh, clean, ensureSupportersDeps"
description="Prepares the website (using lombok version current 'live') for distribution and then publishes it to projectlombok.org.">
<ant antfile="buildScripts/website.ant.xml" target="website-only-publish" inheritAll="false">
<property name="ssh.username" value="${ssh.username}" />
@@ -884,7 +912,7 @@ You can also create your own by writing a 'testenvironment.properties' file. The
</ant>
</target>
- <target name="website-publish" depends="config-ssh, clean, version"
+ <target name="website-publish" depends="config-ssh, clean, version, ensureSupportersDeps"
description="Prepares the website for distribution and then publishes it to projectlombok.org.">
<ant antfile="buildScripts/website.ant.xml" target="website-publish" inheritAll="false">
<property name="lombok.version" value="${lombok.version}" />
diff --git a/buildScripts/ivy.xml b/buildScripts/ivy.xml
index 81f50f4c..a27c909e 100644
--- a/buildScripts/ivy.xml
+++ b/buildScripts/ivy.xml
@@ -14,6 +14,7 @@
<conf name="ecj9" />
<conf name="javac6" />
<conf name="javac7" />
+ <conf name="supporters" />
</configurations>
<dependencies>
<dependency org="org.projectlombok" name="lombok.patcher" rev="0.24" conf="buildBase->default; runtime->default" />
@@ -22,10 +23,10 @@
<dependency org="junit" name="junit" rev="4.8.2" conf="test->default; contrib->sources" />
<dependency org="log4j" name="log4j" rev="1.2.16" conf="test->default; contrib->sources" />
<dependency org="org.apache.logging.log4j" name="log4j-api" rev="2.0-beta4" conf="test->default; contrib->sources" />
- <dependency org="commons-logging" name="commons-logging" rev="1.1.1" conf="test->default; contrib->sources"/>
- <dependency org="org.slf4j" name="slf4j-api" rev="1.6.1" conf="test->default; contrib->sources"/>
- <dependency org="org.slf4j" name="slf4j-ext" rev="1.6.1" conf="test->default; contrib->sources"/>
- <dependency org="org.jboss.logging" name="jboss-logging" rev="3.3.0.Final" conf="test->default; contrib->sources"/>
+ <dependency org="commons-logging" name="commons-logging" rev="1.1.1" conf="test->default; contrib->sources" />
+ <dependency org="org.slf4j" name="slf4j-api" rev="1.6.1" conf="test->default; contrib->sources" />
+ <dependency org="org.slf4j" name="slf4j-ext" rev="1.6.1" conf="test->default; contrib->sources" />
+ <dependency org="org.jboss.logging" name="jboss-logging" rev="3.3.0.Final" conf="test->default; contrib->sources" />
<dependency org="com.google.guava" name="guava" rev="18.0" conf="test->default; contrib->sources" />
<dependency org="com.google.code.findbugs" name="findbugs" rev="3.0.0" conf="test->master" />
@@ -56,5 +57,11 @@
<dependency org="org.eclipse.custom" name="osgi" rev="3.9.0" conf="eclipseBuild->default; contrib->sources" />
<dependency org="org.eclipse.custom" name="core.resources" rev="3.8.100" conf="eclipseBuild->default; contrib->sources" />
<dependency org="org.eclipse.custom" name="core.jobs" rev="3.5.300" conf="eclipseBuild->default; contrib->sources" />
+
+ <dependency org="org.eclipse.jgit" name="org.eclipse.jgit.ant" rev="4.11.0.201803080745-r" conf="supporters->default" />
+ <dependency org="org.eclipse.jgit" name="org.eclipse.jgit" rev="4.11.0.201803080745-r" conf="supporters->default" />
+ <dependency org="com.jcraft" name="jsch" rev="0.1.54" conf="supporters->default" />
+ <dependency org="com.rimerosolutions.ant" name="ant-git-tasks" rev="1.3.2" conf="supporters->default" />
+ <dependency org="org.slf4j" name="slf4j-simple" rev="1.6.1" conf="supporters->default" />
</dependencies>
</ivy-module>
diff --git a/buildScripts/supporters.ant.xml b/buildScripts/supporters.ant.xml
new file mode 100644
index 00000000..d1d3fedc
--- /dev/null
+++ b/buildScripts/supporters.ant.xml
@@ -0,0 +1,57 @@
+<!--
+ Copyright (C) 2010-2017 The Project Lombok Authors.
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ THE SOFTWARE.
+-->
+<project name="lombok-supporters" default="updateRepo" basedir=".." xmlns:ivy="antlib:com.zwitserloot.ivyplusplus" xmlns:git="antlib:com.rimerosolutions.ant.git">
+ <description>
+This buildfile is part of projectlombok.org. It is responsible for updating/maintaining the separate git repository
+containing the status of lombok's supporters.
+ </description>
+
+ <path id="supporters.path">
+ <fileset dir="lib/supporters">
+ <include name="*.jar" />
+ </fileset>
+ </path>
+
+ <taskdef uri="antlib:com.rimerosolutions.ant.git" resource="com/rimerosolutions/ant/git/jgit-ant-lib.xml" classpathref="supporters.path" />
+
+ <target name="checkIfRepoExists">
+ <available file="website/lombokSupporters/.git/