EASYANT-27 : get rid of phases for the buildtype (not sure they actually works, to be tested and thus possibily fixed)


git-svn-id: https://svn.apache.org/repos/asf/incubator/easyant/buildtypes/trunk@1091227 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/build-osgi-bundle-java/src/main/resources/build-osgi-bundle-java.ant b/build-osgi-bundle-java/src/main/resources/build-osgi-bundle-java.ant
index 93585c6..b87fc17 100644
--- a/build-osgi-bundle-java/src/main/resources/build-osgi-bundle-java.ant
+++ b/build-osgi-bundle-java/src/main/resources/build-osgi-bundle-java.ant
@@ -16,37 +16,34 @@
 -->
 <project name="org.apache.easyant.buildtypes#build-osgi-bundle-java"
     xmlns:ea="antlib:org.apache.easyant">
-    
-    <ea:core-version requiredrevision="[0.8,+]" />
+
+    <ea:core-version requiredrevision="[0.9,+]" />
+
     <echo message="Building ${ivy.organisation} ${ivy.module} with org.apache.easyant.buildtypes#build-osgi-bundle-java..."/>
-    
-    <ea:import mrid="org.apache.easyant.plugins#phases-std;0.2" />
 
     <property file="${org.apache.easyant.buildtypes#build-osgi-bundle-java.properties.file}" />
-    
-    <ea:parameter property="version.strategy.plugin.org" description="Organisation name of the version strategy plugin" default="org.apache.easyant.plugins"/>
-    <ea:parameter property="version.strategy.plugin.module" description="Module name of the version strategy plugin" default="default-version-strategy"/>
-    <ea:parameter property="version.strategy.plugin.rev" description="Revision number of the version strategy plugin" default="0.1"/>
-    <ea:parameter property="version.strategy.plugin.mrid" description="Full mrid of the version strategy plugin" default="${version.strategy.plugin.org}#${version.strategy.plugin.module};${version.strategy.plugin.rev}"/>
 
-    <ea:parameter property="test.plugin.org" description="Organisation name of the test plugin" default="org.apache.easyant.plugins"/>
-    <ea:parameter property="test.plugin.module" description="Module name of the test plugin" default="test-${test.framework}"/>
-    <ea:parameter property="test.plugin.rev" description="Revision number of the test plugin" default="0.2"/>
-    <ea:parameter property="test.plugin.mrid" description="Full mrid of the test plugin" default="${test.plugin.org}#${test.plugin.module};${test.plugin.rev}"/>
+    <ea:import mrid="org.apache.easyant.plugins#clean-std;0.2" />
+    <ea:import mrid="org.apache.easyant.plugins#ivy-provisioning;0.2" />
+    <ea:import mrid="org.apache.easyant.plugins#default-version-strategy;0.2" />
+    <ea:import mrid="org.apache.easyant.plugins#ivy-publication;0.2" />
+    <ea:import mrid="org.apache.easyant.plugins#resources-std;0.2" />
+    <ea:import mrid="org.apache.easyant.plugins#compile-java;0.2" />
+    <ea:import mrid="org.apache.easyant.plugins#compile-test-java;0.2" />
+    <ea:import mrid="org.apache.easyant.plugins#test-junit;0.3" />
+    <ea:import mrid="org.apache.easyant.plugins#manifest;0.2" />
+    <ea:import mrid="org.apache.easyant.plugins#osgi-bundle;0.2" />
 
-    
-    <ea:include mrid="org.apache.easyant.plugins#clean-std;0.1" as="clean" />
-    
-    <ea:include mrid="org.apache.easyant.plugins#ivy-provisioning;0.1" as="lib" />
-    <ea:include mrid="${version.strategy.plugin.mrid}" as="version" />
-    <ea:include mrid="org.apache.easyant.plugins#ivy-publication;0.1" as="publish" />
-    <ea:include mrid="org.apache.easyant.plugins#resources-std;0.1" as="resources" />
-    <ea:include mrid="org.apache.easyant.plugins#compile-java;0.1" as="compile" />
-    <ea:include mrid="org.apache.easyant.plugins#compile-test-java;0.1" as="compile-test" />
-    <ea:include mrid="${test.plugin.mrid}" as="test" />
-    
-    <ea:include mrid="org.apache.easyant.plugins#manifest;0.1" as="manifest" />
-    <ea:include mrid="org.apache.easyant.plugins#osgi-bundle;0.1" as="osgi" />
-    
-    <target name="doit" depends="verify" />
+    <!-- plugin binding -->
+    <bindtargets targets="compile-java:compile,manifest:manifest,resources-std:copy-resources" extensionPoint="osgi-bundle:bundle-ready" />
+    <bindtargets targets="compile-test-java:compile,resources-std:copy-test-resources" extensionPoint="abstract-test:test-ready" />
+    <bindtargets targets="osgi-bundle:bundle" extensionPoint="ivy-publication:publish-ready" />
+
+    <!-- friendly target names -->
+    <target name="clean" depends="clean-std:clean" description="Clean the project" />
+    <target name="compile" depends="compile-java:compile" description="Compile the project" />
+    <target name="test" depends="test-junit:run" description="Launch the unit tests" />
+    <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 the repository" />
+
 </project>
