Format buildtype code and reference the parent

git-svn-id: https://svn.apache.org/repos/asf/incubator/easyant/buildtypes/trunk@1398917 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/build-std-ant-plugin/module.ivy b/build-std-ant-plugin/module.ivy
index 12dea27..2c4bcdb 100644
--- a/build-std-ant-plugin/module.ivy
+++ b/build-std-ant-plugin/module.ivy
@@ -14,18 +14,22 @@
    See the License for the specific language governing permissions and
    limitations under the License.
 -->
-<ivy-module version="2.0" xmlns:ea="http://www.easyant.org"> 
+<ivy-module version="2.0" xmlns:ea="http://www.easyant.org">
     <info organisation="org.apache.easyant.buildtypes" module="build-std-ant-plugin" revision="0.9">
-           <description>A standard build for true ant plugins, relying on standard phases, and providing compilation, execution and unit tests</description>
-           <ea:build organisation="org.apache.easyant.buildtypes" module="build-std-ant-plugin" revision="0.1"/>
-        </info>
-        <configurations>
-                <conf name="default" description="runtime dependencies artifact can be used with this conf"/>
-                <conf name="test" description="this scope indicates that the dependency is not required for normal use of the application, and is only available for the test compilation and execution phases."/>
-                <conf name="provided" description="this is much like compile, but indicates you expect the JDK or a container to provide it. It is only available on the compilation classpath, and is not transitive."/>
-        </configurations>
+        <extends organisation="org.apache.easyant.buildtypes" module="parent-buildtype" revision="0.1"/>
+        <description>A standard build for true ant plugins, relying on standard phases, and providing compilation,
+            execution and unit tests</description>
+        <ea:build organisation="org.apache.easyant.buildtypes" module="build-std-ant-plugin" revision="0.1" />
+    </info>
+    <configurations>
+        <conf name="default" description="runtime dependencies artifact can be used with this conf" />
+        <conf name="test"
+            description="this scope indicates that the dependency is not required for normal use of the application, and is only available for the test compilation and execution phases." />
+        <conf name="provided"
+            description="this is much like compile, but indicates you expect the JDK or a container to provide it. It is only available on the compilation classpath, and is not transitive." />
+    </configurations>
     <publications>
-        <artifact type="ant"/>
-        <artifact type="properties"/>
+        <artifact type="ant" />
+        <artifact type="properties" />
     </publications>
-</ivy-module>
+</ivy-module>
\ No newline at end of file
diff --git a/build-std-ant-plugin/src/main/resources/build-std-ant-plugin.ant b/build-std-ant-plugin/src/main/resources/build-std-ant-plugin.ant
index fa63c83..1cc6663 100644
--- a/build-std-ant-plugin/src/main/resources/build-std-ant-plugin.ant
+++ b/build-std-ant-plugin/src/main/resources/build-std-ant-plugin.ant
@@ -14,16 +14,11 @@
    See the License for the specific language governing permissions and
    limitations under the License.
 -->
-<project name="org.apache.easyant.buildtypes#build-std-ant-plugin"
-    xmlns:ivy="antlib:org.apache.ivy.ant"
+<project name="org.apache.easyant.buildtypes#build-std-ant-plugin" xmlns:ivy="antlib:org.apache.ivy.ant"
     xmlns:ea="antlib:org.apache.easyant">
-
     <ea:core-version requiredrevision="[0.9,+]" />
-
-    <echo message="Building ${ivy.organisation} ${ivy.module} with org.apache.easyant.buildtypes#build-std-ant-plugin..."/>
-
+    <echo message="Building ${ivy.organisation} ${ivy.module} with org.apache.easyant.buildtypes#build-std-ant-plugin..." />
     <property file="${org.apache.easyant.buildtypes#build-std-ant-plugin.properties.file}" />
-
     <ea:import mrid="org.apache.easyant.plugins#phases-std;0.9" />
     <ea:import mrid="org.apache.easyant.plugins#clean-std;0.9" />
     <ea:import mrid="org.apache.easyant.plugins#resources-std;0.9" />
@@ -37,17 +32,16 @@
     <bindtargets targets="resources-std:copy-resources" extensionPoint="ivy-publication:publish-ready" />
 
     <!-- bind high level targets -->
-    <bindtargets targets="clean-std:clean" extensionPoint="clean"/>
-    <bindtargets targets="abstract-test:test-run" extensionPoint="test"/>
-    <bindtargets targets="abstract-test:integration-test-run" extensionPoint="integration-test"/>
-    <bindtargets targets="ivy-publication:publish-local" extensionPoint="publish-local"/>
-    <bindtargets targets="ivy-publication:publish-shared" extensionPoint="publish-shared"/>
-    <bindtargets targets="ivy-publication:release" extensionPoint="release"/>
-    <bindtargets targets="antunit:run" extensionPoint="test"/>
+    <bindtargets targets="clean-std:clean" extensionPoint="clean" />
+    <bindtargets targets="abstract-test:test-run" extensionPoint="test" />
+    <bindtargets targets="abstract-test:integration-test-run" extensionPoint="integration-test" />
+    <bindtargets targets="ivy-publication:publish-local" extensionPoint="publish-local" />
+    <bindtargets targets="ivy-publication:publish-shared" extensionPoint="publish-shared" />
+    <bindtargets targets="ivy-publication:release" extensionPoint="release" />
+    <bindtargets targets="antunit:run" extensionPoint="test" />
 
 
     <!-- additionnal friendtly target names -->
     <target name="dist" depends="ivy-publication:publish-ready" description="Produce every artifact to be distributed" />
     <target name="install" depends="ivy-publication:publish-local" description="Install the artifacts into local repository" />
-
-</project>
+</project>
\ No newline at end of file
diff --git a/build-std-groovy/module.ivy b/build-std-groovy/module.ivy
index 78ccd05..a087d2f 100644
--- a/build-std-groovy/module.ivy
+++ b/build-std-groovy/module.ivy
@@ -14,17 +14,20 @@
    See the License for the specific language governing permissions and
    limitations under the License.
 -->
-<ivy-module version="2.0" xmlns:ea="http://www.easyant.org"> 
+<ivy-module version="2.0" xmlns:ea="http://www.easyant.org">
     <info organisation="org.apache.easyant.buildtypes" module="build-std-groovy" revision="0.9">
-           <ea:build organisation="org.apache.easyant.buildtypes" module="build-std-ant-plugin" revision="0.1"/>
-        </info>
-        <configurations>
-                <conf name="default" description="runtime dependencies artifact can be used with this conf"/>
-                <conf name="test" description="this scope indicates that the dependency is not required for normal use of the application, and is only available for the test compilation and execution phases."/>
-                <conf name="provided" description="this is much like compile, but indicates you expect the JDK or a container to provide it. It is only available on the compilation classpath, and is not transitive."/>
-        </configurations>
+        <extends organisation="org.apache.easyant.buildtypes" module="parent-buildtype" revision="0.1"/>
+        <ea:build organisation="org.apache.easyant.buildtypes" module="build-std-ant-plugin" revision="0.1" />
+    </info>
+    <configurations>
+        <conf name="default" description="runtime dependencies artifact can be used with this conf" />
+        <conf name="test"
+            description="this scope indicates that the dependency is not required for normal use of the application, and is only available for the test compilation and execution phases." />
+        <conf name="provided"
+            description="this is much like compile, but indicates you expect the JDK or a container to provide it. It is only available on the compilation classpath, and is not transitive." />
+    </configurations>
     <publications>
-        <artifact type="ant"/>
-        <artifact type="properties"/>
+        <artifact type="ant" />
+        <artifact type="properties" />
     </publications>
-</ivy-module>
+</ivy-module>
\ No newline at end of file
diff --git a/build-std-groovy/src/main/resources/build-std-groovy.ant b/build-std-groovy/src/main/resources/build-std-groovy.ant
index f5dde55..87c3d3b 100644
--- a/build-std-groovy/src/main/resources/build-std-groovy.ant
+++ b/build-std-groovy/src/main/resources/build-std-groovy.ant
@@ -14,15 +14,10 @@
    See the License for the specific language governing permissions and
    limitations under the License.
 -->
-<project name="org.apache.easyant.buildtypes#build-std-groovy"
-    xmlns:ea="antlib:org.apache.easyant">
-    
+<project name="org.apache.easyant.buildtypes#build-std-groovy" xmlns:ea="antlib:org.apache.easyant">
     <ea:core-version requiredrevision="[0.9,+]" />
-
-    <echo message="Building ${ivy.organisation} ${ivy.module} with org.apache.easyant.buildtypes#build-std-groovy..."/>
-
+    <echo message="Building ${ivy.organisation} ${ivy.module} with org.apache.easyant.buildtypes#build-std-groovy..." />
     <property file="${org.apache.easyant.buildtypes#build-std-groovy.properties.file}" />
-
     <ea:import mrid="org.apache.easyant.plugins#phases-std;0.9" />
     <ea:import mrid="org.apache.easyant.plugins#clean-std;0.9" />
     <ea:import mrid="org.apache.easyant.plugins#ivy-provisioning;0.9" />
@@ -38,21 +33,21 @@
 
     <!-- plugin binding -->
     <bindtargets targets="manifest:manifest-runnable,resources-std:copy-resources" extensionPoint="abstract-package:package-ready" />
-    <bindtargets targets="abstract-compile:compile,resources-std:copy-resources,resources-std:copy-test-resources" extensionPoint="abstract-test:test-ready" />
+    <bindtargets targets="abstract-compile:compile,resources-std:copy-resources,resources-std:copy-test-resources"
+        extensionPoint="abstract-test:test-ready" />
     <bindtargets targets="package-jar:jar" extensionPoint="ivy-publication:publish-ready" />
 
     <!-- bind high level targets -->
-    <bindtargets targets="clean-std:clean" extensionPoint="clean"/>
-    <bindtargets targets="abstract-compile:compile" extensionPoint="compile"/>
-    <bindtargets targets="abstract-test:test-run" extensionPoint="test"/>
-    <bindtargets targets="abstract-test:integration-test-run" extensionPoint="integration-test"/>
-    <bindtargets targets="abstract-package:package" extensionPoint="package"/>
-    <bindtargets targets="ivy-publication:publish-local" extensionPoint="publish-local"/>
-    <bindtargets targets="ivy-publication:publish-shared" extensionPoint="publish-shared"/>
-    <bindtargets targets="ivy-publication:release" extensionPoint="release"/>
+    <bindtargets targets="clean-std:clean" extensionPoint="clean" />
+    <bindtargets targets="abstract-compile:compile" extensionPoint="compile" />
+    <bindtargets targets="abstract-test:test-run" extensionPoint="test" />
+    <bindtargets targets="abstract-test:integration-test-run" extensionPoint="integration-test" />
+    <bindtargets targets="abstract-package:package" extensionPoint="package" />
+    <bindtargets targets="ivy-publication:publish-local" extensionPoint="publish-local" />
+    <bindtargets targets="ivy-publication:publish-shared" extensionPoint="publish-shared" />
+    <bindtargets targets="ivy-publication:release" extensionPoint="release" />
 
     <!-- additionnal friendtly target names -->
     <target name="dist" depends="ivy-publication:publish-ready" description="Produce every artifact to be distributed" />
     <target name="install" depends="ivy-publication:publish-local" description="Install the artifacts into local repository" />
