Update compile-java to expose test.sources[*] property and new extension points
git-svn-id: https://svn.apache.org/repos/asf/ant/easyant/plugins/trunk@1507619 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/compile-test-java/module.ivy b/compile-test-java/module.ivy
index 90ebfa7..eaf7996 100644
--- a/compile-test-java/module.ivy
+++ b/compile-test-java/module.ivy
@@ -15,7 +15,7 @@
limitations under the License.
-->
<ivy-module version="2.0" xmlns:ea="http://www.easyant.org">
- <info organisation="org.apache.easyant.plugins" module="compile-test-java" revision="0.9">
+ <info organisation="org.apache.easyant.plugins" module="compile-test-java" revision="0.10">
<extends organisation="org.apache.easyant.plugins" module="parent-plugin" revision="0.1" location="../parent.ivy" />
<description>This module provides java compilation feature for tests.</description>
<ea:build organisation="org.apache.easyant.buildtypes" module="build-std-ant-plugin" revision="0.1" />
diff --git a/compile-test-java/src/main/resources/compile-test-java.ant b/compile-test-java/src/main/resources/compile-test-java.ant
index 79a8dfe..4ce2e86 100644
--- a/compile-test-java/src/main/resources/compile-test-java.ant
+++ b/compile-test-java/src/main/resources/compile-test-java.ant
@@ -16,16 +16,35 @@
-->
<project name="org.apache.easyant.plugins#compile-test-java" xmlns:ea="antlib:org.apache.easyant">
<ea:core-version requiredrevision="[0.9,+]" />
-
- <ea:plugin module="abstract-compile" revision="0.9" />
+
+ <ea:plugin module="abstract-compile" revision="0.10" />
<ea:parameter property="src.test.java" default="${basedir}/src/test/java" description="directory where test sources to be compiled are" />
- <ea:parameter property="src.test.integration.java" default="${basedir}/src/integration-test/java"
- description="directory where integration test sources to be compiled are" />
- <ea:parameter property="javac.debug.mode" default="true" description="javac debug mode, true or false" />
+ <ea:parameter property="test.compile.includes.pattern" default="**/*.java"
+ description="Pattern describing files included in test compilation process" />
+ <ea:parameter property="test.compile.excludes.pattern" default=""
+ description="Pattern describing files excluded in test compilation process" />
<available file="${src.test.java}" property="has.src.test.java" />
+
+
+ <ea:parameter property="src.test.integration.java" default="${basedir}/src/integration-test/java"
+ description="directory where integration test sources to be compiled are" />
+ <ea:parameter property="test.integration.compile.includes.pattern" default="**/*.java"
+ description="Pattern describing files included in integration test compilation process" />
+ <ea:parameter property="test.integration.compile.excludes.pattern" default=""
+ description="Pattern describing files excluded in integration test compilation process" />
+
+ <ea:parameter property="javac.debug.mode" default="true" description="javac debug mode, true or false" />
<available file="${src.test.integration.java}" property="has.src.test.integration.java" />
+ <property name="test.sources" value="${src.test.java}"/>
+ <property name="test.sources.includes" value="${test.compile.includes.pattern}"/>
+ <property name="test.sources.excludes" value="${test.compile.excludes.pattern}"/>
+
+ <property name="test.integration.sources" value="${src.test.integration.java}"/>
+ <property name="test.integration.sources.includes" value="${test.integration.compile.includes.pattern}"/>
+ <property name="test.integration.sources.excludes" value="${test.integration.compile.excludes.pattern}"/>
+
<macrodef name="compile-java-tests">
<attribute name="prefix" />
<sequential>
@@ -38,29 +57,21 @@
</sequential>
</macrodef>
- <target name="compile-test-java:compile" depends="abstract-compile:compile-ready" if="has.src.test.java"
+ <target name="compile-test-java:compile" depends="abstract-compile:test-compile-ready" if="has.src.test.java"
extensionOf="abstract-compile:compile">
<ea:parameter property="test.compile.java.target.version" default="${ant.java.version}"
description="Specify a VM version for Generated class files (e.g., 1.1 or 1.2)." />
<ea:parameter property="test.compile.java.source.version" default="${ant.java.version}"
description="Specify a value of the -source command-line switch; will be ignored by all implementations prior to javac1.4 (or modern when Ant is not running in a 1.3 VM) and jikes" />
- <ea:parameter property="test.compile.includes.pattern" default="**/*.java"
- description="Pattern describing files included in test compilation process" />
- <ea:parameter property="test.compile.excludes.pattern" default=""
- description="Pattern describing files excluded in test compilation process" />
- <compile-java-tests prefix="test" />
+ <compile-java-tests prefix="test" />
</target>
- <target name="compile-test-java:compile-integration" depends="abstract-compile:compile-ready" if="has.src.test.integration.java"
+ <target name="compile-test-java:compile-integration" depends="abstract-compile:test-compile-ready" if="has.src.test.integration.java"
extensionOf="abstract-compile:compile">
<ea:parameter property="test.integration.compile.java.target.version" default="${ant.java.version}"
description="Specify a VM version for Generated class files (e.g., 1.1 or 1.2)." />
<ea:parameter property="test.integration.compile.java.source.version" default="${ant.java.version}"
description="Specify a value of the -source command-line switch; will be ignored by all implementations prior to javac1.4 (or modern when Ant is not running in a 1.3 VM) and jikes" />
- <ea:parameter property="test.integration.compile.includes.pattern" default="**/*.java"
- description="Pattern describing files included in integration test compilation process" />
- <ea:parameter property="test.integration.compile.excludes.pattern" default=""
- description="Pattern describing files excluded in integration test compilation process" />
<compile-java-tests prefix="test.integration" />
</target>
</project>
\ No newline at end of file
diff --git a/compile-test-java/src/test/antunit/compile-test-java-test.xml b/compile-test-java/src/test/antunit/compile-test-java-test.xml
index 90ae092..21c8479 100644
--- a/compile-test-java/src/test/antunit/compile-test-java-test.xml
+++ b/compile-test-java/src/test/antunit/compile-test-java-test.xml
@@ -37,15 +37,28 @@
<target name="test-compile-test-java">
<au:assertPropertyEquals name="src.test.java" value="${basedir}/src/test/java" />
- <au:assertPropertyEquals name="src.test.integration.java" value="${basedir}/src/integration-test/java" />
- <au:assertPropertyEquals name="javac.debug.mode" value="true" />
+ <au:assertPropertyEquals name="test.compile.includes.pattern" value="**/*.java" />
+ <au:assertPropertyEquals name="test.compile.excludes.pattern" value="" />
<au:assertPropertyEquals name="has.src.test.java" value="true" />
- <au:assertPropertyEquals name="has.src.test.integration.java" value="true" />
+
+ <au:assertPropertyEquals name="src.test.integration.java" value="${basedir}/src/integration-test/java" />
+ <au:assertPropertyEquals name="test.integration.compile.includes.pattern" value="**/*.java" />
+ <au:assertPropertyEquals name="test.integration.compile.excludes.pattern" value="" />
+ <au:assertPropertyEquals name="has.src.test.integration.java" value="true" />
+
+ <au:assertPropertyEquals name="javac.debug.mode" value="true" />
+
+ <au:assertPropertyEquals name="test.sources" value="${src.test.java}"/>
+ <au:assertPropertyEquals name="test.sources.includes" value="${test.compile.includes.pattern}"/>
+ <au:assertPropertyEquals name="test.sources.excludes" value="${test.compile.excludes.pattern}"/>
+
+ <au:assertPropertyEquals name="test.integration.sources" value="${src.test.integration.java}"/>
+ <au:assertPropertyEquals name="test.integration.sources.includes" value="${test.integration.compile.includes.pattern}"/>
+ <au:assertPropertyEquals name="test.integration.sources.excludes" value="${test.integration.compile.excludes.pattern}"/>
+
</target>
<target name="test-compile-test-java:compile" depends="compile-test-java:compile">
- <au:assertPropertyEquals name="test.compile.includes.pattern" value="**/*.java" />
- <au:assertPropertyEquals name="test.compile.excludes.pattern" value="" />
<au:assertPropertyEquals name="test.compile.java.target.version" value="${ant.java.version}" />
<au:assertPropertyEquals name="test.compile.java.source.version" value="${ant.java.version}" />
<au:assertFileExists file="${target.test.classes}" />
@@ -53,8 +66,6 @@
</target>
<target name="test-compile-test-java:compile-integration" depends="compile-test-java:compile-integration">
- <au:assertPropertyEquals name="test.integration.compile.includes.pattern" value="**/*.java" />
- <au:assertPropertyEquals name="test.integration.compile.excludes.pattern" value="" />
<au:assertPropertyEquals name="test.integration.compile.java.target.version" value="${ant.java.version}" />
<au:assertPropertyEquals name="test.integration.compile.java.source.version" value="${ant.java.version}" />
<au:assertFileExists file="${target.test.integration.classes}" />