diff --git a/build-std-ant-plugin/module.ivy b/build-std-ant-plugin/module.ivy
index 6e8a22f..8ac21c5 100644
--- a/build-std-ant-plugin/module.ivy
+++ b/build-std-ant-plugin/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.buildtypes" module="build-std-ant-plugin" revision="0.1">
+    <info organisation="org.apache.easyant.buildtypes" module="build-std-ant-plugin" revision="0.2">
            <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>
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 b195f51..b7a05e3 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
@@ -17,25 +17,23 @@
 <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.8,+]" />
+
+    <ea:core-version requiredrevision="[0.9,+]" />
+
     <echo message="Building ${ivy.organisation} ${ivy.module} with org.apache.easyant.buildtypes#build-std-ant-plugin..."/>
-    
-    <ea:import mrid="org.apache.easyant.plugins#phases-std;0.2" />
 
     <property file="${org.apache.easyant.buildtypes#build-std-ant-plugin.properties.file}" />
-    
-    <ea:parameter property="version.strategy.plugin.org" description="Organisation name of the version strategy plugin" default="org.apache.easyant.plugins"/>
-    <ea:parameter property="version.strategy.plugin.module" description="Module name of the version strategy plugin" default="default-version-strategy"/>
-    <ea:parameter property="version.strategy.plugin.rev" description="Revision number of the version strategy plugin" default="0.1"/>
-    <ea:parameter property="version.strategy.plugin.mrid" description="Full mrid of the version strategy plugin" default="${version.strategy.plugin.org}#${version.strategy.plugin.module};${version.strategy.plugin.rev}"/>
-    
-    <ea:include mrid="org.apache.easyant.plugins#clean-std;0.1" as="clean" />
-    <ea:include mrid="org.apache.easyant.plugins#resources-std;0.1" as="resources" />
-    <ea:include mrid="${version.strategy.plugin.mrid}" as="version" />
-    <ea:include mrid="org.apache.easyant.plugins#ivy-provisioning;0.1" as="lib" />
-    <ea:include mrid="org.apache.easyant.plugins#easyant-plugin-publication;0.1" as="publish" />
-    <ea:include mrid="org.apache.easyant.plugins#antunit;0.1" as="test" />
-    
-    <target name="doit" depends="verify" />
+
+    <ea:import mrid="org.apache.easyant.plugins#clean-std;0.2" />
+    <ea:import mrid="org.apache.easyant.plugins#resources-std;0.2" />
+    <ea:import mrid="org.apache.easyant.plugins#default-version-strategy;0.2" />
+    <ea:import mrid="org.apache.easyant.plugins#ivy-provisioning;0.2" />
+    <ea:import mrid="org.apache.easyant.plugins#easyant-plugin-publication;0.2" />
+    <ea:import mrid="org.apache.easyant.plugins#antunit;0.2" />
+
+    <!-- friendly target names -->
+    <target name="clean" depends="clean-std:clean" description="Clean the project" />
+    <target name="test" depends="antunit:run" description="Launch the unit tests" />
+    <target name="dist" depends="easyant-plugin-publication:before-test" description="Produce every artifact to be distributed" />
+
 </project>
