diff options
author | Reinier Zwitserloot <reinier@zwitserloot.com> | 2014-04-30 23:26:24 +0200 |
---|---|---|
committer | Reinier Zwitserloot <reinier@zwitserloot.com> | 2014-05-01 00:08:52 +0200 |
commit | 4cfb4b37ad16cc21f23e3620538893e36aa33eae (patch) | |
tree | f94463c837f16bfecc00d787fd76de36281f44f1 | |
parent | 934e41d8217152c751942e604f6004440efd9319 (diff) | |
download | lombok-4cfb4b37ad16cc21f23e3620538893e36aa33eae.tar.gz lombok-4cfb4b37ad16cc21f23e3620538893e36aa33eae.tar.bz2 lombok-4cfb4b37ad16cc21f23e3620538893e36aa33eae.zip |
some pretty significant changes to the build system, to try and add testing against ecj8 to the lineup, and to force compilation with the bootstrap classpath of JDK6 so that we won't accidentally add deps on things that JVM6es don't have.
-rw-r--r-- | build.xml | 24 | ||||
-rw-r--r-- | buildScripts/ivy-repo/org.eclipse.custom-ecj-I20140430.xml | 14 | ||||
-rw-r--r-- | buildScripts/ivy.xml | 6 | ||||
-rw-r--r-- | src/core/lombok/bytecode/AsmUtil.java | 1 | ||||
-rw-r--r-- | test/core/src/lombok/RunTestsViaEcj.java | 4 |
5 files changed, 41 insertions, 8 deletions
@@ -99,11 +99,13 @@ the common tasks and can be called on to run the main aspects of all the sub-scr <target name="deps" depends="ensureBuildDeps, ensureRuntimeDeps, ensureTestDeps, contrib" description="Downloads all dependencies." /> <target name="contrib" depends="config-ivy" description="Downloads various non-crucial documentation, sources, etc that are useful when developing lombok.ast."> - <ivy:resolve file="buildScripts/ivy.xml" refresh="true" conf="contrib, ecj" /> + <ivy:resolve file="buildScripts/ivy.xml" refresh="true" conf="contrib, ecj7, ecj8" /> <ivy:retrieve /> </target> <target name="ensureBuildDeps" depends="config-ivy"> + <mkdir dir="lib/openJDK6Environment" /> + <get src="http://projectlombok.org/ivyrepo/langtools/rt-openjdk6.jar" dest="lib/openJDK6Environment/rt-openjdk6.jar" verbose="true" usetimestamp="true" /> <ivy:resolve file="buildScripts/ivy.xml" refresh="true" conf="build, javac7" /> <ivy:retrieve /> </target> @@ -143,15 +145,18 @@ the common tasks and can be called on to run the main aspects of all the sub-scr We re-create the file at the end of this target. --> <delete file="build/lombok/META-INF/services/javax.annotation.processing.Processor" quiet="true" /> <ivy:compile destdir="build/stubsstubs" source="1.5" target="1.5" includeantruntime="false"> + <compilerarg value="-Xbootclasspath/p:lib/openJDK6Environment/rt-openjdk6.jar" /> <src path="src/stubsstubs" /> </ivy:compile> <ivy:compile destdir="build/stubs" source="1.5" target="1.5" includeantruntime="false"> + <compilerarg value="-Xbootclasspath/p:lib/openJDK6Environment/rt-openjdk6.jar" /> <src path="src/stubs" /> <src path="src/javac-only-stubs" /> <classpath location="build/stubsstubs" /> </ivy:compile> <ivy:compile destdir="build/lombok-utils" source="1.5" target="1.5" includeantruntime="false"> + <compilerarg value="-Xbootclasspath/p:lib/openJDK6Environment/rt-openjdk6.jar" /> <compilerarg value="-Xbootclasspath/p:build/stubs" /> <src path="src/utils" /> <exclude name="lombok/javac/**" /> @@ -159,6 +164,7 @@ the common tasks and can be called on to run the main aspects of all the sub-scr </ivy:compile> <ivy:compile destdir="build/lombok-utils" source="1.6" target="1.6" includeantruntime="false"> + <compilerarg value="-Xbootclasspath/p:lib/openJDK6Environment/rt-openjdk6.jar" /> <compilerarg value="-Xbootclasspath/p:build/stubs" /> <src path="src/utils" /> <include name="lombok/javac/**" /> @@ -171,6 +177,7 @@ the common tasks and can be called on to run the main aspects of all the sub-scr </copy> <ivy:compile destdir="build/lombok" source="1.5" target="1.5" includeantruntime="false"> + <compilerarg value="-Xbootclasspath/p:lib/openJDK6Environment/rt-openjdk6.jar" /> <compilerarg value="-Xbootclasspath/p:build/stubs" /> <src path="src/core" /> <src path="src/installer" /> @@ -181,6 +188,7 @@ the common tasks and can be called on to run the main aspects of all the sub-scr </ivy:compile> <ivy:compile destdir="build/lombok" source="1.6" target="1.6" includeantruntime="false"> + <compilerarg value="-Xbootclasspath/p:lib/openJDK6Environment/rt-openjdk6.jar" /> <compilerarg value="-Xbootclasspath/p:build/stubs" /> <src path="src/core" /> <src path="src/delombok" /> @@ -396,7 +404,7 @@ ${sourceWarning}</echo> </target> <target name="test-ecj" depends="dist, contrib" unless="tests.skip"> - <java jar="lib/ecj/org.eclipse.custom-ecj.jar" fork="true" failonerror="true"> + <java jar="lib/ecj7/org.eclipse.custom-ecj.jar" fork="true" failonerror="true"> <jvmarg value="-javaagent:dist/lombok.jar=ecj" /> <arg value="-source" /> <arg value="1.6" /> @@ -434,6 +442,7 @@ ${sourceWarning}</echo> <get src="http://projectlombok.org/ivyrepo/langtools/rt-openjdk6.jar" dest="lib/openJDK6Environment/rt-openjdk6.jar" verbose="true" usetimestamp="true" /> <propertyfile file="testenvironment.properties"> <entry key="test.location.javac" value="lib/openJDK6Environment/javac6.jar" /> + <entry key="test.location.ecj" value="lib/ecj7/org.eclipse.custom-ecj.jar" /> <entry key="test.location.bootclasspath" value="lib/openJDK6Environment/rt-openjdk6.jar" /> <entry key="test.location.name" value="OpenJDK6" /> </propertyfile> @@ -447,6 +456,7 @@ ${sourceWarning}</echo> <get src="http://projectlombok.org/ivyrepo/langtools/rt-openjdk7.jar" dest="lib/openJDK7Environment/rt-openjdk7.jar" verbose="true" usetimestamp="true" /> <propertyfile file="testenvironment.properties"> <entry key="test.location.javac" value="lib/openJDK7Environment/javac7.jar" /> + <entry key="test.location.ecj" value="lib/ecj7/org.eclipse.custom-ecj.jar" /> <entry key="test.location.bootclasspath" value="lib/openJDK7Environment/rt-openjdk7.jar" /> <entry key="test.location.name" value="OpenJDK7" /> </propertyfile> @@ -460,6 +470,7 @@ ${sourceWarning}</echo> <get src="http://projectlombok.org/ivyrepo/langtools/oracle-jdk7-rt.jar" dest="lib/oracleJDK7Environment/rt.jar" verbose="true" usetimestamp="true" /> <propertyfile file="testenvironment.properties"> <entry key="test.location.javac" value="lib/oracleJDK7Environment/tools.jar" /> + <entry key="test.location.ecj" value="lib/ecj7/org.eclipse.custom-ecj.jar" /> <entry key="test.location.bootclasspath" value="lib/oracleJDK7Environment/rt.jar" /> <entry key="test.location.name" value="OracleJDK7" /> </propertyfile> @@ -473,6 +484,7 @@ ${sourceWarning}</echo> <get src="http://projectlombok.org/ivyrepo/langtools/oracle-jdk8-rt.jar" dest="lib/oracleJDK8Environment/rt.jar" verbose="true" usetimestamp="true" /> <propertyfile file="testenvironment.properties"> <entry key="test.location.javac" value="lib/oracleJDK8Environment/tools.jar" /> + <entry key="test.location.ecj" value="lib/ecj8/org.eclipse.custom-ecj.jar" /> <entry key="test.location.bootclasspath" value="lib/oracleJDK8Environment/rt.jar" /> <entry key="test.location.name" value="OracleJDK8" /> </propertyfile> @@ -480,7 +492,7 @@ ${sourceWarning}</echo> <antcall target="-createEclipseLaunchForTestEnvironmentIfEclipseProject" /> </target> - <target name="-failIfNoTestEnvironmentProperties" unless="test.location.javac"> + <target name="-failIfNoTestEnvironmentProperties" unless="test.location.ecj"> <fail>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'). @@ -498,17 +510,19 @@ These will set up test environments based on OpenJDK6 and OpenJDK7, and download 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 </fail> </target> <target name="test" depends="-loadTestEnvironmentProperties, -failIfNoTestEnvironmentProperties, -test-compile, dist, test-ecj" unless="tests.skip" description="Runs the tests."> - <junit haltonfailure="yes" fork="true"> + <junit haltonfailure="no" fork="true"> <jvmarg value="-javaagent:dist/lombok.jar" /> <jvmarg value="-Ddelombok.bootclasspath=${test.location.bootclasspath}" /> <formatter type="plain" usefile="false" unless="tests.quiet" /> <classpath refid="test.path" /> - <classpath refid="eclipseBuild.path" /> + <classpath path="${test.location.ecj}" /> <classpath path="${test.location.javac}" /> <classpath path="build/lombok" /> <classpath path="build/tests" /> diff --git a/buildScripts/ivy-repo/org.eclipse.custom-ecj-I20140430.xml b/buildScripts/ivy-repo/org.eclipse.custom-ecj-I20140430.xml new file mode 100644 index 00000000..8ba65a2a --- /dev/null +++ b/buildScripts/ivy-repo/org.eclipse.custom-ecj-I20140430.xml @@ -0,0 +1,14 @@ +<ivy-module version="2.0"> + <info organisation="org.eclipse.custom" module="ecj" revision="I20140430" publication="20140430080000"> + <license name="Eclipse Public Licence v1.0" url="http://www.eclipse.org/org/documents/epl-v10.php" /> + <description homepage="http://www.eclipse.org/eclipse/" /> + </info> + <configurations> + <conf name="default" /> + <conf name="sources" /> + </configurations> + <publications> + <artifact conf="default" url="http://projectlombok.org/ivyrepo/eclipse/ecj-I20140430-0800.jar" /> + <artifact type="zip" conf="sources" url="http://projectlombok.org/ivyrepo/eclipse/ecjsrc-I20140430-0800.zip" /> + </publications> +</ivy-module> diff --git a/buildScripts/ivy.xml b/buildScripts/ivy.xml index d7977101..a26f4751 100644 --- a/buildScripts/ivy.xml +++ b/buildScripts/ivy.xml @@ -9,7 +9,8 @@ <conf name="runtime" /> <conf name="test" extends="runtime" /> <conf name="contrib" /> - <conf name="ecj" /> + <conf name="ecj7" /> + <conf name="ecj8" /> <conf name="javac6" /> <conf name="javac7" /> </configurations> @@ -35,7 +36,8 @@ <dependency org="net.java.openjdk.custom" name="javac6" rev="1.6.0.18" conf="javac6->runtime; contrib->sources" /> <dependency org="net.java.openjdk.custom" name="javac7" rev="1.7.0" conf="javac7->runtime; contrib->sources" /> - <dependency org="org.eclipse.custom" name="ecj" rev="4.3.1" conf="ecj->default; contrib->sources" /> + <dependency org="org.eclipse.custom" name="ecj" rev="4.3.1" conf="ecj7->default; contrib->sources" /> + <dependency org="org.eclipse.custom" name="ecj" rev="I20140430" conf="ecj8->default; contrib->sources; eclipseBuild->default" /> <dependency org="netbeans.org" name="boot" rev="6.8beta" conf="netbeansBuild->build" /> <dependency org="netbeans.org" name="openide.modules" rev="6.8beta" conf="netbeansBuild->build" /> diff --git a/src/core/lombok/bytecode/AsmUtil.java b/src/core/lombok/bytecode/AsmUtil.java index 6ac1dac4..26e5af1f 100644 --- a/src/core/lombok/bytecode/AsmUtil.java +++ b/src/core/lombok/bytecode/AsmUtil.java @@ -29,7 +29,6 @@ import org.objectweb.asm.Opcodes; import org.objectweb.asm.commons.JSRInlinerAdapter; class AsmUtil { - private AsmUtil() { throw new UnsupportedOperationException(); } diff --git a/test/core/src/lombok/RunTestsViaEcj.java b/test/core/src/lombok/RunTestsViaEcj.java index 2734eb43..8d1a8278 100644 --- a/test/core/src/lombok/RunTestsViaEcj.java +++ b/test/core/src/lombok/RunTestsViaEcj.java @@ -84,6 +84,10 @@ public class RunTestsViaEcj extends AbstractRunTests { @Override public boolean proceedOnErrors() { return false; } + + @Override public boolean ignoreAllErrors() { + return false; + } }; } |