-
-</project>
+</project>
\ No newline at end of file
diff --git a/build-std-groovy/src/test/antunit/build-std-groovy-test.xml b/build-std-groovy/src/test/antunit/build-std-groovy-test.xml
index 06b85b6..06a4910 100644
--- a/build-std-groovy/src/test/antunit/build-std-groovy-test.xml
+++ b/build-std-groovy/src/test/antunit/build-std-groovy-test.xml
@@ -14,49 +14,49 @@
    See the License for the specific language governing permissions and
    limitations under the License.
 -->
-<project name="org.apache.easyant.plugins;build-std-groovy-test" 
-    xmlns:au="antlib:org.apache.ant.antunit" 
-    xmlns:ivy="antlib:org.apache.ivy.ant"
-    xmlns:ea="antlib:org.apache.easyant">
+<project name="org.apache.easyant.plugins;build-std-groovy-test" xmlns:au="antlib:org.apache.ant.antunit"
+    xmlns:ivy="antlib:org.apache.ivy.ant" xmlns:ea="antlib:org.apache.easyant">
     
-    <!-- Import your plugin --> 
-    <property name="target" value="target/test-antunit"/>
+    <!-- Import your plugin -->
+    <property name="target" value="target/test-antunit" />
     <!-- configure easyant in current project -->
     <ea:configure-easyant-ivy-instance />
     <!-- import our local plugin -->
-    <property name="easyant.file" value="${basedir}/module.ivy"/>
-    <ea:import-test-module moduleIvy="../../../module.ivy" sourceDirectory="../../main/resources"/>
+    <property name="easyant.file" value="${basedir}/module.ivy" />
+    <ea:import-test-module moduleIvy="../../../module.ivy" sourceDirectory="../../main/resources" />
 
-    <!-- Defines a setUp / tearDown (before each test) that cleans the environnement --> 
+    <!-- Defines a setUp / tearDown (before each test) that cleans the environnement -->
     <target name="clean-test" description="remove stale build artifacts before / after each test">
         <delete dir="${basedir}" includeemptydirs="true">
-            <include name="**/target/**"/>
-            <include name="**/lib/**"/>
+            <include name="**/target/**" />
+            <include name="**/lib/**" />
         </delete>
     </target>
-    
     <target name="setUp" depends="clean-test">
-       <ivy:settings id="project.ivy.instance"/>
+        <ivy:settings id="project.ivy.instance" />
     </target>
-    <target name="tearDown" depends="clean-test"/>
-    
+    <target name="tearDown" depends="clean-test" />
     <target name="test-build-std-groovy:clean" depends="clean">
-         <au:assertLogContains text="Cleaning ${target}..."/>
-         <au:assertLogContains text="Build sequence for target(s) `setUp', `test-build-std-groovy:clean' is [clean-test, setUp, clean-std:clean, clean, test-build-std-groovy:clean]" level="debug"/>
-   </target>
-
-   <target name="test-build-std-groovy:compile" depends="compile">
-         <au:assertLogContains text="Build sequence for target(s) `setUp', `test-build-std-groovy:compile' is [clean-test, setUp, -ivy-provisioning:init, abstract-provisioning:provisioning-ready, -ivy-provisioning:resolve, -ivy-provisioning:resolve-main-confs, -ivy-provisioning:resolve-test-confs, -ivy-provisioning:resolve-provided-confs, ivy-provisioning:resolve, abstract-provisioning:provisioning, abstract-compile:compile-ready, compile-groovy:init, -compile-groovy:configure, compile-groovy:compile, compile-test-groovy:configure, compile-test-groovy:compile, compile-test-groovy:compile-integration, abstract-compile:compile, compile, test-build-std-groovy:compile]" level="debug"/>
+        <au:assertLogContains text="Cleaning ${target}..." />
+        <au:assertLogContains
+            text="Build sequence for target(s) `setUp', `test-build-std-groovy:clean' is [clean-test, setUp, clean-std:clean, clean, test-build-std-groovy:clean]"
+            level="debug" />
     </target>
-
+    <target name="test-build-std-groovy:compile" depends="compile">
+        <au:assertLogContains
+            text="Build sequence for target(s) `setUp', `test-build-std-groovy:compile' is [clean-test, setUp, -ivy-provisioning:init, abstract-provisioning:provisioning-ready, -ivy-provisioning:resolve, -ivy-provisioning:resolve-main-confs, -ivy-provisioning:resolve-test-confs, -ivy-provisioning:resolve-provided-confs, ivy-provisioning:resolve, abstract-provisioning:provisioning, abstract-compile:compile-ready, compile-groovy:init, -compile-groovy:configure, compile-groovy:compile, compile-test-groovy:configure, compile-test-groovy:compile, compile-test-groovy:compile-integration, abstract-compile:compile, compile, test-build-std-groovy:compile]"
+            level="debug" />
+    </target>
     <target name="test-build-std-groovy:test" depends="test">
-         <au:assertLogContains text="Running org.apache.easyant.example.ExampleTest"/>
-         <au:assertLogContains text="Tests run: 2, Failures: 0, Errors: 0"/>
-         <au:assertLogContains text="Build sequence for target(s) `setUp', `test-build-std-groovy:test' is [clean-test, setUp, -ivy-provisioning:init, abstract-provisioning:provisioning-ready, -ivy-provisioning:resolve, -ivy-provisioning:resolve-main-confs, -ivy-provisioning:resolve-test-confs, -ivy-provisioning:resolve-provided-confs, ivy-provisioning:resolve, abstract-provisioning:provisioning, abstract-compile:compile-ready, compile-groovy:init, -compile-groovy:configure, compile-groovy:compile, compile-test-groovy:configure, compile-test-groovy:compile, compile-test-groovy:compile-integration, abstract-compile:compile, compile, resources-std:init, -resources-std:check-resources, resources-std:copy-resources, resources-std:copy-test-resources, abstract-test:test-ready, abstract-test:init, test-junit:init, abstract-test:compute-test-sets, -test-junit:test, test-junit:run, abstract-test:test-run, test, test-build-std-groovy:test]" level="debug"/>
+        <au:assertLogContains text="Running org.apache.easyant.example.ExampleTest" />
+        <au:assertLogContains text="Tests run: 2, Failures: 0, Errors: 0" />
+        <au:assertLogContains
+            text="Build sequence for target(s) `setUp', `test-build-std-groovy:test' is [clean-test, setUp, -ivy-provisioning:init, abstract-provisioning:provisioning-ready, -ivy-provisioning:resolve, -ivy-provisioning:resolve-main-confs, -ivy-provisioning:resolve-test-confs, -ivy-provisioning:resolve-provided-confs, ivy-provisioning:resolve, abstract-provisioning:provisioning, abstract-compile:compile-ready, compile-groovy:init, -compile-groovy:configure, compile-groovy:compile, compile-test-groovy:configure, compile-test-groovy:compile, compile-test-groovy:compile-integration, abstract-compile:compile, compile, resources-std:init, -resources-std:check-resources, resources-std:copy-resources, resources-std:copy-test-resources, abstract-test:test-ready, abstract-test:init, test-junit:init, abstract-test:compute-test-sets, -test-junit:test, test-junit:run, abstract-test:test-run, test, test-build-std-groovy:test]"
+            level="debug" />
     </target>
-
-   <target name="test-build-std-groovy:package" depends="package">
-       <au:assertLogContains text="Build sequence for target(s) `setUp', `test-build-std-groovy:package' is [clean-test, setUp, -ivy-provisioning:init, abstract-provisioning:provisioning-ready, -ivy-provisioning:resolve, -ivy-provisioning:resolve-main-confs, -ivy-provisioning:resolve-test-confs, -ivy-provisioning:resolve-provided-confs, ivy-provisioning:resolve, abstract-provisioning:provisioning, abstract-compile:compile-ready, compile-groovy:init, -compile-groovy:configure, compile-groovy:compile, compile-test-groovy:configure, compile-test-groovy:compile, compile-test-groovy:compile-integration, abstract-compile:compile, compile, manifest:init, -manifest:generate-version-number, manifest:manifest, manifest:manifest-runnable, resources-std:init, -resources-std:check-resources, resources-std:copy-resources, abstract-package:package-ready, abstract-package:init, abstract-package:compute-metainf, package-jar:init, package-jar:jar, abstract-package:register-main-artifact, abstract-package:package, package, test-build-std-groovy:package]" level="debug"/>
-   </target>
-
-</project>
+    <target name="test-build-std-groovy:package" depends="package">
+        <au:assertLogContains
+            text="Build sequence for target(s) `setUp', `test-build-std-groovy:package' is [clean-test, setUp, -ivy-provisioning:init, abstract-provisioning:provisioning-ready, -ivy-provisioning:resolve, -ivy-provisioning:resolve-main-confs, -ivy-provisioning:resolve-test-confs, -ivy-provisioning:resolve-provided-confs, ivy-provisioning:resolve, abstract-provisioning:provisioning, abstract-compile:compile-ready, compile-groovy:init, -compile-groovy:configure, compile-groovy:compile, compile-test-groovy:configure, compile-test-groovy:compile, compile-test-groovy:compile-integration, abstract-compile:compile, compile, manifest:init, -manifest:generate-version-number, manifest:manifest, manifest:manifest-runnable, resources-std:init, -resources-std:check-resources, resources-std:copy-resources, abstract-package:package-ready, abstract-package:init, abstract-package:compute-metainf, package-jar:init, package-jar:jar, abstract-package:register-main-artifact, abstract-package:package, package, test-build-std-groovy:package]"
+            level="debug" />
+    </target>
+</project>
\ No newline at end of file
diff --git a/build-std-groovy/src/test/antunit/module.ivy b/build-std-groovy/src/test/antunit/module.ivy
index 5bc9469..09e3cd0 100644
--- a/build-std-groovy/src/test/antunit/module.ivy
+++ b/build-std-groovy/src/test/antunit/module.ivy
@@ -14,18 +14,18 @@
    See the License for the specific language governing permissions and
    limitations under the License.
 -->