diff --git a/build-std-groovy/module.ivy b/build-std-groovy/module.ivy
index 12e4099..1c69304 100644
--- a/build-std-groovy/module.ivy
+++ b/build-std-groovy/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.buildtypes" module="build-std-groovy" revision="0.1">
+    <info organisation="org.apache.easyant.buildtypes" module="build-std-groovy" revision="0.2">
            <ea:build organisation="org.apache.easyant.buildtypes" module="build-std-ant-plugin" revision="0.1"/>
         </info>
         <configurations>
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 b3a019d..b127585 100644
--- a/build-std-groovy/src/main/resources/build-std-groovy.ant
+++ b/build-std-groovy/src/main/resources/build-std-groovy.ant
@@ -17,35 +17,34 @@
 <project name="org.apache.easyant.buildtypes#build-std-groovy"
     xmlns:ea="antlib:org.apache.easyant">
     
-    <ea:core-version requiredrevision="[0.8,+]" />
+    <ea:core-version requiredrevision="[0.9,+]" />
+
     <echo message="Building ${ivy.organisation} ${ivy.module} with org.apache.easyant.buildtypes#build-std-groovy..."/>
-    
-    <ea:import mrid="org.apache.easyant.plugins#phases-std;0.2" />
 
     <property file="${org.apache.easyant.buildtypes#build-std-groovy.properties.file}" />
-    
-    <ea:parameter property="version.strategy.plugin.org" description="Organisation name of the version strategy plugin" default="org.apache.easyant.plugins"/>
-    <ea:parameter property="version.strategy.plugin.module" description="Module name of the version strategy plugin" default="default-version-strategy"/>
-    <ea:parameter property="version.strategy.plugin.rev" description="Revision number of the version strategy plugin" default="0.1"/>
-    <ea:parameter property="version.strategy.plugin.mrid" description="Full mrid of the version strategy plugin" default="${version.strategy.plugin.org}#${version.strategy.plugin.module};${version.strategy.plugin.rev}"/>
 
-    <ea:parameter property="test.plugin.org" description="Organisation name of the test plugin" default="org.apache.easyant.plugins"/>
-    <ea:parameter property="test.plugin.module" description="Module name of the test plugin" default="test-${test.framework}"/>
-    <ea:parameter property="test.plugin.rev" description="Revision number of the test plugin" default="0.2"/>
-    <ea:parameter property="test.plugin.mrid" description="Full mrid of the test plugin" default="${test.plugin.org}#${test.plugin.module};${test.plugin.rev}"/>
+    <ea:import mrid="org.apache.easyant.plugins#clean-std;0.2" />
+    <ea:import mrid="org.apache.easyant.plugins#ivy-provisioning;0.2" />
+    <ea:import mrid="org.apache.easyant.plugins#default-version-strategy;0.2" />
+    <ea:import mrid="org.apache.easyant.plugins#ivy-publication;0.2" />
+    <ea:import mrid="org.apache.easyant.plugins#ivy-utils;0.2" />
+    <ea:import mrid="org.apache.easyant.plugins#resources-std;0.2" />
+    <ea:import mrid="org.apache.easyant.plugins#compile-groovy;0.2" />
+    <ea:import mrid="org.apache.easyant.plugins#compile-test-groovy;0.2" />
+    <ea:import mrid="org.apache.easyant.plugins#test-junit;0.3" />
+    <ea:import mrid="org.apache.easyant.plugins#manifest;0.2" />
+    <ea:import mrid="org.apache.easyant.plugins#package-jar;0.2" />
 
-    
-    <ea:include mrid="org.apache.easyant.plugins#clean-std;0.1" as="clean" />
-    
-    <ea:include mrid="org.apache.easyant.plugins#ivy-provisioning;0.1" as="lib" />
-    <ea:include mrid="${version.strategy.plugin.mrid}" as="version" />
-    <ea:include mrid="org.apache.easyant.plugins#ivy-publication;0.1" as="publish" />
-    <ea:include mrid="org.apache.easyant.plugins#ivy-utils;0.1" as="ivy" />
-    <ea:include mrid="org.apache.easyant.plugins#resources-std;0.1" as="resources" />
-    <ea:include mrid="org.apache.easyant.plugins#compile-groovy;0.1" as="compile" />
-    <ea:include mrid="org.apache.easyant.plugins#compile-test-groovy;0.1" as="compile-test" />
-    <ea:include mrid="${test.plugin.mrid}" as="test" />
-    <ea:include mrid="org.apache.easyant.plugins#manifest;0.1" as="manifest" />
-    <ea:include mrid="org.apache.easyant.plugins#package-jar;0.1" as="jar" />
-    <target name="doit" depends="verify" />
+    <!-- plugin binding -->
+    <bindtargets targets="compile-groovy:compile,manifest:manifest,resources-std:copy-resources" extensionPoint="package-jar:jar-ready" />
+    <bindtargets targets="compile-test-groovy:compile,resources-std:copy-test-resources" extensionPoint="abstract-test:test-ready" />
+    <bindtargets targets="package-jar:jar" extensionPoint="ivy-publication:publish-ready" />
+
+    <!-- friendly target names -->
+    <target name="clean" depends="clean-std:clean" description="Clean the project" />
+    <target name="compile" depends="compile-groovy:compile" description="Compile the project" />
+    <target name="test" depends="test-junit:run" description="Launch the unit tests" />
+    <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 the repository" />
+
 </project>
