From 0bbedd092a1f0f506d106943b4b400c7986c5f36 Mon Sep 17 00:00:00 2001 From: Reinier Zwitserloot Date: Fri, 29 May 2020 00:17:20 +0200 Subject: [build] rewriting the build system --- build.xml | 1158 +------------------- buildScripts/build-support.ant.xml | 113 ++ buildScripts/compile.ant.xml | 309 ++++++ buildScripts/create-eclipse-project.ant.xml | 182 +++ buildScripts/create-intellij-project.ant.xml | 59 + buildScripts/eclipse-debug-target.template | 35 - buildScripts/eclipse-p2.ant.xml | 43 +- buildScripts/eclipse-run-tests.template | 30 - buildScripts/info.ant.xml | 306 ++++++ ...t.java.openjdk.custom-javac11-11_2018-09-25.xml | 13 + ...t.java.openjdk.custom-javac13-13_2019-09-17.xml | 12 + ...ava.openjdk.custom-javac14-14-ea_2020-03-17.xml | 12 + .../net.java.openjdk.custom-javac8-1.8.0.xml | 12 + .../org.eclipse.custom-core.jobs-3.5.200.xml | 14 - .../org.eclipse.custom-core.jobs-3.5.300.xml | 14 - .../org.eclipse.custom-core.resources-3.7.0.xml | 14 - .../org.eclipse.custom-core.resources-3.8.100.xml | 14 - .../org.eclipse.custom-core.runtime-3.6.0.xml | 14 - .../org.eclipse.custom-core.runtime-3.9.0.xml | 14 - .../ivy-repo/org.eclipse.custom-ecj-3.6.2.xml | 14 - .../ivy-repo/org.eclipse.custom-ecj-4.3.1.xml | 14 - .../ivy-repo/org.eclipse.custom-ecj-I20140430.xml | 14 - .../org.eclipse.custom-equinox.common-3.6.0.xml | 14 - .../org.eclipse.custom-equinox.common-3.6.200.xml | 14 - .../ivy-repo/org.eclipse.custom-jdt.core-3.6.0.xml | 14 - .../ivy-repo/org.eclipse.custom-jdt.core-3.9.1.xml | 14 - .../ivy-repo/org.eclipse.custom-jdt.ui-3.6.0.xml | 14 - .../ivy-repo/org.eclipse.custom-jdt.ui-3.9.1.xml | 14 - .../ivy-repo/org.eclipse.custom-osgi-3.6.0.xml | 14 - .../ivy-repo/org.eclipse.custom-osgi-3.9.0.xml | 14 - buildScripts/ivy.xml | 139 ++- buildScripts/ivysettings.xml | 1 + buildScripts/mapstruct-old.ant.xml | 169 +++ buildScripts/maven.ant.xml | 126 +++ buildScripts/setup.ant.xml | 175 +++ buildScripts/tests.ant.xml | 177 +++ buildScripts/vm-finder.ant.xml | 191 ++++ buildScripts/website.ant.xml | 360 +++--- .../javac/apt/Javac9BaseFileObjectWrapper.java | 111 -- src/core/lombok/javac/apt/LombokFileObjects.java | 154 +-- src/core/lombok/javac/apt/LombokProcessor.java | 26 +- .../javac/apt/Javac9BaseFileObjectWrapper.java | 111 ++ src/core8/lombok/javac/apt/Javac9Compiler.java | 157 +++ src/stubs/java/lang/annotation/ElementType.java | 118 ++ src/stubsstubs/java/nio/file/Path.java | 4 + src/support/info.txt | 4 + src/support/log4j.properties | 6 + .../eclipseCreate/CreateEclipseDebugTarget.java | 177 +++ src/support/lombok/website/CompileChangelog.java | 147 +++ src/support/lombok/website/Domain.java | 26 + .../lombok/website/FetchCurrentVersion.java | 36 + src/support/lombok/website/WebsiteMaker.java | 430 ++++++++ src/utils/lombok/core/SpiLoadUtil.java | 4 +- src/website/log4j.properties | 6 - src/website/lombok/website/CompileChangelog.java | 147 --- .../lombok/website/FetchCurrentVersion.java | 37 - src/website/lombok/website/WebsiteMaker.java | 403 ------- ssh.knownHosts | 2 +- test/core/src/lombok/DirectoryRunner.java | 12 +- test/core/src/lombok/RunAllTests.java | 31 - test/core/src/lombok/RunTestsViaDelombok.java | 4 + test/core/src/lombok/RunTestsViaEcj.java | 20 +- test/core/src/lombok/TestBase.java | 31 + test/core/src/lombok/TestEclipse.java | 31 + test/core/src/lombok/TestJavac.java | 32 + .../src/lombok/transform/RunTransformTests.java | 31 - website/templates/all-versions.html | 4 +- 67 files changed, 3552 insertions(+), 2610 deletions(-) create mode 100644 buildScripts/build-support.ant.xml create mode 100644 buildScripts/compile.ant.xml create mode 100644 buildScripts/create-eclipse-project.ant.xml create mode 100644 buildScripts/create-intellij-project.ant.xml delete mode 100644 buildScripts/eclipse-debug-target.template delete mode 100644 buildScripts/eclipse-run-tests.template create mode 100644 buildScripts/info.ant.xml create mode 100644 buildScripts/ivy-repo/net.java.openjdk.custom-javac11-11_2018-09-25.xml create mode 100644 buildScripts/ivy-repo/net.java.openjdk.custom-javac13-13_2019-09-17.xml create mode 100644 buildScripts/ivy-repo/net.java.openjdk.custom-javac14-14-ea_2020-03-17.xml create mode 100644 buildScripts/ivy-repo/net.java.openjdk.custom-javac8-1.8.0.xml delete mode 100644 buildScripts/ivy-repo/org.eclipse.custom-core.jobs-3.5.200.xml delete mode 100644 buildScripts/ivy-repo/org.eclipse.custom-core.jobs-3.5.300.xml delete mode 100644 buildScripts/ivy-repo/org.eclipse.custom-core.resources-3.7.0.xml delete mode 100644 buildScripts/ivy-repo/org.eclipse.custom-core.resources-3.8.100.xml delete mode 100644 buildScripts/ivy-repo/org.eclipse.custom-core.runtime-3.6.0.xml delete mode 100644 buildScripts/ivy-repo/org.eclipse.custom-core.runtime-3.9.0.xml delete mode 100644 buildScripts/ivy-repo/org.eclipse.custom-ecj-3.6.2.xml delete mode 100644 buildScripts/ivy-repo/org.eclipse.custom-ecj-4.3.1.xml delete mode 100644 buildScripts/ivy-repo/org.eclipse.custom-ecj-I20140430.xml delete mode 100644 buildScripts/ivy-repo/org.eclipse.custom-equinox.common-3.6.0.xml delete mode 100644 buildScripts/ivy-repo/org.eclipse.custom-equinox.common-3.6.200.xml delete mode 100644 buildScripts/ivy-repo/org.eclipse.custom-jdt.core-3.6.0.xml delete mode 100644 buildScripts/ivy-repo/org.eclipse.custom-jdt.core-3.9.1.xml delete mode 100644 buildScripts/ivy-repo/org.eclipse.custom-jdt.ui-3.6.0.xml delete mode 100644 buildScripts/ivy-repo/org.eclipse.custom-jdt.ui-3.9.1.xml delete mode 100644 buildScripts/ivy-repo/org.eclipse.custom-osgi-3.6.0.xml delete mode 100644 buildScripts/ivy-repo/org.eclipse.custom-osgi-3.9.0.xml create mode 100644 buildScripts/mapstruct-old.ant.xml create mode 100644 buildScripts/maven.ant.xml create mode 100644 buildScripts/setup.ant.xml create mode 100644 buildScripts/tests.ant.xml create mode 100644 buildScripts/vm-finder.ant.xml delete mode 100644 src/core/lombok/javac/apt/Javac9BaseFileObjectWrapper.java create mode 100644 src/core8/lombok/javac/apt/Javac9BaseFileObjectWrapper.java create mode 100644 src/core8/lombok/javac/apt/Javac9Compiler.java create mode 100644 src/stubs/java/lang/annotation/ElementType.java create mode 100644 src/stubsstubs/java/nio/file/Path.java create mode 100644 src/support/info.txt create mode 100644 src/support/log4j.properties create mode 100644 src/support/lombok/eclipseCreate/CreateEclipseDebugTarget.java create mode 100644 src/support/lombok/website/CompileChangelog.java create mode 100644 src/support/lombok/website/Domain.java create mode 100644 src/support/lombok/website/FetchCurrentVersion.java create mode 100644 src/support/lombok/website/WebsiteMaker.java delete mode 100644 src/website/log4j.properties delete mode 100644 src/website/lombok/website/CompileChangelog.java delete mode 100644 src/website/lombok/website/FetchCurrentVersion.java delete mode 100644 src/website/lombok/website/WebsiteMaker.java delete mode 100644 test/core/src/lombok/RunAllTests.java create mode 100644 test/core/src/lombok/TestBase.java create mode 100644 test/core/src/lombok/TestEclipse.java create mode 100644 test/core/src/lombok/TestJavac.java delete mode 100644 test/transform/src/lombok/transform/RunTransformTests.java diff --git a/build.xml b/build.xml index f50d68f6..59e258d4 100644 --- a/build.xml +++ b/build.xml @@ -19,1155 +19,21 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --> - + This buildfile is part of projectlombok.org. It is the main entry point that contains the common tasks and can be called on to run the main aspects of all the sub-scripts. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A new version of ivyplusplus was required and has been downloaded. Rerun the script to continue. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Lombok version: ${lombok.version} (${lombok.fullversion}) - - - - - - - - - - - - - To compile lombok, you need JDK9 or higher; lombok requires this version because it's rather difficult to produce lombok builds that are compatible on JDK9 without at least building with JDK9. Sorry about that. - - - - -For compiling with Java9 'modulepath' an Ant version 1.9.7+ or 1.10.0+ is required. -Your current version is: - ${ant.version} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - lombok.launch.AnnotationProcessorHider$AnnotationProcessor -lombok.launch.AnnotationProcessorHider$ClaimingProcessor - - lombok.launch.AnnotationProcessorHider$AnnotationProcessor,isolating -lombok.launch.AnnotationProcessorHider$ClaimingProcessor,isolating - - - - - - - - - - - - - - - - ${releaseTimestamp} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ** WARNING ** The core lombok contributors all use eclipse to develop lombok. We have some ability on letting you work on lombok via intellij, but whether the generated project can be used in a modern intellij is currently unknown. Please do continue, but be aware that trying to work on lombok from intellij may run into problems. If you want to adopt 'work on lombok via intellij' as a task, we're open to it! - Press return to continue - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - To add your eclipse installation's own plugins as dependencies, the build script needs to know where your eclipse is installed. Please enter this now (it's saved for future executions of this task). For example: - - /Applications/eclipse - C:\Program Files\eclipse - - - - Eclipse can't be found in this location; I expect that directory to contain a subdirectory called 'plugins'. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - You do not have the eclipse plugin '${pluginName}'. I expected it to be in your eclipse plugins directory (followed by an underscore and a version number). - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Added to project classpath from your eclipse installation: ${pluginName}. -${sourceWarning} - - - - - - - - - - - - - - - - - - - - - - - - - - Testing ECJ using ECJ: ${ecj.loc} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - WARNING: If you wish to test JDK8 features in eclipse, there must be a JDK8 installation configured in your eclipse, and it must be called 'JavaSE-1.8'. - - - - - - - - - - - - - - Tests will now run against OpenJDK6 - - - - - - - - - - - - - - - Tests will now run against OpenJDK7 - - - - - - - - - - - - - - - Tests will now run against Oracle JDK7 - - - - - - - - - - - - - - - - Tests will now run against Oracle JDK8 - - - - - ERROR: No test environment set up. - -You need to set up a test environment, which consists of a version of javac, and a JRE runtime classpath ('rt.jar'). -Eventually, this environment concept will be extended to also include an ecj and/or eclipse to test against. - -You can let this ant script set them up for you: - -* ant setupJavaOpenJDK6TestEnvironment -* ant setupJavaOpenJDK7TestEnvironment -* ant setupJavaOracle7TestEnvironment -* ant setupJavaOracle8TestEnvironment - -These will set up test environments based on OpenJDK6 and OpenJDK7, and download all required files automatically. This will be a relatively large download. You can switch by running this command again; the downloads are cached so switching is fast. - -You can also create your own by writing a 'testenvironment.properties' file. The relevant properties are: - -* test.location.javac = /path/to/javac6.jar -* test.location.ecj = /path/to/ecj6.jar -* test.location.bootclasspath = /path/to/rt.jar -* test.location.name = RandomUsefulNameToIdentifyThisSetup -* test.javaversion = 6 - - - - - - - - - - - - - - - - - - - - - - - - Running test suite in JDK9+ mode - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Running test suite in JDK6-8 mode - - - - - - - - - - - - - - - - - - - - - - - - - - -
Lombok - ]]>v${lombok.version}
- Copyright © 2011-${javadoc.year} The Project Lombok Authors, licensed under the MIT licence.]]> -
- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The artifact has been published to staging. Now go to https://oss.sonatype.org/ and log in as Reinier, then doublecheck if all is well and 'release' it. - - - - - - - - - WARNING: You should now immediately run an edge release! - - - - - - - - - - - - - - - - - - - Aborted. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - org.projectlombok.testAp.TestAp - - - - - - - - - - - - - - - - Running in order: First Lombok, Then testAP - - - - - - - - - - - - Running in order: First TestAP, Then Lombok - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - lombok.mapstruct.NotifierHider$AstModificationNotifier - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + +
diff --git a/buildScripts/build-support.ant.xml b/buildScripts/build-support.ant.xml new file mode 100644 index 00000000..107f5f47 --- /dev/null +++ b/buildScripts/build-support.ant.xml @@ -0,0 +1,113 @@ +