-<ivy-module version="2.0" xmlns:ea="http://www.easyant.org"> 
-    <info organisation="org.apache.easyant" module="standard-java-app" revision="0.1" status="integration" >
-<ea:build module="build-std-groovy" revision="0.9"/>
+<ivy-module version="2.0" xmlns:ea="http://www.easyant.org">
+    <info organisation="org.apache.easyant" module="standard-java-app" revision="0.1" status="integration">
+        <ea:build module="build-std-groovy" revision="0.9" />
     </info>
     <configurations>
-        <conf name="default" visibility="public" description="runtime dependencies and master artifact can be used with this conf"/>
-        <conf name="test" visibility="private" description="this scope indicates that the dependency is not required for normal use of the application, and is only available for the test compilation and execution phases."/>
+        <conf name="default" visibility="public" description="runtime dependencies and master artifact can be used with this conf" />
+        <conf name="test" visibility="private"
+            description="this scope indicates that the dependency is not required for normal use of the application, and is only available for the test compilation and execution phases." />
     </configurations>
     <dependencies>
-        <dependency org="hsqldb" name="hsqldb" rev="1.8.0.7" conf="default->default"/>
+        <dependency org="hsqldb" name="hsqldb" rev="1.8.0.7" conf="default->default" />
         <dependency org="junit" name="junit" rev="4.4" conf="test->default" />
-        <dependency org="org.codehaus.groovy" name="groovy-all" rev="2.0.0" conf="test->default"/>
-
+        <dependency org="org.codehaus.groovy" name="groovy-all" rev="2.0.0" conf="test->default" />
     </dependencies>
-</ivy-module>
+</ivy-module>
\ No newline at end of file
diff --git a/build-std-java/module.ivy b/build-std-java/module.ivy
index 0a9b7a3..197b41a 100644
--- a/build-std-java/module.ivy
+++ b/build-std-java/module.ivy
@@ -14,18 +14,22 @@
    See the License for the specific language governing permissions and
    limitations under the License.
 -->
-<ivy-module version="2.0" xmlns:ea="http://www.easyant.org"> 
+<ivy-module version="2.0" xmlns:ea="http://www.easyant.org">
     <info organisation="org.apache.easyant.buildtypes" module="build-std-java" revision="0.9">
-           <description>A standard build for simple java modules, relying on standard phases, and providing compilation, execution and unit tests</description>
-           <ea:build organisation="org.apache.easyant.buildtypes" module="build-std-ant-plugin" revision="0.1"/>
-        </info>
-        <configurations>
-                <conf name="default" description="runtime dependencies artifact can be used with this conf"/>
-                <conf name="test" description="this scope indicates that the dependency is not required for normal use of the application, and is only available for the test compilation and execution phases."/>
-                <conf name="provided" description="this is much like compile, but indicates you expect the JDK or a container to provide it. It is only available on the compilation classpath, and is not transitive."/>
-        </configurations>
+        <extends organisation="org.apache.easyant.buildtypes" module="parent-buildtype" revision="0.1"/>
+        <description>A standard build for simple java modules, relying on standard phases, and providing compilation,
+            execution and unit tests</description>
+        <ea:build organisation="org.apache.easyant.buildtypes" module="build-std-ant-plugin" revision="0.1" />
+    </info>
+    <configurations>
+        <conf name="default" description="runtime dependencies artifact can be used with this conf" />
+        <conf name="test"
+            description="this scope indicates that the dependency is not required for normal use of the application, and is only available for the test compilation and execution phases." />
+        <conf name="provided"
+            description="this is much like compile, but indicates you expect the JDK or a container to provide it. It is only available on the compilation classpath, and is not transitive." />
+    </configurations>
     <publications>
-        <artifact type="ant"/>
-        <artifact type="properties"/>
+        <artifact type="ant" />
+        <artifact type="properties" />
     </publications>
-</ivy-module>
+</ivy-module>
\ No newline at end of file
diff --git a/build-std-java/src/main/resources/build-std-java.ant b/build-std-java/src/main/resources/build-std-java.ant
index bd7a475..9bf64a4 100644
--- a/build-std-java/src/main/resources/build-std-java.ant
+++ b/build-std-java/src/main/resources/build-std-java.ant
@@ -15,13 +15,9 @@
    limitations under the License.
 -->
 <project name="org.apache.easyant.buildtypes#build-std-java" xmlns:ea="antlib:org.apache.easyant">
-
     <ea:core-version requiredrevision="[0.9,+]" />
-
     <echo message="Building ${ivy.organisation} ${ivy.module} with org.apache.easyant.buildtypes#build-std-java..." />
-
     <property file="${org.apache.easyant.buildtypes#build-std-java.properties.file}" />
-
     <ea:import mrid="org.apache.easyant.plugins#phases-std;0.9" />
     <ea:import mrid="org.apache.easyant.plugins#clean-std;0.9" />
     <ea:import mrid="org.apache.easyant.plugins#ivy-provisioning;0.9" />
@@ -37,21 +33,21 @@
 
     <!-- plugin binding -->
     <bindtargets targets="manifest:manifest-runnable,resources-std:copy-resources" extensionPoint="abstract-package:package-ready" />
-    <bindtargets targets="abstract-compile:compile,resources-std:copy-resources,resources-std:copy-test-resources" extensionPoint="abstract-test:test-ready" />
+    <bindtargets targets="abstract-compile:compile,resources-std:copy-resources,resources-std:copy-test-resources"
+        extensionPoint="abstract-test:test-ready" />
     <bindtargets targets="package-jar:jar" extensionPoint="ivy-publication:publish-ready" />
 
     <!-- bind high level targets -->
-    <bindtargets targets="clean-std:clean" extensionPoint="clean"/>
-    <bindtargets targets="abstract-compile:compile" extensionPoint="compile"/>
-    <bindtargets targets="abstract-test:test-run" extensionPoint="test"/>
-    <bindtargets targets="abstract-test:integration-test-run" extensionPoint="integration-test"/>
-    <bindtargets targets="abstract-package:package" extensionPoint="package"/>
-    <bindtargets targets="ivy-publication:publish-local" extensionPoint="publish-local"/>
-    <bindtargets targets="ivy-publication:publish-shared" extensionPoint="publish-shared"/>
-    <bindtargets targets="ivy-publication:release" extensionPoint="release"/>
+    <bindtargets targets="clean-std:clean" extensionPoint="clean" />
+    <bindtargets targets="abstract-compile:compile" extensionPoint="compile" />
+    <bindtargets targets="abstract-test:test-run" extensionPoint="test" />
+    <bindtargets targets="abstract-test:integration-test-run" extensionPoint="integration-test" />
+    <bindtargets targets="abstract-package:package" extensionPoint="package" />
+    <bindtargets targets="ivy-publication:publish-local" extensionPoint="publish-local" />
+    <bindtargets targets="ivy-publication:publish-shared" extensionPoint="publish-shared" />
+    <bindtargets targets="ivy-publication:release" extensionPoint="release" />
   
     <!-- additionnal friendtly target names -->
     <target name="dist" depends="ivy-publication:publish-ready" description="Produce every artifact to be distributed" />
     <target name="install" depends="ivy-publication:publish-local" description="Install the artifacts into local repository" />
-
-</project>
+</project>
\ No newline at end of file
diff --git a/build-std-java/src/test/antunit/build-std-java-test.xml b/build-std-java/src/test/antunit/build-std-java-test.xml
index f929b27..6a844d2 100644
--- a/build-std-java/src/test/antunit/build-std-java-test.xml
+++ b/build-std-java/src/test/antunit/build-std-java-test.xml
@@ -14,48 +14,49 @@
    See the License for the specific language governing permissions and
    limitations under the License.
 -->
-<project name="org.apache.easyant.plugins;build-std-java-test" 
-    xmlns:au="antlib:org.apache.ant.antunit" 
-    xmlns:ivy="antlib:org.apache.ivy.ant"
-    xmlns:ea="antlib:org.apache.easyant">
+<project name="org.apache.easyant.plugins;build-std-java-test" xmlns:au="antlib:org.apache.ant.antunit"
+    xmlns:ivy="antlib:org.apache.ivy.ant" xmlns:ea="antlib:org.apache.easyant">
     
-    <!-- Import your plugin --> 
-    <property name="target" value="target/test-antunit"/>
+    <!-- Import your plugin -->
+    <property name="target" value="target/test-antunit" />
     <!-- configure easyant in current project -->
     <ea:configure-easyant-ivy-instance />
     <!-- import our local plugin -->
-    <property name="easyant.file" value="${basedir}/module.ivy"/>
-    <ea:import-test-module moduleIvy="../../../module.ivy" sourceDirectory="../../main/resources"/>
+    <property name="easyant.file" value="${basedir}/module.ivy" />
+    <ea:import-test-module moduleIvy="../../../module.ivy" sourceDirectory="../../main/resources" />
 
-    <!-- Defines a setUp / tearDown (before each test) that cleans the environnement --> 
+    <!-- Defines a setUp / tearDown (before each test) that cleans the environnement -->
     <target name="clean-test" description="remove stale build artifacts before / after each test">
         <delete dir="${basedir}" includeemptydirs="true">
-            <include name="**/target/**"/>
-            <include name="**/lib/**"/>
+            <include name="**/target/**" />
+            <include name="**/lib/**" />
         </delete>
     </target>
-    
     <target name="setUp" depends="clean-test">
-       <ivy:settings id="project.ivy.instance"/>
+        <ivy:settings id="project.ivy.instance" />
     </target>
-    <target name="tearDown" depends="clean-test"/>
-    
+    <target name="tearDown" depends="clean-test" />
     <target name="test-build-std-java:clean" depends="clean">