diff --git a/build-std-java/module.ivy b/build-std-java/module.ivy
index b812558..f052a2d 100644
--- a/build-std-java/module.ivy
+++ b/build-std-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.buildtypes" module="build-std-java" revision="0.2">
+    <info organisation="org.apache.easyant.buildtypes" module="build-std-java" revision="0.3">
            <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>
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 2ede736..ee04797 100644
--- a/build-std-java/src/main/resources/build-std-java.ant
+++ b/build-std-java/src/main/resources/build-std-java.ant
@@ -16,39 +16,35 @@
 -->
 <project name="org.apache.easyant.buildtypes#build-std-java" xmlns:ea="antlib:org.apache.easyant">
 
-    <ea:core-version requiredrevision="[0.8,+]" />
+    <ea:core-version requiredrevision="[0.9,+]" />
 
     <echo message="Building ${ivy.organisation} ${ivy.module} with org.apache.easyant.buildtypes#build-std-java..." />
 
-    <ea:import mrid="org.apache.easyant.plugins#phases-std;0.2" />
-
     <property file="${org.apache.easyant.buildtypes#build-std-java.properties.file}" />
 
-    <ea:parameter property="version.strategy.plugin.org" description="Organisation name of the version strategy plugin" default="org.apache.easyant.plugins"/>
-    <ea:parameter property="version.strategy.plugin.module" description="Module name of the version strategy plugin" default="default-version-strategy"/>
-    <ea:parameter property="version.strategy.plugin.rev" description="Revision number of the version strategy plugin" default="0.1"/>
-    <ea:parameter property="version.strategy.plugin.mrid" description="Full mrid of the version strategy plugin" default="${version.strategy.plugin.org}#${version.strategy.plugin.module};${version.strategy.plugin.rev}"/>
+    <ea:import mrid="org.apache.easyant.plugins#clean-std;0.2" />
+    <ea:import mrid="org.apache.easyant.plugins#ivy-provisioning;0.2" />
+    <ea:import mrid="org.apache.easyant.plugins#default-version-strategy;0.2" />
+    <ea:import mrid="org.apache.easyant.plugins#resources-std;0.2" />
+    <ea:import mrid="org.apache.easyant.plugins#compile-java;0.2" />
+    <ea:import mrid="org.apache.easyant.plugins#compile-test-java;0.2" />
+    <ea:import mrid="org.apache.easyant.plugins#ivy-publication;0.2" />
+    <ea:import mrid="org.apache.easyant.plugins#test-junit;0.3" />
+    <ea:import mrid="org.apache.easyant.plugins#manifest;0.2" />
+    <ea:import mrid="org.apache.easyant.plugins#package-jar;0.2" />
+    <ea:import mrid="org.apache.easyant.plugins#source-jar;0.2" />
+    <ea:import mrid="org.apache.easyant.plugins#ivy-utils;0.2" />
 
-    <ea:parameter property="test.plugin.org" description="Organisation name of the test plugin" default="org.apache.easyant.plugins"/>
-    <ea:parameter property="test.plugin.module" description="Module name of the test plugin" default="test-${test.framework}"/>
-    <ea:parameter property="test.plugin.rev" description="Revision number of the test plugin" default="0.2"/>
-    <ea:parameter property="test.plugin.mrid" description="Full mrid of the test plugin" default="${test.plugin.org}#${test.plugin.module};${test.plugin.rev}"/>
+    <!-- plugin binding -->
+    <bindtargets targets="compile-java:compile,manifest:manifest,manifest:manifest-runnable,resources-std:copy-resources" extensionPoint="package-jar:jar-ready" />
+    <bindtargets targets="compile-test-java:compile,resources-std:copy-test-resources" extensionPoint="abstract-test:test-ready" />
+    <bindtargets targets="package-jar:jar,source-jar:main" extensionPoint="ivy-publication:publish-ready" />
 
