You are viewing a plain text version of this content. The canonical link for it is here.
Posted to easyant-commits@incubator.apache.org by jl...@apache.org on 2011/06/28 07:13:58 UTC
svn commit: r1140458 -
/incubator/easyant/plugins/trunk/build-tools/src/main/resources/build-tools.ant
Author: jlboudart
Date: Tue Jun 28 07:13:58 2011
New Revision: 1140458
URL: http://svn.apache.org/viewvc?rev=1140458&view=rev
Log:
Enhance build-tools behavior to support different mode (build all, build modules depending on me, build my dependencies)
Modified:
incubator/easyant/plugins/trunk/build-tools/src/main/resources/build-tools.ant
Modified: incubator/easyant/plugins/trunk/build-tools/src/main/resources/build-tools.ant
URL: http://svn.apache.org/viewvc/incubator/easyant/plugins/trunk/build-tools/src/main/resources/build-tools.ant?rev=1140458&r1=1140457&r2=1140458&view=diff
==============================================================================
--- incubator/easyant/plugins/trunk/build-tools/src/main/resources/build-tools.ant (original)
+++ incubator/easyant/plugins/trunk/build-tools/src/main/resources/build-tools.ant Tue Jun 28 07:13:58 2011
@@ -17,11 +17,44 @@
<project name="org.apache.easyant.plugins#build-tools" xmlns:ea="antlib:org.apache.easyant">
<ea:core-version requiredrevision="[0.9,+]" />
-
<ea:parameter property="project.ivy.instance" default="project.ivy.instance" description="ivy instance name" />
<ea:parameter property="project.ivy.file" required="true" description="ivy file (use to resolve dependencies for the project)" />
<ea:parameter property="pre.module.targets" default="validate,clean" description="list of targets that must be executed BEFORE subproject(s) delegation" />
<ea:parameter property="submodule.dirs" description="pattern or comma-separated list indicating which submodules directories should be included in the build" default="**/*" />
+ <ea:parameter property="metabuild.root" description="root directory level of a metabuild project" default="${basedir}"/>
+ <ea:parameter property="metabuild.includes" description="Pattern describing modules to include in a metabuild" default="${submodule.dirs}" />
+<ea:parameter property="metabuild.excludes" description="Pattern describing modules to exclude in a metabuild" default="src/ test/ lib/ WEB-INF/ classes/ bin/ module.ivy" />
+<ea:parameter property="metabuild.mode" description="defines execution mode of metabuild feature (all,dependents,dependencies)" default="all"/>
+
+<fileset id="submodules.fileset" dir="${metabuild.root}" includes="${metabuild.includes}" excludes="${metabuild.excludes}">
+ <filename name="**/module.ivy" />
+</fileset>
+<condition property="current-module" value="${ivy.module}" else="*">
+ <available file="module.ivy" />
+</condition>
+
+<ac:if>
+ <equals arg1="dependencies" arg2="${metabuild.mode}" />
+ <ac:then>
+ <ivy:buildlist reference="build-path" root="${current-module}" ivyfilepath="module.ivy" excluderoot="true" settingsref="easyant.ivy.instance">
+ <fileset refid="submodules.fileset" />
+ </ivy:buildlist>
+ </ac:then>
+ <ac:elseif>
+ <equals arg1="dependents" arg2="${metabuild.mode}" />
+ <ac:then>
+ <ivy:buildlist reference="build-path" leaf="${current-module}" ivyfilepath="module.ivy" excludeleaf="true" settingsref="easyant.ivy.instance">
+ <fileset refid="submodules.fileset" />
+ </ivy:buildlist>
+ </ac:then>
+ </ac:elseif>
+ <ac:else>
+ <ivy:buildlist reference="build-path" ivyfilepath="module.ivy" settingsref="easyant.ivy.instance">
+ <fileset refid="submodules.fileset" />
+ </ivy:buildlist>
+
+ </ac:else>
+</ac:if>
</project>