-         <au:assertLogContains text="Cleaning ${target}..."/>
-         <au:assertLogContains text="Build sequence for target(s) `setUp', `test-build-std-java:clean' is [clean-test, setUp, clean-std:clean, clean, test-build-std-java:clean]" level="debug"/>
-   </target>
-
-   <target name="test-build-std-java:compile" depends="compile">
-         <au:assertLogContains text="Build sequence for target(s) `setUp', `test-build-std-java:compile' is [clean-test, setUp, -ivy-provisioning:init, abstract-provisioning:provisioning-ready, -ivy-provisioning:resolve, -ivy-provisioning:resolve-main-confs, -ivy-provisioning:resolve-test-confs, -ivy-provisioning:resolve-provided-confs, ivy-provisioning:resolve, abstract-provisioning:provisioning, abstract-compile:compile-ready, compile-java:init, compile-java:compile, compile-test-java:compile, compile-test-java:compile-integration, abstract-compile:compile, compile, test-build-std-java:compile]" level="debug"/>
+        <au:assertLogContains text="Cleaning ${target}..." />
+        <au:assertLogContains
+            text="Build sequence for target(s) `setUp', `test-build-std-java:clean' is [clean-test, setUp, clean-std:clean, clean, test-build-std-java:clean]"
+            level="debug" />
+    </target>
+    <target name="test-build-std-java:compile" depends="compile">
+        <au:assertLogContains
+            text="Build sequence for target(s) `setUp', `test-build-std-java:compile' is [clean-test, setUp, -ivy-provisioning:init, abstract-provisioning:provisioning-ready, -ivy-provisioning:resolve, -ivy-provisioning:resolve-main-confs, -ivy-provisioning:resolve-test-confs, -ivy-provisioning:resolve-provided-confs, ivy-provisioning:resolve, abstract-provisioning:provisioning, abstract-compile:compile-ready, compile-java:init, compile-java:compile, compile-test-java:compile, compile-test-java:compile-integration, abstract-compile:compile, compile, test-build-std-java:compile]"
+            level="debug" />
     </target>
     <target name="test-build-std-java:test" depends="test">
-         <au:assertLogContains text="Running org.apache.easyant.example.ExampleTest"/>
-         <au:assertLogContains text="Tests run: 2, Failures: 0, Errors: 0"/>
-         <au:assertLogContains text="Build sequence for target(s) `setUp', `test-build-std-java:test' is [clean-test, setUp, -ivy-provisioning:init, abstract-provisioning:provisioning-ready, -ivy-provisioning:resolve, -ivy-provisioning:resolve-main-confs, -ivy-provisioning:resolve-test-confs, -ivy-provisioning:resolve-provided-confs, ivy-provisioning:resolve, abstract-provisioning:provisioning, abstract-compile:compile-ready, compile-java:init, compile-java:compile, compile-test-java:compile, compile-test-java:compile-integration, abstract-compile:compile, compile, resources-std:init, -resources-std:check-resources, resources-std:copy-resources, resources-std:copy-test-resources, abstract-test:test-ready, abstract-test:init, test-junit:init, abstract-test:compute-test-sets, -test-junit:test, test-junit:run, abstract-test:test-run, test, test-build-std-java:test]" level="debug"/>
+        <au:assertLogContains text="Running org.apache.easyant.example.ExampleTest" />
+        <au:assertLogContains text="Tests run: 2, Failures: 0, Errors: 0" />
+        <au:assertLogContains
+            text="Build sequence for target(s) `setUp', `test-build-std-java:test' is [clean-test, setUp, -ivy-provisioning:init, abstract-provisioning:provisioning-ready, -ivy-provisioning:resolve, -ivy-provisioning:resolve-main-confs, -ivy-provisioning:resolve-test-confs, -ivy-provisioning:resolve-provided-confs, ivy-provisioning:resolve, abstract-provisioning:provisioning, abstract-compile:compile-ready, compile-java:init, compile-java:compile, compile-test-java:compile, compile-test-java:compile-integration, abstract-compile:compile, compile, resources-std:init, -resources-std:check-resources, resources-std:copy-resources, resources-std:copy-test-resources, abstract-test:test-ready, abstract-test:init, test-junit:init, abstract-test:compute-test-sets, -test-junit:test, test-junit:run, abstract-test:test-run, test, test-build-std-java:test]"
+            level="debug" />
     </target>
-
-   <target name="test-build-std-java:package" depends="package">
-       <au:assertLogContains text="Build sequence for target(s) `setUp', `test-build-std-java:package' is [clean-test, setUp, -ivy-provisioning:init, abstract-provisioning:provisioning-ready, -ivy-provisioning:resolve, -ivy-provisioning:resolve-main-confs, -ivy-provisioning:resolve-test-confs, -ivy-provisioning:resolve-provided-confs, ivy-provisioning:resolve, abstract-provisioning:provisioning, abstract-compile:compile-ready, compile-java:init, compile-java:compile, compile-test-java:compile, compile-test-java:compile-integration, abstract-compile:compile, compile, manifest:init, -manifest:generate-version-number, manifest:manifest, manifest:manifest-runnable, resources-std:init, -resources-std:check-resources, resources-std:copy-resources, abstract-package:package-ready, abstract-package:init, abstract-package:compute-metainf, package-jar:init, package-jar:jar, abstract-package:register-main-artifact, abstract-package:package, package, test-build-std-java:package]" level="debug"/>
-   </target>
-
-</project>
+    <target name="test-build-std-java:package" depends="package">
+        <au:assertLogContains
+            text="Build sequence for target(s) `setUp', `test-build-std-java:package' is [clean-test, setUp, -ivy-provisioning:init, abstract-provisioning:provisioning-ready, -ivy-provisioning:resolve, -ivy-provisioning:resolve-main-confs, -ivy-provisioning:resolve-test-confs, -ivy-provisioning:resolve-provided-confs, ivy-provisioning:resolve, abstract-provisioning:provisioning, abstract-compile:compile-ready, compile-java:init, compile-java:compile, compile-test-java:compile, compile-test-java:compile-integration, abstract-compile:compile, compile, manifest:init, -manifest:generate-version-number, manifest:manifest, manifest:manifest-runnable, resources-std:init, -resources-std:check-resources, resources-std:copy-resources, abstract-package:package-ready, abstract-package:init, abstract-package:compute-metainf, package-jar:init, package-jar:jar, abstract-package:register-main-artifact, abstract-package:package, package, test-build-std-java:package]"
+            level="debug" />
+    </target>
+</project>
\ No newline at end of file
diff --git a/build-std-java/src/test/antunit/module.ivy b/build-std-java/src/test/antunit/module.ivy
index 06505ea..4c07578 100644
--- a/build-std-java/src/test/antunit/module.ivy
+++ b/build-std-java/src/test/antunit/module.ivy
@@ -14,17 +14,17 @@
    See the License for the specific language governing permissions and
    limitations under the License.
 -->
-<ivy-module version="2.0" xmlns:ea="http://www.easyant.org"> 
-    <info organisation="org.apache.easyant" module="standard-java-app" revision="0.1" status="integration" >
-       <ea:build organisation="org.apache.easyant.buildtypes" module="build-std-java" revision="0.9"/>
+<ivy-module version="2.0" xmlns:ea="http://www.easyant.org">
+    <info organisation="org.apache.easyant" module="standard-java-app" revision="0.1" status="integration">
+        <ea:build organisation="org.apache.easyant.buildtypes" module="build-std-java" revision="0.9" />
     </info>
     <configurations>
-        <conf name="default" visibility="public" description="runtime dependencies and master artifact can be used with this conf"/>
-        <conf name="test" visibility="private" description="this scope indicates that the dependency is not required for normal use of the application, and is only available for the test compilation and execution phases."/>
+        <conf name="default" visibility="public" description="runtime dependencies and master artifact can be used with this conf" />
+        <conf name="test" visibility="private"
+            description="this scope indicates that the dependency is not required for normal use of the application, and is only available for the test compilation and execution phases." />
     </configurations>
     <dependencies>
-        <dependency org="hsqldb" name="hsqldb" rev="1.8.0.7" conf="default->default"/>
+        <dependency org="hsqldb" name="hsqldb" rev="1.8.0.7" conf="default->default" />
         <dependency org="junit" name="junit" rev="4.4" conf="test->default" />
-
     </dependencies>
-</ivy-module>
+</ivy-module>
\ No newline at end of file
diff --git a/build-std-scala/module.ivy b/build-std-scala/module.ivy
index d48c666..7de80b4 100644
--- a/build-std-scala/module.ivy
+++ b/build-std-scala/module.ivy
@@ -14,17 +14,20 @@
    See the License for the specific language governing permissions and
    limitations under the License.
 -->
-<ivy-module version="2.0" xmlns:ea="http://www.easyant.org"> 
+<ivy-module version="2.0" xmlns:ea="http://www.easyant.org">
     <info organisation="org.apache.easyant.buildtypes" module="build-std-scala" revision="0.9">
-           <ea:build organisation="org.apache.easyant.buildtypes" module="build-std-ant-plugin" revision="0.1"/>
-        </info>
-        <configurations>
-                <conf name="default" description="runtime dependencies artifact can be used with this conf"/>
-                <conf name="test" description="this scope indicates that the dependency is not required for normal use of the application, and is only available for the test compilation and execution phases."/>
-                <conf name="provided" description="this is much like compile, but indicates you expect the JDK or a container to provide it. It is only available on the compilation classpath, and is not transitive."/>
-        </configurations>
+        <extends organisation="org.apache.easyant.buildtypes" module="parent-buildtype" revision="0.1"/>
+        <ea:build organisation="org.apache.easyant.buildtypes" module="build-std-ant-plugin" revision="0.1" />
+    </info>
+    <configurations>
+        <conf name="default" description="runtime dependencies artifact can be used with this conf" />
+        <conf name="test"
+            description="this scope indicates that the dependency is not required for normal use of the application, and is only available for the test compilation and execution phases." />
+        <conf name="provided"
+            description="this is much like compile, but indicates you expect the JDK or a container to provide it. It is only available on the compilation classpath, and is not transitive." />
+    </configurations>
     <publications>
-        <artifact type="ant"/>
-        <artifact type="properties"/>
+        <artifact type="ant" />
+        <artifact type="properties" />
     </publications>
-</ivy-module>
+</ivy-module>
\ No newline at end of file
diff --git a/build-std-scala/src/main/resources/build-std-scala.ant b/build-std-scala/src/main/resources/build-std-scala.ant
index a41b827..1b94271 100644
--- a/build-std-scala/src/main/resources/build-std-scala.ant
+++ b/build-std-scala/src/main/resources/build-std-scala.ant
@@ -14,15 +14,10 @@
    See the License for the specific language governing permissions and
    limitations under the License.
 -->
-<project name="org.apache.easyant.buildtypes#build-std-scala"
-    xmlns:ea="antlib:org.apache.easyant">
-
+<project name="org.apache.easyant.buildtypes#build-std-scala" xmlns:ea="antlib:org.apache.easyant">
     <ea:core-version requiredrevision="[0.9,+]" />
-
-    <echo message="Building ${ivy.organisation} ${ivy.module} with org.apache.easyant.buildtypes#build-std-scala..."/>
-
+    <echo message="Building ${ivy.organisation} ${ivy.module} with org.apache.easyant.buildtypes#build-std-scala..." />
     <property file="${org.apache.easyant.buildtypes#build-std-scala.properties.file}" />