-    
-    <ea:include mrid="org.apache.easyant.plugins#clean-std;0.1" as="clean" />
+    <!-- friendly target names -->
+    <target name="clean" depends="clean-std:clean" description="Clean the project" />
+    <target name="compile" depends="compile-java:compile" description="Compile the project" />
+    <target name="test" depends="test-junit:run" description="Launch the unit tests" />
+    <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 the repository" />
 
-    <ea:include mrid="org.apache.easyant.plugins#ivy-provisioning;0.1" as="lib" />
-    <ea:include mrid="${version.strategy.plugin.mrid}" as="version" />
-    <ea:include mrid="org.apache.easyant.plugins#ivy-publication;0.1" as="publish" />
-    <ea:include mrid="org.apache.easyant.plugins#ivy-utils;0.1" as="ivy" />
-    <ea:include mrid="org.apache.easyant.plugins#resources-std;0.1" as="resources" />
-    <ea:include mrid="org.apache.easyant.plugins#compile-java;0.1" as="compile" />
-    <ea:include mrid="org.apache.easyant.plugins#compile-test-java;0.1" as="compile-test" />
-
-    <ea:include mrid="${test.plugin.mrid}" as="test" />
-    <ea:include mrid="org.apache.easyant.plugins#manifest;0.1" as="manifest" />
-    
-    <ea:include mrid="org.apache.easyant.plugins#package-jar;0.1" as="jar" />
-
-    <target name="doit" depends="verify" />
 </project>
diff --git a/build-std-scala/module.ivy b/build-std-scala/module.ivy
index f0fc873..579b36c 100644
--- a/build-std-scala/module.ivy
+++ b/build-std-scala/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.buildtypes" module="build-std-scala" revision="0.1">
+    <info organisation="org.apache.easyant.buildtypes" module="build-std-scala" revision="0.2">
            <ea:build organisation="org.apache.easyant.buildtypes" module="build-std-ant-plugin" revision="0.1"/>
         </info>
         <configurations>
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 1f35a81..3aa8745 100644
--- a/build-std-scala/src/main/resources/build-std-scala.ant
+++ b/build-std-scala/src/main/resources/build-std-scala.ant
@@ -16,37 +16,35 @@
 -->
 <project name="org.apache.easyant.buildtypes#build-std-scala"
     xmlns:ea="antlib:org.apache.easyant">
-    
-    <ea:core-version requiredrevision="[0.8,+]" />
+
+    <ea:core-version requiredrevision="[0.9,+]" />
+
     <echo message="Building ${ivy.organisation} ${ivy.module} with org.apache.easyant.buildtypes#build-std-scala..."/>
-    
-    <ea:import mrid="org.apache.easyant.plugins#phases-std;0.2" />
 
     <property file="${org.apache.easyant.buildtypes#build-std-scala.properties.file}" />
-    
-    <ea:parameter property="version.strategy.plugin.org" description="Organisation name of the version strategy plugin" default="org.apache.easyant.plugins"/>
-    <ea:parameter property="version.strategy.plugin.module" description="Module name of the version strategy plugin" default="default-version-strategy"/>
-    <ea:parameter property="version.strategy.plugin.rev" description="Revision number of the version strategy plugin" default="0.1"/>
-    <ea:parameter property="version.strategy.plugin.mrid" description="Full mrid of the version strategy plugin" default="${version.strategy.plugin.org}#${version.strategy.plugin.module};${version.strategy.plugin.rev}"/>
 
-    <ea:parameter property="test.plugin.org" description="Organisation name of the test plugin" default="org.apache.easyant.plugins"/>
-    <ea:parameter property="test.plugin.module" description="Module name of the test plugin" default="test-${test.framework}"/>
-    <ea:parameter property="test.plugin.rev" description="Revision number of the test plugin" default="0.2"/>
-    <ea:parameter property="test.plugin.mrid" description="Full mrid of the test plugin" default="${test.plugin.org}#${test.plugin.module};${test.plugin.rev}"/>
+    <ea:import mrid="org.apache.easyant.plugins#clean-std;0.2" />
+    <ea:import mrid="org.apache.easyant.plugins#ivy-provisioning;0.2" />
+    <ea:import mrid="org.apache.easyant.plugins#default-version-strategy;0.2" />
+    <ea:import mrid="org.apache.easyant.plugins#ivy-publication;0.2" />
+    <ea:import mrid="org.apache.easyant.plugins#ivy-utils;0.2" />
+    <ea:import mrid="org.apache.easyant.plugins#resources-std;0.2" />
+    <ea:import mrid="org.apache.easyant.plugins#compile-scala;0.2" />
+    <ea:import mrid="org.apache.easyant.plugins#compile-test-scala;0.2" />
+    <ea:import mrid="org.apache.easyant.plugins#test-junit;0.3" />
+    <ea:import mrid="org.apache.easyant.plugins#manifest;0.2" />
+    <ea:import mrid="org.apache.easyant.plugins#package-jar;0.2" />
 
