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}" />