-
     <ea:import mrid="org.apache.easyant.plugins#phases-std;0.9" />
     <ea:import mrid="org.apache.easyant.plugins#clean-std;0.9" />
     <ea:import mrid="org.apache.easyant.plugins#ivy-provisioning;0.9" />
@@ -38,21 +33,21 @@
 
     <!-- plugin binding -->
     <bindtargets targets="manifest:manifest-runnable,resources-std:copy-resources" extensionPoint="abstract-package:package-ready" />
-    <bindtargets targets="abstract-compile:compile,resources-std:copy-resources,resources-std:copy-test-resources" extensionPoint="abstract-test:test-ready" />
+    <bindtargets targets="abstract-compile:compile,resources-std:copy-resources,resources-std:copy-test-resources"
+        extensionPoint="abstract-test:test-ready" />
     <bindtargets targets="package-jar:jar" extensionPoint="ivy-publication:publish-ready" />
 
     <!-- bind high level targets -->
-    <bindtargets targets="clean-std:clean" extensionPoint="clean"/>
-    <bindtargets targets="abstract-compile:compile" extensionPoint="compile"/>
-    <bindtargets targets="abstract-test:test-run" extensionPoint="test"/>
-    <bindtargets targets="abstract-test:integration-test-run" extensionPoint="integration-test"/>
-    <bindtargets targets="abstract-package:package" extensionPoint="package"/>
-    <bindtargets targets="ivy-publication:publish-local" extensionPoint="publish-local"/>
-    <bindtargets targets="ivy-publication:publish-shared" extensionPoint="publish-shared"/>
-    <bindtargets targets="ivy-publication:release" extensionPoint="release"/>
+    <bindtargets targets="clean-std:clean" extensionPoint="clean" />
+    <bindtargets targets="abstract-compile:compile" extensionPoint="compile" />
+    <bindtargets targets="abstract-test:test-run" extensionPoint="test" />
+    <bindtargets targets="abstract-test:integration-test-run" extensionPoint="integration-test" />
+    <bindtargets targets="abstract-package:package" extensionPoint="package" />
+    <bindtargets targets="ivy-publication:publish-local" extensionPoint="publish-local" />
+    <bindtargets targets="ivy-publication:publish-shared" extensionPoint="publish-shared" />
+    <bindtargets targets="ivy-publication:release" extensionPoint="release" />
 
     <!-- additionnal friendtly target names -->
     <target name="dist" depends="ivy-publication:publish-ready" description="Produce every artifact to be distributed" />
     <target name="install" depends="ivy-publication:publish-local" description="Install the artifacts into local repository" />
-
-</project>
+</project>
\ No newline at end of file
diff --git a/build-std-scala/src/test/antunit/build-std-scala-test.xml b/build-std-scala/src/test/antunit/build-std-scala-test.xml
index 36fcd63..31b7516 100644
--- a/build-std-scala/src/test/antunit/build-std-scala-test.xml
+++ b/build-std-scala/src/test/antunit/build-std-scala-test.xml
@@ -14,49 +14,49 @@
 See the License for the specific language governing permissions and
 limitations under the License.
 -->
-<project name="org.apache.easyant.plugins;build-std-scala-test" 
-xmlns:au="antlib:org.apache.ant.antunit" 
-xmlns:ivy="antlib:org.apache.ivy.ant"
-xmlns:ea="antlib:org.apache.easyant">
+<project name="org.apache.easyant.plugins;build-std-scala-test" xmlns:au="antlib:org.apache.ant.antunit"
+    xmlns:ivy="antlib:org.apache.ivy.ant" xmlns:ea="antlib:org.apache.easyant">
 
-<!-- Import your plugin --> 
-<property name="target" value="target/test-antunit"/>
+<!-- Import your plugin -->
+    <property name="target" value="target/test-antunit" />
 <!-- configure easyant in current project -->
-<ea:configure-easyant-ivy-instance />
+    <ea:configure-easyant-ivy-instance />
 <!-- import our local plugin -->
-<property name="easyant.file" value="${basedir}/module.ivy"/>
-<ea:import-test-module moduleIvy="../../../module.ivy" sourceDirectory="../../main/resources"/>
+    <property name="easyant.file" value="${basedir}/module.ivy" />
+    <ea:import-test-module moduleIvy="../../../module.ivy" sourceDirectory="../../main/resources" />
 
-<!-- Defines a setUp / tearDown (before each test) that cleans the environnement --> 
-<target name="clean-test" description="remove stale build artifacts before / after each test">
-<delete dir="${basedir}" includeemptydirs="true">
-    <include name="**/target/**"/>
-    <include name="**/lib/**"/>
-</delete>
-</target>
-
-<target name="setUp" depends="clean-test">
-<ivy:settings id="project.ivy.instance"/>
-</target>
-<target name="tearDown" depends="clean-test"/>
-
-<target name="test-build-std-scala:clean" depends="clean">
- <au:assertLogContains text="Cleaning ${target}..."/>
- <au:assertLogContains text="Build sequence for target(s) `setUp', `test-build-std-scala:clean' is [clean-test, setUp, clean-std:clean, clean, test-build-std-scala:clean]" level="debug"/>
-</target>
-
-<target name="test-build-std-scala:compile" depends="compile">
- <au:assertLogContains text="Build sequence for target(s) `setUp', `test-build-std-scala:compile' is [clean-test, setUp, -ivy-provisioning:init, abstract-provisioning:provisioning-ready, -ivy-provisioning:resolve, -ivy-provisioning:resolve-main-confs, -ivy-provisioning:resolve-test-confs, -ivy-provisioning:resolve-provided-confs, ivy-provisioning:resolve, abstract-provisioning:provisioning, abstract-compile:compile-ready, compile-scala:init, compile-scala:configure, compile-scala:compile, compile-test-scala:configure, compile-test-scala:compile, compile-test-scala:compile-integration, abstract-compile:compile, compile, test-build-std-scala:compile]" level="debug"/>
-</target>
-
-<target name="test-build-std-scala:test" depends="test">
- <au:assertLogContains text="Running org.apache.easyant.example.ExampleTest"/>
- <au:assertLogContains text="Tests run: 2, Failures: 0, Errors: 0"/>
- <au:assertLogContains text="Build sequence for target(s) `setUp', `test-build-std-scala:test' is [clean-test, setUp, -ivy-provisioning:init, abstract-provisioning:provisioning-ready, -ivy-provisioning:resolve, -ivy-provisioning:resolve-main-confs, -ivy-provisioning:resolve-test-confs, -ivy-provisioning:resolve-provided-confs, ivy-provisioning:resolve, abstract-provisioning:provisioning, abstract-compile:compile-ready, compile-scala:init, compile-scala:configure, compile-scala:compile, compile-test-scala:configure, compile-test-scala:compile, compile-test-scala:compile-integration, abstract-compile:compile, compile, resources-std:init, -resources-std:check-resources, resources-std:copy-resources, resources-std:copy-test-resources, abstract-test:test-ready, abstract-test:init, test-junit:init, abstract-test:compute-test-sets, -test-junit:test, test-junit:run, abstract-test:test-run, test, test-build-std-scala:test]" level="debug"/>
-</target>
-
-<target name="test-build-std-scala:package" depends="package">
-<au:assertLogContains text="Build sequence for target(s) `setUp', `test-build-std-scala:package' is [clean-test, setUp, -ivy-provisioning:init, abstract-provisioning:provisioning-ready, -ivy-provisioning:resolve, -ivy-provisioning:resolve-main-confs, -ivy-provisioning:resolve-test-confs, -ivy-provisioning:resolve-provided-confs, ivy-provisioning:resolve, abstract-provisioning:provisioning, abstract-compile:compile-ready, compile-scala:init, compile-scala:configure, compile-scala:compile, compile-test-scala:configure, compile-test-scala:compile, compile-test-scala:compile-integration, abstract-compile:compile, compile, manifest:init, -manifest:generate-version-number, manifest:manifest, manifest:manifest-runnable, resources-std:init, -resources-std:check-resources, resources-std:copy-resources, abstract-package:package-ready, abstract-package:init, abstract-package:compute-metainf, package-jar:init, package-jar:jar, abstract-package:register-main-artifact, abstract-package:package, package, test-build-std-scala:package]" level="debug"/>
-   </target>
-
-</project>
+<!-- Defines a setUp / tearDown (before each test) that cleans the environnement -->
+    <target name="clean-test" description="remove stale build artifacts before / after each test">
+        <delete dir="${basedir}" includeemptydirs="true">
+            <include name="**/target/**" />
+            <include name="**/lib/**" />
+        </delete>
+    </target>
+    <target name="setUp" depends="clean-test">
+        <ivy:settings id="project.ivy.instance" />
+    </target>
+    <target name="tearDown" depends="clean-test" />
+    <target name="test-build-std-scala:clean" depends="clean">
+        <au:assertLogContains text="Cleaning ${target}..." />
+        <au:assertLogContains
+            text="Build sequence for target(s) `setUp', `test-build-std-scala:clean' is [clean-test, setUp, clean-std:clean, clean, test-build-std-scala:clean]"
+            level="debug" />
+    </target>
+    <target name="test-build-std-scala:compile" depends="compile">
+        <au:assertLogContains
+            text="Build sequence for target(s) `setUp', `test-build-std-scala:compile' is [clean-test, setUp, -ivy-provisioning:init, abstract-provisioning:provisioning-ready, -ivy-provisioning:resolve, -ivy-provisioning:resolve-main-confs, -ivy-provisioning:resolve-test-confs, -ivy-provisioning:resolve-provided-confs, ivy-provisioning:resolve, abstract-provisioning:provisioning, abstract-compile:compile-ready, compile-scala:init, compile-scala:configure, compile-scala:compile, compile-test-scala:configure, compile-test-scala:compile, compile-test-scala:compile-integration, abstract-compile:compile, compile, test-build-std-scala:compile]"
+            level="debug" />
+    </target>
+    <target name="test-build-std-scala:test" depends="test">
+        <au:assertLogContains text="Running org.apache.easyant.example.ExampleTest" />
+        <au:assertLogContains text="Tests run: 2, Failures: 0, Errors: 0" />
+        <au:assertLogContains
+            text="Build sequence for target(s) `setUp', `test-build-std-scala:test' is [clean-test, setUp, -ivy-provisioning:init, abstract-provisioning:provisioning-ready, -ivy-provisioning:resolve, -ivy-provisioning:resolve-main-confs, -ivy-provisioning:resolve-test-confs, -ivy-provisioning:resolve-provided-confs, ivy-provisioning:resolve, abstract-provisioning:provisioning, abstract-compile:compile-ready, compile-scala:init, compile-scala:configure, compile-scala:compile, compile-test-scala:configure, compile-test-scala:compile, compile-test-scala:compile-integration, abstract-compile:compile, compile, resources-std:init, -resources-std:check-resources, resources-std:copy-resources, resources-std:copy-test-resources, abstract-test:test-ready, abstract-test:init, test-junit:init, abstract-test:compute-test-sets, -test-junit:test, test-junit:run, abstract-test:test-run, test, test-build-std-scala:test]"
+            level="debug" />
+    </target>
+    <target name="test-build-std-scala:package" depends="package">
+        <au:assertLogContains
+            text="Build sequence for target(s) `setUp', `test-build-std-scala:package' is [clean-test, setUp, -ivy-provisioning:init, abstract-provisioning:provisioning-ready, -ivy-provisioning:resolve, -ivy-provisioning:resolve-main-confs, -ivy-provisioning:resolve-test-confs, -ivy-provisioning:resolve-provided-confs, ivy-provisioning:resolve, abstract-provisioning:provisioning, abstract-compile:compile-ready, compile-scala:init, compile-scala:configure, compile-scala:compile, compile-test-scala:configure, compile-test-scala:compile, compile-test-scala:compile-integration, abstract-compile:compile, compile, manifest:init, -manifest:generate-version-number, manifest:manifest, manifest:manifest-runnable, resources-std:init, -resources-std:check-resources, resources-std:copy-resources, abstract-package:package-ready, abstract-package:init, abstract-package:compute-metainf, package-jar:init, package-jar:jar, abstract-package:register-main-artifact, abstract-package:package, package, test-build-std-scala:package]"
+            level="debug" />
+    </target>
+</project>
\ No newline at end of file
diff --git a/build-std-scala/src/test/antunit/module.ivy b/build-std-scala/src/test/antunit/module.ivy
index dd5e631..9ac0db3 100644
--- a/build-std-scala/src/test/antunit/module.ivy
+++ b/build-std-scala/src/test/antunit/module.ivy
@@ -14,16 +14,16 @@
    See the License for the specific language governing permissions and
    limitations under the License.
 -->