-    
-    <ea:include mrid="org.apache.easyant.plugins#clean-std;0.1" as="clean" />
-    
-    <ea:include mrid="org.apache.easyant.plugins#ivy-provisioning;0.1" as="lib" />
-    <ea:include mrid="${version.strategy.plugin.mrid}" as="version" />
-    <ea:include mrid="org.apache.easyant.plugins#ivy-publication;0.1" as="publish" />
-    <ea:include mrid="org.apache.easyant.plugins#ivy-utils;0.1" as="ivy" />
-    <ea:include mrid="org.apache.easyant.plugins#resources-std;0.1" as="resources" />
-    <ea:include mrid="org.apache.easyant.plugins#compile-scala;0.1" as="compile" />
-    <ea:include mrid="org.apache.easyant.plugins#compile-test-scala;0.1" as="compile-test" />
-    <ea:include mrid="${test.plugin.mrid}" as="test" />
-    <ea:include mrid="org.apache.easyant.plugins#manifest;0.1" as="manifest" />
-    <ea:include mrid="org.apache.easyant.plugins#package-jar;0.1" as="jar" />
+    <!-- plugin binding -->
+    <bindtargets targets="compile-scala:compile,manifest:manifest,manifest:manifest-runnable,resources-std:copy-resources" extensionPoint="package-jar:jar-ready" />
+    <bindtargets targets="compile-test-scala:compile,resources-std:copy-test-resources" extensionPoint="abstract-test:test-ready" />
+    <bindtargets targets="package-jar:jar,source-jar:main" extensionPoint="ivy-publication:publish-ready" />
 
-    <target name="doit" depends="verify" />
+    <!-- friendly target names -->
+    <target name="clean" depends="clean-std:clean" description="Clean the project" />
+    <target name="compile" depends="compile-scala:compile" description="Compile the project" />
+    <target name="test" depends="test-junit:run" description="Launch the unit tests" />
+    <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 the repository" />
+
 </project>
diff --git a/build-std-skeleton/module.ivy b/build-std-skeleton/module.ivy
index 859fc7c..aa1a0c0 100644
--- a/build-std-skeleton/module.ivy
+++ b/build-std-skeleton/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.buildtypes" module="build-std-skeleton" revision="0.1">
+    <info organisation="org.apache.easyant.buildtypes" module="build-std-skeleton" revision="0.2">
            <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>
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 fd332c9..4c40e70 100644
--- a/build-std-skeleton/src/main/resources/build-std-skeleton.ant
+++ b/build-std-skeleton/src/main/resources/build-std-skeleton.ant
@@ -17,27 +17,24 @@
 <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.8,+]" />
+
+    <ea:core-version requiredrevision="[0.9,+]" />
     <echo message="Building ${ivy.organisation} ${ivy.module} with org.apache.easyant.buildtypes#build-std-skeleton..."/>
-    
-    <ea:import mrid="org.apache.easyant.plugins#phases-std;0.2" />
 
     <property file="${org.apache.easyant.buildtypes#build-std-skeleton.properties.file}" />
