aboutsummaryrefslogtreecommitdiff
path: root/buildScripts
diff options
context:
space:
mode:
Diffstat (limited to 'buildScripts')
-rw-r--r--buildScripts/compile.ant.xml64
-rw-r--r--buildScripts/create-eclipse-project.ant.xml7
-rw-r--r--buildScripts/create-intellij-project.ant.xml15
-rw-r--r--buildScripts/ivy.xml5
-rw-r--r--buildScripts/setup.ant.xml6
-rw-r--r--buildScripts/tests.ant.xml66
-rw-r--r--buildScripts/vm-finder.ant.xml3
7 files changed, 81 insertions, 85 deletions
diff --git a/buildScripts/compile.ant.xml b/buildScripts/compile.ant.xml
index bc1d3e8d..23a8a63c 100644
--- a/buildScripts/compile.ant.xml
+++ b/buildScripts/compile.ant.xml
@@ -1,5 +1,5 @@
<!--
- Copyright (C) 2020 The Project Lombok Authors.
+ Copyright (C) 2020-2021 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
@@ -50,7 +50,7 @@ This buildfile is part of projectlombok.org. It takes care of compiling and buil
<echo level="info">Lombok version: ${lombok.version} (${lombok.fullversion})</echo>
</target>
- <property name="packing.basedirs" value="build/lombok-transplants,build/lombok-utils,build/lombok-utils6,build/lombok-main,build/lombok-main8,build/lombok-meta,build/lombok-deps" />
+ <property name="packing.basedirs" value="build/lombok-transplants,build/lombok-utils,build/lombok-utils6,build/lombok-main,build/lombok-main8,build/lombok-deps" />
<loadresource property="packing.basedirs.colon">
<propertyresource name="packing.basedirs" />
<filterchain><tokenfilter>
@@ -62,21 +62,31 @@ This buildfile is part of projectlombok.org. It takes care of compiling and buil
<pathelement path="${packing.basedirs.colon}" />
</path>
- <target name="compile" depends="version, deps, -setup.build" description="Compiles the code">
+ <target name="create.spiProcessor" depends="version, -setup.build" description="Compiles the services file generating processor">
+ <ivy:compile destdir="build/spiProcessor" source="1.8" target="1.8" ecj="true">
+ <src path="src/spiProcessor" />
+ <classpath location="build/spiProcessor" />
+ </ivy:compile>
+ <mkdir dir="build/spiProcessor/META-INF/services" />
+ <echo file="build/spiProcessor/META-INF/services/javax.annotation.processing.Processor">lombok.spi.SpiProcessor</echo>
+ <jar destfile="dist/spiProcessor.jar">
+ <fileset dir="build/spiProcessor" />
+ </jar>
+ </target>
+
+ <target name="compile" depends="version, deps, -setup.build, create.spiProcessor" description="Compiles the code">
<!--
1. Compile stubs.
2. Compile transplants.
3. Compile lombok-utils.
- 4. Compile lombok.
- 5. Run SPI processor.
- 6. Create other manifest entries. -->
+ 4. Compile lombok. -->
<!--
ant includes the destination dir on the classpath (and there are good reasons to do this), but that also means
the bleeding edge lombok from the previous build is run (as lombok is an annotation processor), which means if
there are bugs in it, you can't compile anymore until you 'ant clean'. That's very undesirable. so we kill the processor,
which stops lombok from running. We re-create the file at the end of this target. -->
- <delete file="build/lombok-meta/META-INF/services/javax.annotation.processing.Processor" quiet="true" />
+ <delete file="build/lombok-main/META-INF/services/javax.annotation.processing.Processor" quiet="true" />
<!--
first, compile stubs. Lombok needs to produce class files that run in a wide variety of JDK, javac, and ecj/eclipse versions.
@@ -162,7 +172,8 @@ This buildfile is part of projectlombok.org. It takes care of compiling and buil
<classpath refid="cp.build" />
<classpath refid="cp.eclipse-oxygen" />
<classpath refid="cp.javac6" />
- <classpath path="build/lombok-utils:build/lombok-utils6:build/lombok-main" />
+ <classpath path="build/lombok-utils:build/lombok-utils6:build/lombok-main:dist/spiProcessor.jar" />
+ <annotationProcessor jar="dist/spiProcessor.jar" processor="lombok.spi.SpiProcessor" />
</ivy:compile>
<!-- This is really part of the eclipse agent, but references lombok, so that had to be compiled first -->
@@ -183,7 +194,7 @@ This buildfile is part of projectlombok.org. It takes care of compiling and buil
<bootclasspath location="build/stubs" />
<src path="src/core8" />
<classpath refid="cp.javac8" />
- <classpath path="build/lombok-main:build/lombok-main8" />
+ <classpath path="build/lombok-main:build/lombok-main8:build" />
</ivy:compile>
<!--
@@ -195,37 +206,11 @@ This buildfile is part of projectlombok.org. It takes care of compiling and buil
<classpath refid="cp.build" />
</ivy:compile>
- <!-- Run the SPI processor to create the services files listing all lombok handlers -->
- <delete dir="build/lombok-proc-result" quiet="true" />
- <ivy:compile destdir="build/lombok-proc-result" release="9" nowarn="true">
- <classpath location="build/stubs" />
- <compilerarg value="-proc:only" />
- <compilerarg value="-processor" />
- <compilerarg value="org.mangosdk.spi.processor.SpiProcessor" />
- <src path="src/core" />
- <src path="src/installer" />
- <src path="src/eclipseAgent" />
- <src path="src/delombok" />
- <classpath refid="cp.build" />
- <classpath refid="cp.javac6" />
- <classpath refid="cp.eclipse-oxygen" />
- <classpath path="build/lombok-utils:build/lombok-utils6:build/lombok-main" />
- </ivy:compile>
-
- <mkdir dir="build/lombok-meta" />
-
- <copy todir="build/lombok-meta">
- <fileset dir="build/lombok-proc-result">
- <include name="META-INF/services/*" />
- </fileset>
- </copy>
-
- <mkdir dir="build/lombok-meta/META-INF" />
- <mkdir dir="build/lombok-meta/META-INF/services" />
- <echo file="build/lombok-meta/META-INF/services/javax.annotation.processing.Processor">lombok.launch.AnnotationProcessorHider$AnnotationProcessor
+ <mkdir dir="build/lombok-main/META-INF/services" />
+ <echo file="build/lombok-main/META-INF/services/javax.annotation.processing.Processor">lombok.launch.AnnotationProcessorHider$AnnotationProcessor
lombok.launch.AnnotationProcessorHider$ClaimingProcessor</echo>
- <mkdir dir="build/lombok-meta/META-INF/gradle" />
- <echo file="build/lombok-meta/META-INF/gradle/incremental.annotation.processors">lombok.launch.AnnotationProcessorHider$AnnotationProcessor,isolating
+ <mkdir dir="build/lombok-main/META-INF/gradle" />
+ <echo file="build/lombok-main/META-INF/gradle/incremental.annotation.processors">lombok.launch.AnnotationProcessorHider$AnnotationProcessor,isolating
lombok.launch.AnnotationProcessorHider$ClaimingProcessor,isolating</echo>
</target>
@@ -272,7 +257,6 @@ lombok.launch.AnnotationProcessorHider$ClaimingProcessor,isolating</echo>
</patternset>
<fileset dir="build/lombok-main"><patternset refid="packing.entrypoints" /></fileset>
- <fileset dir="build/lombok-meta"><patternset refid="packing.entrypoints" /></fileset>
<!-- now include everything else but renamed for the shadowloader system, to make these classes invisible to other projects. -->
<patternset id="packing.shadowed">
diff --git a/buildScripts/create-eclipse-project.ant.xml b/buildScripts/create-eclipse-project.ant.xml
index 383ebd8b..a9b1a5dc 100644
--- a/buildScripts/create-eclipse-project.ant.xml
+++ b/buildScripts/create-eclipse-project.ant.xml
@@ -1,5 +1,5 @@
<!--
- Copyright (C) 2010-2020 The Project Lombok Authors.
+ Copyright (C) 2010-2021 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
@@ -24,10 +24,11 @@
This buildfile is part of projectlombok.org. It creates the infrastructure needed to develop lombok on eclipse.
</description>
- <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" depends="create.spiProcessor, 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" srcout="bin/main">
+ <srcdir dir="src/spiProcessor" />
<srcdir dir="src/core" />
<srcdir dir="src/core8" />
<srcdir dir="src/launch" />
@@ -52,7 +53,7 @@ This buildfile is part of projectlombok.org. It creates the infrastructure neede
<settings>
<url url="https://projectlombok.org/downloads/lombok.eclipse.settings" />
</settings>
- <apt location="lib/build/projectlombok.org-spi.jar" />
+ <apt location="dist/spiProcessor.jar" />
</ivy:eclipsegen>
</target>
diff --git a/buildScripts/create-intellij-project.ant.xml b/buildScripts/create-intellij-project.ant.xml
index 865e8971..33c1e449 100644
--- a/buildScripts/create-intellij-project.ant.xml
+++ b/buildScripts/create-intellij-project.ant.xml
@@ -1,5 +1,5 @@
<!--
- Copyright (C) 2010-2020 The Project Lombok Authors.
+ Copyright (C) 2010-2021 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
@@ -24,15 +24,22 @@
This buildfile is part of projectlombok.org. It creates the infrastructure needed to develop lombok on intellij.
</description>
- <target name="intellij" depends="deps" description="Creates intellij project files and downloads all dependencies. Open this directory as a project in IntelliJ after running this target">
+ <target name="intellij" depends="create.spiProcessor, deps" description="Creates intellij project files and downloads all dependencies. Open this directory as a project in IntelliJ after running this target">
<echo> ** WARNING ** The core lombok contributors all use eclipse to develop lombok. This script will attempt to set up your lombok directory up as intellij project; whether 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!</echo>
<echo>NOT IMPLEMENTED: The project should optimally be configured as a java1.6, using the rt.jar in lib/openjdk6_rt.jar as boot basis, to ensure lombok remains 1.6 compatible.</echo>
<echo>NOT IMPLEMENTED: Ability to run tests targeted at a specific jvm/javac/ecj/eclipse release; the relevant entrypoint test classes are lombok.RunBaseAndJavacTests and lombok.RunEclipseTests - you can run the eclipse tests even on intellij; an eclipse installation is not required.</echo>
+ <echo>NOT SURE: The annotation processor system that automatically generates the services files has been changed. This AP is now internal to the project,
+ the source files for it are in `src/spiProcessor`, and a build of this is now in `dist/spiProcessor.jar` - you may have to manually add it, though I'm not
+ sure if you actually need it - the files generated by this processor are relevant only when running lombok itself, and if intellij accomplishes this by
+ invoking ant, all will be well.</echo>
<input>Press return to continue</input>
<ivy:intellijgen>
- <conf name="build" sources="contrib" />
- <conf name="test" sources="contrib" />
+ <conf name="build" sources="sources" />
+ <conf name="javac6" sources="sources" />
+ <conf name="test" sources="sources" />
+ <conf name="buildTools" sources="sources" />
<module name="lombok" depends="build, test">
+ <srcdir dir="src/spiProcessor" />
<srcdir dir="src/core" />
<srcdir dir="src/core8" />
<srcdir dir="src/launch" />
diff --git a/buildScripts/ivy.xml b/buildScripts/ivy.xml
index 5dded177..12dd2c5b 100644
--- a/buildScripts/ivy.xml
+++ b/buildScripts/ivy.xml
@@ -38,8 +38,8 @@
<dependency org="org.projectlombok" name="lombok.patcher" rev="0.40" conf="build,stripe->default" />
<dependency org="zwitserloot.com" name="cmdreader" rev="1.2" conf="build,stripe->runtime" />
- <dependency org="projectlombok.org" name="spi" rev="0.2.7" conf="build" />
<dependency org="org.apache.ant" name="ant" rev="1.10.5" conf="build->default" />
+ <dependency org="org.apache.ant" name="ant-junit" rev="1.10.5" conf="build->default" />
<!-- test deps -->
<dependency org="junit" name="junit" rev="4.8.2" conf="test->default; sources" />
@@ -52,6 +52,9 @@
<dependency org="com.google.flogger" name="flogger" rev="0.2" conf="test->default; sources" />
<dependency org="com.google.guava" name="guava" rev="18.0" conf="test->default; sources" />
<dependency org="com.google.code.findbugs" name="findbugs" rev="3.0.1" conf="test->master" />
+ <dependency org="org.springframework" name="spring-core" rev="5.3.4" conf="test->master" />
+ <dependency org="com.fasterxml.jackson.core" name="jackson-databind" rev="2.10.0" conf="test->master" />
+ <dependency org="com.fasterxml.jackson.core" name="jackson-annotations" rev="2.10.0" conf="test->master" />
<!-- build tooling -->
<dependency org="com.hierynomus" name="sshj" rev="0.26.0" conf="buildtools->default" />
diff --git a/buildScripts/setup.ant.xml b/buildScripts/setup.ant.xml
index e71f8143..2a9104eb 100644
--- a/buildScripts/setup.ant.xml
+++ b/buildScripts/setup.ant.xml
@@ -1,5 +1,5 @@
<!--
- Copyright (C) 2020 The Project Lombok Authors.
+ Copyright (C) 2020-2021 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
@@ -25,7 +25,7 @@ This buildfile is part of projectlombok.org. It sets up the build itself.
</description>
<!-- increment this number to force a clean of the 'build' dir -->
- <property name="build.version" value="2020-12-04_001" />
+ <property name="build.version" value="2021-03-18_001" />
<property name="pattern.jdk11plus" value="^(\d\d\d+|1[1-9]|[2-9]\d)(\..*)?$" />
<property name="ivy.retrieve.pattern" value="lib/[conf]/[organisation]-[artifact].[ext]" />
@@ -140,7 +140,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.38" property="ivyplusplus.minimumAvailable" />
+ <ivy:ensureippversion version="1.40" property="ivyplusplus.minimumAvailable" />
</target>
<target name="-ipp.redownload" unless="ivyplusplus.minimumAvailable">
diff --git a/buildScripts/tests.ant.xml b/buildScripts/tests.ant.xml
index f250b340..4cd36b9e 100644
--- a/buildScripts/tests.ant.xml
+++ b/buildScripts/tests.ant.xml
@@ -24,6 +24,14 @@
This buildfile is part of projectlombok.org. It takes care of compiling and running tests.
</description>
+ <target name="test.formatter.compile" depends="deps">
+ <mkdir dir="build/ant" />
+ <ivy:compile ecj="true" srcdir="src/ant" includes="**/SimpleTestFormatter.java" destdir="build/ant" source="1.6" target="1.6">
+ <classpath refid="cp.build" />
+ <classpath refid="cp.test" />
+ </ivy:compile>
+ </target>
+
<target name="test.compile" depends="deps, compile" description="compiles the tests" unless="skip.tests">
<mkdir dir="build/tests" />
<ivy:compile destdir="build/teststubs" source="1.6" target="1.6" ecj="true" nowarn="true">
@@ -55,56 +63,42 @@ This buildfile is part of projectlombok.org. It takes care of compiling and runn
<echo>run ecj11 with a test file to confirm agent injection works: OK</echo>
</target>
- <property name="test.addopens.raw">
- --add-opens jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED
- --add-opens jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED
- --add-opens jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED
- --add-opens jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED
- --add-opens jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED
- --add-opens jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED
- --add-opens jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED
- --add-opens jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED
- </property>
<property name="test.limitmodules">--limit-modules java.base,jdk.unsupported</property>
- <loadresource property="test.addopens">
- <propertyresource name="test.addopens.raw" />
- <filterchain><tokenfilter>
- <filetokenizer />
- <replaceregex pattern="\s+" replace=" " flags="g" />
- </tokenfilter></filterchain>
- </loadresource>
-
- <target name="test.javac6" depends="test.compile" description="runs the tests on your default VM, using javac6 as underlying compiler">
+ <target name="test.javac6" depends="test.formatter.compile, test.compile" description="runs the tests on your default VM, using javac6 as underlying compiler">
<echo>Running TestJavac on JVM${ant.java.version}, with lowest supported javac: 1.6.</echo>
<junit haltonfailure="yes" fork="true" forkmode="once">
+ <formatter classname="lombok.ant.SimpleTestFormatter" usefile="false" unless="tests.quiet" />
+ <classpath location="build/ant" />
<jvmarg value="-Xbootclasspath/a:${jdk6-rt.loc}" />
<jvmarg line="${test.limitmodules}" />
<jvmarg value="-Ddelombok.bootclasspath=${jdk6-rt.loc}" />
<jvmarg value="-Dsun.boot.class.path=${jdk6-rt.loc}" />
- <formatter type="plain" usefile="false" unless="tests.quiet" />
<classpath refid="cp.test" />
<classpath refid="cp.stripe" />
<classpath refid="cp.javac6" />
<classpath refid="packing.basedirs.path" />
<classpath location="build/tests" />
+ <classpath location="build/teststubs" />
<test name="lombok.TestJavac" />
</junit>
</target>
- <target name="test.javac8" depends="test.compile, deps.jdk8-runtime" description="runs the tests on your default VM, using javac8 as underlying compiler">
+ <target name="test.javac8" depends="test.formatter.compile, test.compile, deps.jdk8-runtime" description="runs the tests on your default VM, using javac8 as underlying compiler">
<echo>Running TestJavac on JVM${ant.java.version}, with javac: 1.8.</echo>
<junit haltonfailure="yes" fork="true" forkmode="once">
+ <formatter classname="lombok.ant.SimpleTestFormatter" usefile="false" unless="tests.quiet" />
<jvmarg value="-Xbootclasspath/a:${jdk8-rt.loc}" />
<jvmarg line="${test.limitmodules}" />
<jvmarg value="-Ddelombok.bootclasspath=${jdk8-rt.loc}" />
<jvmarg value="-Dsun.boot.class.path=${jdk8-rt.loc}" />
- <formatter type="plain" usefile="false" unless="tests.quiet" />
+ <classpath location="build/ant" />
<classpath refid="cp.test" />
<classpath refid="cp.stripe" />
<classpath refid="cp.javac8" />
<classpath refid="packing.basedirs.path" />
<classpath location="build/tests" />
+ <classpath location="build/teststubs" />
<test name="lombok.TestJavac" />
</junit>
</target>
@@ -116,8 +110,8 @@ This buildfile is part of projectlombok.org. It takes care of compiling and runn
<echo>Running TestJavac with JVM ${jvm.loc.@{version}}.</echo>
<junit haltonfailure="yes" fork="true" forkmode="once" jvm="${jvm.loc.@{version}}/bin/${exe.java}">
- <jvmarg line="${test.addopens}" />
- <formatter type="plain" usefile="false" unless="tests.quiet" />
+ <formatter classname="lombok.ant.SimpleTestFormatter" usefile="false" unless="tests.quiet" />
+ <classpath location="build/ant" />
<classpath refid="cp.test" />
<classpath refid="cp.stripe" />
<classpath refid="packing.basedirs.path" />
@@ -128,19 +122,25 @@ This buildfile is part of projectlombok.org. It takes care of compiling and runn
</sequential>
</macrodef>
- <target name="test.javac11" depends="test.compile" description="runs the tests on your default VM, using javac11 as underlying compiler">
+ <target name="test.javac11" depends="test.formatter.compile, test.compile" description="runs the tests on your default VM, using javac11 as underlying compiler">
<test.javacX version="11" />
</target>
- <target name="test.javac14" depends="test.compile" description="runs the tests on your default VM, using javac14 as underlying compiler">
+ <!-- For non-LTS versions, feel free to aggressively update these to the current non-LTS openjdk version, and delete them once they roll out of the 6month window. -->
+
+ <target name="test.javac14" depends="test.formatter.compile, test.compile" description="runs the tests on your default VM, using javac14 as underlying compiler">
<test.javacX version="14" />
</target>
- <target name="test.javacCurrent" depends="test.compile" description="runs the tests on your default VM, using its javac as underlying compiler">
+ <target name="test.javac16" depends="test.formatter.compile, test.compile" description="runs the tests on your default VM, using javac16 as underlying compiler">
+ <test.javacX version="16" />
+ </target>
+
+ <target name="test.javacCurrent" depends="test.formatter.compile, test.compile" description="runs the tests on your default VM, using its javac as underlying compiler">
<echo>Running TestJavac on JVM${ant.java.version}, with the javac built into your VM distributon.</echo>
<junit haltonfailure="yes" fork="true" forkmode="once">
- <jvmarg line="${test.addopens}" />
- <formatter type="plain" usefile="false" unless="tests.quiet" />
+ <formatter classname="lombok.ant.SimpleTestFormatter" usefile="false" unless="tests.quiet" />
+ <classpath location="build/ant" />
<classpath refid="cp.test" />
<classpath refid="cp.stripe" />
<classpath refid="packing.basedirs.path" />
@@ -155,11 +155,11 @@ This buildfile is part of projectlombok.org. It takes care of compiling and runn
<sequential>
<echo>Running TestEclipse on eclipse-@{version} on JVM${ant.java.version}.</echo>
<junit haltonfailure="yes" fork="true" forkmode="once">
+ <formatter classname="lombok.ant.SimpleTestFormatter" usefile="false" unless="tests.quiet" />
<jvmarg value="-Xbootclasspath/a:${jdk8-rt.loc}" />
<jvmarg value="-Ddelombok.bootclasspath=${jdk8-rt.loc}" />
<jvmarg value="-javaagent:dist/lombok.jar" />
- <jvmarg line="${test.addopens}" />
- <formatter type="plain" usefile="false" unless="tests.quiet" />
+ <classpath location="build/ant" />
<classpath refid="cp.test" />
<classpath refid="cp.stripe" />
<classpath refid="cp.eclipse-@{version}" />
@@ -170,11 +170,11 @@ This buildfile is part of projectlombok.org. It takes care of compiling and runn
</sequential>
</macrodef>
- <target name="test.eclipse-oxygen" depends="test.compile" description="runs the tests on your default VM, testing the oxygen release of eclipse">
+ <target name="test.eclipse-oxygen" depends="test.formatter.compile, test.compile" description="runs the tests on your default VM, testing the oxygen release of eclipse">
<test.eclipse-X version="oxygen" />
</target>
- <target name="test.eclipse-202006" depends="test.compile" description="runs the tests on your default VM, testing the 2020-03 release of eclipse">
+ <target name="test.eclipse-202006" depends="test.formatter.compile, test.compile" description="runs the tests on your default VM, testing the 2020-03 release of eclipse">
<fetchdep.eclipse version="202006" />
<test.eclipse-X version="202006" />
</target>
diff --git a/buildScripts/vm-finder.ant.xml b/buildScripts/vm-finder.ant.xml
index a15d8ed0..2a33b2b8 100644
--- a/buildScripts/vm-finder.ant.xml
+++ b/buildScripts/vm-finder.ant.xml
@@ -60,7 +60,8 @@ and rerun the build; this build is capable of finding VMs automatically on many
<fail unless="find-vm.version">Set property find-vm.version first</fail>
<local name="java_home.answer" />
<local name="java_home.result" />
- <exec executable="${exe.java_home}" errorproperty="discard" outputproperty="java_home.answer" failifexecutionfails="false" resultproperty="java_home.result">
+ <exec newenvironment="true" executable="${exe.java_home}" errorproperty="discard" outputproperty="java_home.answer" failifexecutionfails="false" resultproperty="java_home.result">
+ <env key="floobargle" value="FOO" /> <!-- we do not want JAVA_HOME to be set. This requires newenvironment="true" AND some sort of env value -->
<arg value="-v" />
<arg value="${find-vm.version}" />
</exec>