-<ivy-module version="2.0" xmlns:ea="http://www.easyant.org"> 
-    <info organisation="org.apache.easyant" module="standard-java-app" revision="0.1" status="integration" >
+<ivy-module version="2.0" xmlns:ea="http://www.easyant.org">
+    <info organisation="org.apache.easyant" module="standard-java-app" revision="0.1" status="integration">
     </info>
     <configurations>
-        <conf name="default" visibility="public" description="runtime dependencies and master artifact can be used with this conf"/>
-        <conf name="test" visibility="private" description="this scope indicates that the dependency is not required for normal use of the application, and is only available for the test compilation and execution phases."/>
+        <conf name="default" visibility="public" description="runtime dependencies and master artifact can be used with this conf" />
+        <conf name="test" visibility="private"
+            description="this scope indicates that the dependency is not required for normal use of the application, and is only available for the test compilation and execution phases." />
     </configurations>
     <dependencies>
-        <dependency org="hsqldb" name="hsqldb" rev="1.8.0.7" conf="default->default"/>
+        <dependency org="hsqldb" name="hsqldb" rev="1.8.0.7" conf="default->default" />
         <dependency org="junit" name="junit" rev="4.4" conf="test->default" />
-
     </dependencies>
-</ivy-module>
+</ivy-module>
\ No newline at end of file
diff --git a/build-std-skeleton/module.ivy b/build-std-skeleton/module.ivy
index 69a3031..f1f770b 100644
--- a/build-std-skeleton/module.ivy
+++ b/build-std-skeleton/module.ivy
@@ -14,18 +14,21 @@
    See the License for the specific language governing permissions and
    limitations under the License.
 -->
-<ivy-module version="2.0" xmlns:ea="http://www.easyant.org"> 
+<ivy-module version="2.0" xmlns:ea="http://www.easyant.org">
     <info organisation="org.apache.easyant.buildtypes" module="build-std-skeleton" revision="0.9">
-           <description>A standard build skeleton, relying on standard phases, and providing unit tests</description>
-           <ea:build organisation="org.apache.easyant.buildtypes" module="build-std-ant-plugin" revision="0.1"/>
-        </info>
-        <configurations>
-                <conf name="default" description="runtime dependencies artifact can be used with this conf"/>
-                <conf name="test" description="this scope indicates that the dependency is not required for normal use of the application, and is only available for the test compilation and execution phases."/>
-                <conf name="provided" description="this is much like compile, but indicates you expect the JDK or a container to provide it. It is only available on the compilation classpath, and is not transitive."/>
-        </configurations>
+        <extends organisation="org.apache.easyant.buildtypes" module="parent-buildtype" revision="0.1" />
+        <description>A standard build skeleton, relying on standard phases, and providing unit tests</description>
+        <ea:build organisation="org.apache.easyant.buildtypes" module="build-std-ant-plugin" revision="0.1" />
+    </info>
+    <configurations>
+        <conf name="default" description="runtime dependencies artifact can be used with this conf" />
+        <conf name="test"
+            description="this scope indicates that the dependency is not required for normal use of the application, and is only available for the test compilation and execution phases." />
+        <conf name="provided"
+            description="this is much like compile, but indicates you expect the JDK or a container to provide it. It is only available on the compilation classpath, and is not transitive." />
+    </configurations>
     <publications>
-        <artifact type="ant"/>
-        <artifact type="properties"/>
+        <artifact type="ant" />
+        <artifact type="properties" />
     </publications>
-</ivy-module>
+</ivy-module>
\ No newline at end of file
diff --git a/build-std-skeleton/src/main/resources/build-std-skeleton.ant b/build-std-skeleton/src/main/resources/build-std-skeleton.ant
index d09c7dd..12b4eac 100644
--- a/build-std-skeleton/src/main/resources/build-std-skeleton.ant
+++ b/build-std-skeleton/src/main/resources/build-std-skeleton.ant
@@ -14,15 +14,10 @@
    See the License for the specific language governing permissions and
    limitations under the License.
 -->
-<project name="org.apache.easyant.buildtypes#build-std-skeleton"
-    xmlns:ivy="antlib:org.apache.ivy.ant"
-    xmlns:ea="antlib:org.apache.easyant">
-
+<project name="org.apache.easyant.buildtypes#build-std-skeleton" xmlns:ivy="antlib:org.apache.ivy.ant" xmlns:ea="antlib:org.apache.easyant">
     <ea:core-version requiredrevision="[0.9,+]" />
-    <echo message="Building ${ivy.organisation} ${ivy.module} with org.apache.easyant.buildtypes#build-std-skeleton..."/>
-
+    <echo message="Building ${ivy.organisation} ${ivy.module} with org.apache.easyant.buildtypes#build-std-skeleton..." />
     <property file="${org.apache.easyant.buildtypes#build-std-skeleton.properties.file}" />
-
     <ea:import mrid="org.apache.easyant.plugins#phases-std;0.9" />
     <ea:import mrid="org.apache.easyant.plugins#clean-std;0.9" />
     <ea:import mrid="org.apache.easyant.plugins#resources-std;0.9" />
@@ -35,17 +30,15 @@
     <bindtargets targets="resources-std:copy-resources" extensionPoint="ivy-publication:publish-ready" />
 
     <!-- bind high level targets -->
-    <bindtargets targets="clean-std:clean" extensionPoint="clean"/>
-    <bindtargets targets="abstract-test:test-run" extensionPoint="test"/>
-    <bindtargets targets="abstract-test:integration-test-run" extensionPoint="integration-test"/>
-    <bindtargets targets="ivy-publication:publish-local" extensionPoint="publish-local"/>
-    <bindtargets targets="ivy-publication:publish-shared" extensionPoint="publish-shared"/>
-    <bindtargets targets="ivy-publication:release" extensionPoint="release"/>
-    <bindtargets targets="antunit:run" extensionPoint="test"/>
+    <bindtargets targets="clean-std:clean" extensionPoint="clean" />
+    <bindtargets targets="abstract-test:test-run" extensionPoint="test" />
+    <bindtargets targets="abstract-test:integration-test-run" extensionPoint="integration-test" />
+    <bindtargets targets="ivy-publication:publish-local" extensionPoint="publish-local" />
+    <bindtargets targets="ivy-publication:publish-shared" extensionPoint="publish-shared" />
+    <bindtargets targets="ivy-publication:release" extensionPoint="release" />
+    <bindtargets targets="antunit:run" extensionPoint="test" />
 
     <!-- additionnal friendtly target names -->
     <target name="dist" depends="ivy-publication:publish-ready" description="Produce every artifact to be distributed" />
     <target name="install" depends="ivy-publication:publish-local" description="Install the artifacts into local repository" />
-
-
-</project>
+</project>
\ No newline at end of file
diff --git a/build-webapp-java/module.ivy b/build-webapp-java/module.ivy
index 324bf6d..97b28f5 100644
--- a/build-webapp-java/module.ivy
+++ b/build-webapp-java/module.ivy
@@ -14,18 +14,22 @@
    See the License for the specific language governing permissions and
    limitations under the License.
 -->
-<ivy-module version="2.0" xmlns:ea="http://www.easyant.org"> 
+<ivy-module version="2.0" xmlns:ea="http://www.easyant.org">
     <info organisation="org.apache.easyant.buildtypes" module="build-webapp-java" revision="0.9">
-           <description>A standard build for webapp java modules, relying on standard phases, and providing compilation, execution and unit tests</description>
-           <ea:build organisation="org.apache.easyant.buildtypes" module="build-std-ant-plugin" revision="0.1"/>
-        </info>
-        <configurations>
-                <conf name="default" description="runtime dependencies artifact can be used with this conf"/>
-                <conf name="test" description="this scope indicates that the dependency is not required for normal use of the application, and is only available for the test compilation and execution phases."/>
-                <conf name="provided" description="this is much like compile, but indicates you expect the JDK or a container to provide it. It is only available on the compilation classpath, and is not transitive."/>
-        </configurations>
+        <extends organisation="org.apache.easyant.buildtypes" module="parent-buildtype" revision="0.1" />
+        <description>A standard build for webapp java modules, relying on standard phases, and providing compilation,
+            execution and unit tests</description>
+        <ea:build organisation="org.apache.easyant.buildtypes" module="build-std-ant-plugin" revision="0.1" />
+    </info>
+    <configurations>
+        <conf name="default" description="runtime dependencies artifact can be used with this conf" />
+        <conf name="test"
+            description="this scope indicates that the dependency is not required for normal use of the application, and is only available for the test compilation and execution phases." />
+        <conf name="provided"
+            description="this is much like compile, but indicates you expect the JDK or a container to provide it. It is only available on the compilation classpath, and is not transitive." />
+    </configurations>
     <publications>
