diff options
author | Reinier Zwitserloot <r.zwitserloot@projectlombok.org> | 2020-09-18 01:00:24 +0200 |
---|---|---|
committer | Reinier Zwitserloot <r.zwitserloot@projectlombok.org> | 2020-09-18 01:00:24 +0200 |
commit | 9d45a506b1026bdf9a3c76f97c9d4ec52dc92345 (patch) | |
tree | ad5408db130af437f609ee70a0794dca6441df6e | |
parent | 007c4e7cb2d64afedcd942ab788bc1b15191a309 (diff) | |
download | lombok-9d45a506b1026bdf9a3c76f97c9d4ec52dc92345.tar.gz lombok-9d45a506b1026bdf9a3c76f97c9d4ec52dc92345.tar.bz2 lombok-9d45a506b1026bdf9a3c76f97c9d4ec52dc92345.zip |
[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 :)
-rw-r--r-- | buildScripts/create-eclipse-project.ant.xml | 12 | ||||
-rw-r--r-- | buildScripts/setup.ant.xml | 2 | ||||
-rw-r--r-- | buildScripts/vm-finder.ant.xml | 2 | ||||
-rw-r--r-- | src/support/lombok/eclipseCreate/CreateEclipseDebugTarget.java | 8 |
4 files changed, 16 insertions, 8 deletions
diff --git a/buildScripts/create-eclipse-project.ant.xml b/buildScripts/create-eclipse-project.ant.xml index 513ffe8f..da91964f 100644 --- a/buildScripts/create-eclipse-project.ant.xml +++ b/buildScripts/create-eclipse-project.ant.xml @@ -27,7 +27,7 @@ This buildfile is part of projectlombok.org. It creates the infrastructure neede <target name="eclipse" depends="eclipse.projectfiles, eclipse.testtarget.default" description="Downloads dependencies, create eclipse project files, as well as debug/run test targets. Open this directory as project in eclipse (via import... existing projects)" /> <target name="eclipse.projectfiles" depends="deps"> - <ivy:eclipsegen source="1.6"> + <ivy:eclipsegen source="1.6" srcout="bin/main"> <srcdir dir="src/core" /> <srcdir dir="src/core8" /> <srcdir dir="src/launch" /> @@ -35,7 +35,7 @@ This buildfile is part of projectlombok.org. It creates the infrastructure neede <srcdir dir="src/eclipseAgent" /> <srcdir dir="src/installer" /> <srcdir dir="src/delombok" /> - <srcdir dir="src/stubs" /> + <srcdir dir="src/stubs" srcout="bin/stubs" /> <srcdir dir="src/support" /> <srcdir dir="experimental/src" /> <srcdir dir="test/transform/src" /> @@ -116,7 +116,7 @@ This buildfile is part of projectlombok.org. It creates the infrastructure neede <condition property="inputs.jvmtarget" value="1.6"><equals arg1="${inputs.jvmtarget.raw}" arg2="6" /></condition> <condition property="inputs.jvmtarget" value="1.8"><equals arg1="${inputs.jvmtarget.raw}" arg2="8" /></condition> - <property name="inputs" value="${inputs.jvmtarget.raw}" /> + <property name="inputs.jvmtarget" value="${inputs.jvmtarget.raw}" /> <condition property="inputs.bootpath" value="${jdk6-rt.loc}"><equals arg1="${inputs.jvmtarget.raw}" arg2="6" /></condition> <condition property="inputs.bootpath" value="${jdk8-rt.loc}"><equals arg1="${inputs.jvmtarget.raw}" arg2="8" /></condition> @@ -127,6 +127,12 @@ This buildfile is part of projectlombok.org. It creates the infrastructure neede <target name="eclipse.testtarget.javac" depends="compile.support" description="Makes an eclipse launch target for running the tests for javac"> <eclipse.testtarget.conf.jvmtarget question="Which javac do you want to target? Enter a version, such as '11'." validargs="8,11,13,14,15" /> + <local name="inputs.confcp" /> + <condition property="inputs.confcp" value="NONE"> + <not><equals arg1="8" arg2="${inputs.jvmtarget.raw}" /></not> + </condition> + <property name="inputs.confcp" refid="cp.javac8" /> + <java classname="lombok.eclipseCreate.CreateEclipseDebugTarget" failonerror="true"> <classpath> <path refid="cp.buildtools" /> diff --git a/buildScripts/setup.ant.xml b/buildScripts/setup.ant.xml index 9b96240d..ed835960 100644 --- a/buildScripts/setup.ant.xml +++ b/buildScripts/setup.ant.xml @@ -106,7 +106,7 @@ This buildfile is part of projectlombok.org. It sets up the build itself. <target name="-ipp.load" depends="-ipp.download"> <taskdef classpath="lib/ivyplusplus.jar" resource="com/zwitserloot/ivyplusplus/antlib.xml" uri="antlib:com.zwitserloot.ivyplusplus" /> - <ivy:ensureippversion version="1.36" property="ivyplusplus.minimumAvailable" /> + <ivy:ensureippversion version="1.38" property="ivyplusplus.minimumAvailable" /> </target> <target name="-ipp.redownload" unless="ivyplusplus.minimumAvailable"> diff --git a/buildScripts/vm-finder.ant.xml b/buildScripts/vm-finder.ant.xml index 2b2c4c4c..a15d8ed0 100644 --- a/buildScripts/vm-finder.ant.xml +++ b/buildScripts/vm-finder.ant.xml @@ -38,7 +38,7 @@ This buildfile is part of projectlombok.org. It contains platform specific code <condition property="jvm.loc" value="${jvm.loc.force}"> <and> <isset property="jvm.loc.force" /> - <not><matches string="${jvm.loc.force}" pattern="^\$\{jvm[0-9\.]+\.loc\}$" /></not> + <not><matches string="${jvm.loc.force}" pattern="^\$\{jvm\.locations\.j[0-9\.]+\}$" /></not> </and> </condition> <condition property="jvm.loc.invalid"> diff --git a/src/support/lombok/eclipseCreate/CreateEclipseDebugTarget.java b/src/support/lombok/eclipseCreate/CreateEclipseDebugTarget.java index e5e48c49..f54a5988 100644 --- a/src/support/lombok/eclipseCreate/CreateEclipseDebugTarget.java +++ b/src/support/lombok/eclipseCreate/CreateEclipseDebugTarget.java @@ -95,10 +95,12 @@ public class CreateEclipseDebugTarget { String bootpath = getBootPath(); - launchContent.append("\t\t<listEntry value=\"<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/lombok/bin" path="3" type="2"/> \"/>\n"); + launchContent.append("\t\t<listEntry value=\"<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/lombok/bin/main" path="3" type="2"/> \"/>\n"); for (Map.Entry<String, String> entry : args.entrySet()) { if (!entry.getKey().startsWith("conf.")) continue; - String[] files = entry.getValue().split(Pattern.quote(File.pathSeparator)); + String v = entry.getValue(); + if (v.equals("NONE")) continue; + String[] files = v.split(Pattern.quote(File.pathSeparator)); for (String file : files) { String n; try { @@ -128,7 +130,7 @@ public class CreateEclipseDebugTarget { launchContent.append("\t<listAttribute key=\"org.eclipse.jdt.launching.MODULEPATH\"/>\n"); launchContent.append("\t<stringAttribute key=\"org.eclipse.jdt.launching.PROJECT_ATTR\" value=\"lombok\"/>\n"); if (getArgBoolean("shadowLoaderBased")) { - launchContent.append("<stringAttribute key=\"org.eclipse.jdt.launching.VM_ARGUMENTS\" value=\"-javaagent:dist/lombok.jar -Dshadow.override.lombok=${project_loc:lombok}/bin"); + launchContent.append("<stringAttribute key=\"org.eclipse.jdt.launching.VM_ARGUMENTS\" value=\"-javaagent:dist/lombok.jar -Dshadow.override.lombok=${project_loc:lombok}/bin/main"); for (Map.Entry<String, String> entry : args.entrySet()) { if (!entry.getKey().startsWith("conf.")) continue; launchContent.append(File.pathSeparator).append(entry.getValue()); |