-    
-    <ea:parameter property="version.strategy.plugin.org" description="Organisation name of the version strategy plugin" default="org.apache.easyant.plugins"/>
-    <ea:parameter property="version.strategy.plugin.module" description="Module name of the version strategy plugin" default="default-version-strategy"/>
-    <ea:parameter property="version.strategy.plugin.rev" description="Revision number of the version strategy plugin" default="0.1"/>
-    <ea:parameter property="version.strategy.plugin.mrid" description="Full mrid of the version strategy plugin" default="${version.strategy.plugin.org}#${version.strategy.plugin.module};${version.strategy.plugin.rev}"/>
-    
-    <ea:include mrid="org.apache.easyant.plugins#clean-std;0.1" as="clean" />
-    <ea:include mrid="org.apache.easyant.plugins#resources-std;0.1" as="resources" />
-    <ea:include mrid="${version.strategy.plugin.mrid}" as="version" />
-    <ea:include mrid="org.apache.easyant.plugins#ivy-provisioning;0.1" as="lib" />
-    <ea:include mrid="org.apache.easyant.plugins#easyant-plugin-publication;0.1" as="publish" />
-    <ea:include mrid="org.apache.easyant.plugins#manifest;0.1" as="manifest" />     
-    <ea:include mrid="org.apache.easyant.plugins#antunit;0.1" as="test" />
-    <ea:include mrid="org.apache.easyant.plugins#package-jar;0.1" as="jar" />
 
-    <target name="doit" depends="verify" />
+    <ea:import mrid="org.apache.easyant.plugins#clean-std;0.2" />
+    <ea:import mrid="org.apache.easyant.plugins#resources-std;0.2" />
+    <ea:import mrid="org.apache.easyant.plugins#default-version-strategy;0.2" />
+    <ea:import mrid="org.apache.easyant.plugins#ivy-provisioning;0.2" />
+    <ea:import mrid="org.apache.easyant.plugins#easyant-plugin-publication;0.2" />
+    <ea:import mrid="org.apache.easyant.plugins#manifest;0.2" />
+    <ea:import mrid="org.apache.easyant.plugins#antunit;0.2" />
+    <ea:import mrid="org.apache.easyant.plugins#package-jar;0.2" />
+
+    <!-- friendly target names -->
+    <target name="clean" depends="clean-std:clean" description="Clean the project" />
+    <target name="test" depends="antunit:run" description="Launch the unit tests" />
+    <target name="dist" depends="easyant-plugin-publication:before-test" description="Produce every artifact to be distributed" />
+
 </project>
diff --git a/build-webapp-java/module.ivy b/build-webapp-java/module.ivy
index 4f5f090..ab42b2a 100644
--- a/build-webapp-java/module.ivy
+++ b/build-webapp-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.buildtypes" module="build-webapp-java" revision="0.1">
+    <info organisation="org.apache.easyant.buildtypes" module="build-webapp-java" revision="0.2">
            <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>
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 989c1a4..fc76517 100644
--- a/build-webapp-java/src/main/resources/build-webapp-java.ant
+++ b/build-webapp-java/src/main/resources/build-webapp-java.ant
@@ -16,37 +16,36 @@
 -->
 <project name="org.apache.easyant.buildtypes#build-webapp-java"
     xmlns:ea="antlib:org.apache.easyant">
-    
-    <ea:core-version requiredrevision="[0.8,+]" />
+
+    <ea:core-version requiredrevision="[0.9,+]" />
+
     <echo message="Building ${ivy.organisation} ${ivy.module} with org.apache.easyant.buildtypes#build-webapp-java..."/>
-    
-    <ea:import mrid="org.apache.easyant.plugins#phases-std;0.2" />
 
     <property file="${org.apache.easyant.buildtypes#build-webapp-java.properties.file}" />
-    
-    <ea:parameter property="version.strategy.plugin.org" description="Organisation name of the version strategy plugin" default="org.apache.easyant.plugins"/>
-    <ea:parameter property="version.strategy.plugin.module" description="Module name of the version strategy plugin" default="default-version-strategy"/>
-    <ea:parameter property="version.strategy.plugin.rev" description="Revision number of the version strategy plugin" default="0.1"/>
-    <ea:parameter property="version.strategy.plugin.mrid" description="Full mrid of the version strategy plugin" default="${version.strategy.plugin.org}#${version.strategy.plugin.module};${version.strategy.plugin.rev}"/>
 