-        <artifact type="ant"/>
-        <artifact type="properties"/>
+        <artifact type="ant" />
+        <artifact type="properties" />
     </publications>
-</ivy-module>
+</ivy-module>
\ No newline at end of file
diff --git a/build-webapp-java/src/main/resources/build-webapp-java.ant b/build-webapp-java/src/main/resources/build-webapp-java.ant
index e8a74aa..238e824 100644
--- a/build-webapp-java/src/main/resources/build-webapp-java.ant
+++ b/build-webapp-java/src/main/resources/build-webapp-java.ant
@@ -14,17 +14,11 @@
    See the License for the specific language governing permissions and
    limitations under the License.
 -->
-<project name="org.apache.easyant.buildtypes#build-webapp-java"
-    xmlns:ea="antlib:org.apache.easyant">
-
+<project name="org.apache.easyant.buildtypes#build-webapp-java" xmlns:ea="antlib:org.apache.easyant">
     <ea:core-version requiredrevision="[0.9,+]" />
-
-    <echo message="Building ${ivy.organisation} ${ivy.module} with org.apache.easyant.buildtypes#build-webapp-java..."/>
-
+    <echo message="Building ${ivy.organisation} ${ivy.module} with org.apache.easyant.buildtypes#build-webapp-java..." />
     <property file="${org.apache.easyant.buildtypes#build-webapp-java.properties.file}" />
-
     <ea:import mrid="org.apache.easyant.plugins#phases-std;0.9" />
-
     <ea:import mrid="org.apache.easyant.plugins#clean-std;0.9" />
     <ea:import mrid="org.apache.easyant.plugins#ivy-provisioning;0.9" />
     <ea:import mrid="org.apache.easyant.plugins#default-version-strategy;0.9" />
@@ -39,20 +33,21 @@
 
     <!-- plugin binding -->
     <bindtargets targets="manifest:manifest-runnable,resources-std:copy-resources" extensionPoint="abstract-package:package-ready" />
-    <bindtargets targets="abstract-compile:compile,resources-std:copy-resources,resources-std:copy-test-resources" extensionPoint="abstract-test:test-ready" />
+    <bindtargets targets="abstract-compile:compile,resources-std:copy-resources,resources-std:copy-test-resources"
+        extensionPoint="abstract-test:test-ready" />
     <bindtargets targets="package-war:war" extensionPoint="ivy-publication:publish-ready" />
 
     <!-- bind high level targets -->
-    <bindtargets targets="clean-std:clean" extensionPoint="clean"/>
-    <bindtargets targets="abstract-compile:compile" extensionPoint="compile"/>
-    <bindtargets targets="abstract-test:test-run" extensionPoint="test"/>
-    <bindtargets targets="abstract-test:integration-test-run" extensionPoint="integration-test"/>
-    <bindtargets targets="abstract-package:package" extensionPoint="package"/>
-    <bindtargets targets="ivy-publication:publish-local" extensionPoint="publish-local"/>
-    <bindtargets targets="ivy-publication:publish-shared" extensionPoint="publish-shared"/>
-    <bindtargets targets="ivy-publication:release" extensionPoint="release"/>
+    <bindtargets targets="clean-std:clean" extensionPoint="clean" />
+    <bindtargets targets="abstract-compile:compile" extensionPoint="compile" />
+    <bindtargets targets="abstract-test:test-run" extensionPoint="test" />
+    <bindtargets targets="abstract-test:integration-test-run" extensionPoint="integration-test" />
+    <bindtargets targets="abstract-package:package" extensionPoint="package" />
+    <bindtargets targets="ivy-publication:publish-local" extensionPoint="publish-local" />
+    <bindtargets targets="ivy-publication:publish-shared" extensionPoint="publish-shared" />
+    <bindtargets targets="ivy-publication:release" extensionPoint="release" />
 
     <!-- additionnal friendtly target names -->
     <target name="dist" depends="ivy-publication:publish-ready" description="Produce every artifact to be distributed" />
     <target name="install" depends="ivy-publication:publish-local" description="Install the artifacts into local repository" />
-</project>
+</project>
\ No newline at end of file
diff --git a/build-webapp-java/src/test/antunit/build-webapp-java-test.xml b/build-webapp-java/src/test/antunit/build-webapp-java-test.xml
index fdd887d..c349f6e 100644
--- a/build-webapp-java/src/test/antunit/build-webapp-java-test.xml
+++ b/build-webapp-java/src/test/antunit/build-webapp-java-test.xml
@@ -14,48 +14,49 @@
    See the License for the specific language governing permissions and
    limitations under the License.
 -->
-<project name="org.apache.easyant.plugins;build-webapp-java-test" 
-    xmlns:au="antlib:org.apache.ant.antunit" 
-    xmlns:ivy="antlib:org.apache.ivy.ant"
-    xmlns:ea="antlib:org.apache.easyant">
+<project name="org.apache.easyant.plugins;build-webapp-java-test" xmlns:au="antlib:org.apache.ant.antunit"
+    xmlns:ivy="antlib:org.apache.ivy.ant" xmlns:ea="antlib:org.apache.easyant">
     
-    <!-- Import your plugin --> 
-    <property name="target" value="target/test-antunit"/>
+    <!-- Import your plugin -->
+    <property name="target" value="target/test-antunit" />
     <!-- configure easyant in current project -->
     <ea:configure-easyant-ivy-instance />
     <!-- import our local plugin -->
-    <property name="easyant.file" value="${basedir}/module.ivy"/>
-    <ea:import-test-module moduleIvy="../../../module.ivy" sourceDirectory="../../main/resources"/>
+    <property name="easyant.file" value="${basedir}/module.ivy" />
+    <ea:import-test-module moduleIvy="../../../module.ivy" sourceDirectory="../../main/resources" />
 
-    <!-- Defines a setUp / tearDown (before each test) that cleans the environnement --> 
+    <!-- Defines a setUp / tearDown (before each test) that cleans the environnement -->
     <target name="clean-test" description="remove stale build artifacts before / after each test">
         <delete dir="${basedir}" includeemptydirs="true">
-            <include name="**/target/**"/>
-            <include name="**/lib/**"/>
+            <include name="**/target/**" />
+            <include name="**/lib/**" />
         </delete>
     </target>
-    
     <target name="setUp" depends="clean-test">
-       <ivy:settings id="project.ivy.instance"/>
+        <ivy:settings id="project.ivy.instance" />
     </target>
-    <target name="tearDown" depends="clean-test"/>
-    
+    <target name="tearDown" depends="clean-test" />
     <target name="test-build-webapp-java:clean" depends="clean">
-         <au:assertLogContains text="Cleaning ${target}..."/>
-         <au:assertLogContains text="Build sequence for target(s) `setUp', `test-build-webapp-java:clean' is [clean-test, setUp, clean-std:clean, clean, test-build-webapp-java:clean]" level="debug"/>
-   </target>
-
-   <target name="test-build-webapp-java:compile" depends="compile">
-         <au:assertLogContains text="Build sequence for target(s) `setUp', `test-build-webapp-java:compile' is [clean-test, setUp, -ivy-provisioning:init, abstract-provisioning:provisioning-ready, -ivy-provisioning:resolve, -ivy-provisioning:resolve-main-confs, -ivy-provisioning:resolve-test-confs, -ivy-provisioning:resolve-provided-confs, ivy-provisioning:resolve, abstract-provisioning:provisioning, abstract-compile:compile-ready, compile-java:init, compile-java:compile, compile-test-java:compile, compile-test-java:compile-integration, abstract-compile:compile, compile, test-build-webapp-java:compile]" level="debug"/>
+        <au:assertLogContains text="Cleaning ${target}..." />
+        <au:assertLogContains
+            text="Build sequence for target(s) `setUp', `test-build-webapp-java:clean' is [clean-test, setUp, clean-std:clean, clean, test-build-webapp-java:clean]"
+            level="debug" />
+    </target>
+    <target name="test-build-webapp-java:compile" depends="compile">
+        <au:assertLogContains
+            text="Build sequence for target(s) `setUp', `test-build-webapp-java:compile' is [clean-test, setUp, -ivy-provisioning:init, abstract-provisioning:provisioning-ready, -ivy-provisioning:resolve, -ivy-provisioning:resolve-main-confs, -ivy-provisioning:resolve-test-confs, -ivy-provisioning:resolve-provided-confs, ivy-provisioning:resolve, abstract-provisioning:provisioning, abstract-compile:compile-ready, compile-java:init, compile-java:compile, compile-test-java:compile, compile-test-java:compile-integration, abstract-compile:compile, compile, test-build-webapp-java:compile]"
+            level="debug" />
     </target>
     <target name="test-build-webapp-java:test" depends="test">
-         <au:assertLogContains text="Running org.apache.easyant.example.ExampleTest"/>
-         <au:assertLogContains text="Tests run: 2, Failures: 0, Errors: 0"/>
-         <au:assertLogContains text="Build sequence for target(s) `setUp', `test-build-webapp-java:test' is [clean-test, setUp, -ivy-provisioning:init, abstract-provisioning:provisioning-ready, -ivy-provisioning:resolve, -ivy-provisioning:resolve-main-confs, -ivy-provisioning:resolve-test-confs, -ivy-provisioning:resolve-provided-confs, ivy-provisioning:resolve, abstract-provisioning:provisioning, abstract-compile:compile-ready, compile-java:init, compile-java:compile, compile-test-java:compile, compile-test-java:compile-integration, abstract-compile:compile, compile, resources-std:init, -resources-std:check-resources, resources-std:copy-resources, resources-std:copy-test-resources, abstract-test:test-ready, abstract-test:init, test-junit:init, abstract-test:compute-test-sets, -test-junit:test, test-junit:run, abstract-test:test-run, test, test-build-webapp-java:test]" level="debug"/>
+        <au:assertLogContains text="Running org.apache.easyant.example.ExampleTest" />
+        <au:assertLogContains text="Tests run: 2, Failures: 0, Errors: 0" />
+        <au:assertLogContains
+            text="Build sequence for target(s) `setUp', `test-build-webapp-java:test' is [clean-test, setUp, -ivy-provisioning:init, abstract-provisioning:provisioning-ready, -ivy-provisioning:resolve, -ivy-provisioning:resolve-main-confs, -ivy-provisioning:resolve-test-confs, -ivy-provisioning:resolve-provided-confs, ivy-provisioning:resolve, abstract-provisioning:provisioning, abstract-compile:compile-ready, compile-java:init, compile-java:compile, compile-test-java:compile, compile-test-java:compile-integration, abstract-compile:compile, compile, resources-std:init, -resources-std:check-resources, resources-std:copy-resources, resources-std:copy-test-resources, abstract-test:test-ready, abstract-test:init, test-junit:init, abstract-test:compute-test-sets, -test-junit:test, test-junit:run, abstract-test:test-run, test, test-build-webapp-java:test]"
+            level="debug" />
     </target>
-
-   <target name="test-build-webapp-java:package" depends="package">
-       <au:assertLogContains text="Build sequence for target(s) `setUp', `test-build-webapp-java:package' is [clean-test, setUp, -ivy-provisioning:init, abstract-provisioning:provisioning-ready, -ivy-provisioning:resolve, -ivy-provisioning:resolve-main-confs, -ivy-provisioning:resolve-test-confs, -ivy-provisioning:resolve-provided-confs, ivy-provisioning:resolve, abstract-provisioning:provisioning, abstract-compile:compile-ready, compile-java:init, compile-java:compile, compile-test-java:compile, compile-test-java:compile-integration, abstract-compile:compile, compile, manifest:init, -manifest:generate-version-number, manifest:manifest, manifest:manifest-runnable, resources-std:init, -resources-std:check-resources, resources-std:copy-resources, abstract-package:package-ready, abstract-package:init, abstract-package:compute-metainf, package-war:init, -package-war:prepare-war, package-war:war, abstract-package:register-main-artifact, abstract-package:package, package, test-build-webapp-java:package]" level="debug"/>
-   </target>
-
-</project>
+    <target name="test-build-webapp-java:package" depends="package">
+        <au:assertLogContains
+            text="Build sequence for target(s) `setUp', `test-build-webapp-java:package' is [clean-test, setUp, -ivy-provisioning:init, abstract-provisioning:provisioning-ready, -ivy-provisioning:resolve, -ivy-provisioning:resolve-main-confs, -ivy-provisioning:resolve-test-confs, -ivy-provisioning:resolve-provided-confs, ivy-provisioning:resolve, abstract-provisioning:provisioning, abstract-compile:compile-ready, compile-java:init, compile-java:compile, compile-test-java:compile, compile-test-java:compile-integration, abstract-compile:compile, compile, manifest:init, -manifest:generate-version-number, manifest:manifest, manifest:manifest-runnable, resources-std:init, -resources-std:check-resources, resources-std:copy-resources, abstract-package:package-ready, abstract-package:init, abstract-package:compute-metainf, package-war:init, -package-war:prepare-war, package-war:war, abstract-package:register-main-artifact, abstract-package:package, package, test-build-webapp-java:package]"
+            level="debug" />
+    </target>
+</project>
\ No newline at end of file
diff --git a/build-webapp-java/src/test/antunit/module.ivy b/build-webapp-java/src/test/antunit/module.ivy
index ac406ba..d97362e 100644
--- a/build-webapp-java/src/test/antunit/module.ivy
+++ b/build-webapp-java/src/test/antunit/module.ivy
@@ -14,17 +14,17 @@
    See the License for the specific language governing permissions and
    limitations under the License.
 -->
-<ivy-module version="2.0" xmlns:ea="http://www.easyant.org"> 
-    <info organisation="org.apache.easyant" module="standard-java-app" revision="0.1" status="integration" >
-       <ea:build organisation="org.apache.easyant.buildtypes" module="build-webapp-java" revision="0.9"/>
+<ivy-module version="2.0" xmlns:ea="http://www.easyant.org">
+    <info organisation="org.apache.easyant" module="standard-java-app" revision="0.1" status="integration">
+        <ea:build organisation="org.apache.easyant.buildtypes" module="build-webapp-java" revision="0.9" />
     </info>
     <configurations>
-        <conf name="default" visibility="public" description="runtime dependencies and master artifact can be used with this conf"/>
-        <conf name="test" visibility="private" description="this scope indicates that the dependency is not required for normal use of the application, and is only available for the test compilation and execution phases."/>
+        <conf name="default" visibility="public" description="runtime dependencies and master artifact can be used with this conf" />
+        <conf name="test" visibility="private"
+            description="this scope indicates that the dependency is not required for normal use of the application, and is only available for the test compilation and execution phases." />
     </configurations>
     <dependencies>
-        <dependency org="hsqldb" name="hsqldb" rev="1.8.0.7" conf="default->default"/>
+        <dependency org="hsqldb" name="hsqldb" rev="1.8.0.7" conf="default->default" />
         <dependency org="junit" name="junit" rev="4.4" conf="test->default" />
-
     </dependencies>
-</ivy-module>
+</ivy-module>
\ No newline at end of file
diff --git a/meta-build/module.ivy b/meta-build/module.ivy
index a02c257..95107ae 100644
--- a/meta-build/module.ivy
+++ b/meta-build/module.ivy
@@ -14,19 +14,22 @@
    See the License for the specific language governing permissions and
    limitations under the License.
 -->
-<ivy-module version="2.0" xmlns:ea="http://www.easyant.org"> 
-    <info organisation="org.apache.easyant.buildtypes" module="meta-build" revision="0.3">
-           <description>This build type allows you to recursively build multi-module projects,
-           with internal dependencies between modules.</description>
-           <ea:build organisation="org.apache.easyant.buildtypes" module="build-std-ant-plugin" revision="0.1"/>
-        </info>
-        <configurations>
-                <conf name="default" description="runtime dependencies artifact can be used with this conf"/>
-                <conf name="test" description="this scope indicates that the dependency is not required for normal use of the application, and is only available for the test compilation and execution phases."/>
-                <conf name="provided" description="this is much like compile, but indicates you expect the JDK or a container to provide it. It is only available on the compilation classpath, and is not transitive."/>
-        </configurations>
+<ivy-module version="2.0" xmlns:ea="http://www.easyant.org">
+    <info organisation="org.apache.easyant.buildtypes" module="meta-build" revision="0.9">
+        <extends organisation="org.apache.easyant.buildtypes" module="parent-buildtype" revision="0.1"/>
+        <description>This build type allows you to recursively build multi-module projects, with internal dependencies
+            between modules.</description>
+        <ea:build organisation="org.apache.easyant.buildtypes" module="build-std-ant-plugin" revision="0.1" />
+    </info>
+    <configurations>
+        <conf name="default" description="runtime dependencies artifact can be used with this conf" />
+        <conf name="test"
+            description="this scope indicates that the dependency is not required for normal use of the application, and is only available for the test compilation and execution phases." />
+        <conf name="provided"
+            description="this is much like compile, but indicates you expect the JDK or a container to provide it. It is only available on the compilation classpath, and is not transitive." />
+    </configurations>
     <publications>
-        <artifact type="ant"/>
-        <artifact type="properties"/>
+        <artifact type="ant" />
+        <artifact type="properties" />
     </publications>
-</ivy-module>
+</ivy-module>
\ No newline at end of file
diff --git a/meta-build/src/main/resources/meta-build.ant b/meta-build/src/main/resources/meta-build.ant
index 034c338..a5d2c02 100644
--- a/meta-build/src/main/resources/meta-build.ant
+++ b/meta-build/src/main/resources/meta-build.ant
@@ -14,18 +14,12 @@
    See the License for the specific language governing permissions and
    limitations under the License.
 -->
-<project name="org.apache.easyant.buildtypes#meta-build"
-    xmlns:ea="antlib:org.apache.easyant"
-    xmlns:ivy="antlib:org.apache.ivy.ant">
-
+<project name="org.apache.easyant.buildtypes#meta-build" xmlns:ea="antlib:org.apache.easyant" xmlns:ivy="antlib:org.apache.ivy.ant">
     <ea:core-version requiredrevision="[0.9,+]" />
-
     <property file="${org.apache.easyant.buildtypes#meta-build.properties.file}" />
-
     <ea:import mrid="org.apache.easyant.plugins#clean-std;0.2" />
     <ea:import mrid="org.apache.easyant.plugins#build-tools;0.3" />
 
     <!-- friendly target names -->
     <target name="clean" depends="clean-std:clean" description="Clean the project" />
-
-</project>
+</project>
\ No newline at end of file
diff --git a/module.ivy b/module.ivy
index 62210c4..3273329 100644
--- a/module.ivy
+++ b/module.ivy
@@ -14,9 +14,9 @@
    See the License for the specific language governing permissions and
    limitations under the License.
 -->
-<ivy-module version="2.0" xmlns:ea="http://www.easyant.org"> 
-    <info organisation="org.apache.easyant.buildtypes" module="buildtypes-orchestrator" revision="0.1" >
-           <description>This module acts as orchestrator to build all easyant buildtypes.</description>
-        <ea:build module="meta-build" revision="0.2"/>
+<ivy-module version="2.0" xmlns:ea="http://www.easyant.org">
+    <info organisation="org.apache.easyant.buildtypes" module="buildtypes-orchestrator" revision="0.1">
+        <description>This module acts as orchestrator to build all easyant buildtypes.</description>
+        <ea:build module="meta-build" revision="0.9" />
     </info>
 </ivy-module>
diff --git a/parent.ivy b/parent.ivy
index f7dd56e..078af87 100644
--- a/parent.ivy
+++ b/parent.ivy
@@ -14,12 +14,13 @@
    See the License for the specific language governing permissions and
    limitations under the License.
 -->
-<ivy-module version="2.0" xmlns:ea="http://www.easyant.org"> 
-    <info organisation="org.apache.easyant.buildtypes" module="buildtypes-orchestrator" revision="0.1" >
-           <description>This module acts as parent to share common stuff for subprojects.</description>
-        <ea:plugin module="scm-svn" revision="0.1" as="scm" load-strategy="LOCAL">
-            <ea:property name="scm.connection.baseurl" value="https://svn.easyant.org/buildtypes/trunk"/>
-            <ea:property name="scm.tag.name" value="${ivy.module}-${version}"/>
+<ivy-module version="2.0" xmlns:ea="http://www.easyant.org">
+    <info organisation="org.apache.easyant.buildtypes" module="parent-buildtype" revision="0.1">
+        <description>This module acts as parent to share common stuff for subprojects.</description>
+        <ea:plugin module="scm-svn" revision="0.9" as="scm">
+            <ea:property name="scm.connection.baseurl" value="https://svn.easyant.org/buildtypes/trunk" />
+            <ea:property name="scm.tag.name" value="${ivy.module}-${version}" />
         </ea:plugin>
+        <ea:plugin module="antunit" revision="0.9" />
     </info>
-</ivy-module>
+</ivy-module>
\ No newline at end of file