-    <ea:parameter property="test.plugin.org" description="Organisation name of the test plugin" default="org.apache.easyant.plugins"/>
-    <ea:parameter property="test.plugin.module" description="Module name of the test plugin" default="test-${test.framework}"/>
-    <ea:parameter property="test.plugin.rev" description="Revision number of the test plugin" default="0.2"/>
-    <ea:parameter property="test.plugin.mrid" description="Full mrid of the test plugin" default="${test.plugin.org}#${test.plugin.module};${test.plugin.rev}"/>
+    <ea:import mrid="org.apache.easyant.plugins#clean-std;0.2" />
+    <ea:import mrid="org.apache.easyant.plugins#ivy-provisioning;0.2" />
+    <ea:import mrid="org.apache.easyant.plugins#default-version-strategy;0.2" />
+    <ea:import mrid="org.apache.easyant.plugins#ivy-publication;0.2" />
+    <ea:import mrid="org.apache.easyant.plugins#ivy-utils;0.2" />
+    <ea:import mrid="org.apache.easyant.plugins#resources-std;0.2" />
+    <ea:import mrid="org.apache.easyant.plugins#compile-java;0.2" />
+    <ea:import mrid="org.apache.easyant.plugins#compile-test-java;0.2" />
+    <ea:import mrid="org.apache.easyant.plugins#test-junit;0.3" />
+    <ea:import mrid="org.apache.easyant.plugins#manifest;0.2" />
+    <ea:import mrid="org.apache.easyant.plugins#package-war;0.2" />
 
-    
-    <ea:include mrid="org.apache.easyant.plugins#clean-std;0.1" as="clean" />
-    
-    <ea:include mrid="org.apache.easyant.plugins#ivy-provisioning;0.1" as="lib" />
-    <ea:include mrid="${version.strategy.plugin.mrid}" as="version" />
-    <ea:include mrid="org.apache.easyant.plugins#ivy-publication;0.1" as="publish" />
-    <ea:include mrid="org.apache.easyant.plugins#ivy-utils;0.1" as="ivy" />
-    <ea:include mrid="org.apache.easyant.plugins#resources-std;0.1" as="resources" />
-    <ea:include mrid="org.apache.easyant.plugins#compile-java;0.1" as="compile" />
-    <ea:include mrid="org.apache.easyant.plugins#compile-test-java;0.1" as="compile-test" />
-    <ea:include mrid="${test.plugin.mrid}" as="test" />
-    <ea:include mrid="org.apache.easyant.plugins#manifest;0.1" as="manifest" />
-    <ea:include mrid="org.apache.easyant.plugins#package-war;0.1" as="war" />
-    
-    <target name="doit" depends="verify" />
+    <!-- plugin binding -->
+    <bindtargets targets="compile-java:compile,manifest:manifest,manifest:manifest-runnable,resources-std:copy-resources" extensionPoint="package-jar:jar-ready" />
+    <bindtargets targets="compile-test-java:compile,resources-std:copy-test-resources" extensionPoint="abstract-test:test-ready" />
+    <bindtargets targets="package-jar:jar" extensionPoint="package-war:war-ready" />
+    <bindtargets targets="package-war:war" extensionPoint="ivy-publication:publish-ready" />
+
+    <!-- friendly target names -->
+    <target name="clean" depends="clean-std:clean" description="Clean the project" />
+    <target name="compile" depends="compile-java:compile" description="Compile the project" />
+    <target name="test" depends="test-junit:run" description="Launch the unit tests" />
+    <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 the repository" />
+
 </project>
diff --git a/meta-build/module.ivy b/meta-build/module.ivy
index a02501f..a02c257 100644
--- a/meta-build/module.ivy
+++ b/meta-build/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.buildtypes" module="meta-build" revision="0.2">
+    <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"/>
diff --git a/meta-build/src/main/resources/meta-build.ant b/meta-build/src/main/resources/meta-build.ant
index cd61c7d..034c338 100644
--- a/meta-build/src/main/resources/meta-build.ant
+++ b/meta-build/src/main/resources/meta-build.ant
@@ -17,15 +17,15 @@
 <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.8,+]" />
-    
-    <ea:include mrid="org.apache.easyant.plugins#phases-std;0.2"/>
-    
+
+    <ea:core-version requiredrevision="[0.9,+]" />
+
     <property file="${org.apache.easyant.buildtypes#meta-build.properties.file}" />
 
-    <ea:include mrid="org.apache.easyant.plugins#clean-std;0.1" as="clean"/>
-    <ea:include mrid="org.apache.easyant.plugins#build-tools;0.2" as="meta"/>
+    <ea:import mrid="org.apache.easyant.plugins#clean-std;0.2" />
+    <ea:import mrid="org.apache.easyant.plugins#build-tools;0.3" />
 
-    <target name="doit" depends="verify" />
+    <!-- friendly target names -->
+    <target name="clean" depends="clean-std:clean" description="Clean the project" />
+
 </project>