87 lines
3.2 KiB
XML
87 lines
3.2 KiB
XML
<project name="proj" default="do">
|
|
<path id="project.classpath">
|
|
</path>
|
|
<taskdef resource="net/sf/antcontrib/antcontrib.properties"/>
|
|
<taskdef resource="net/sf/antcontrib/antlib.xml" classpathref="project.classpath" />
|
|
<property name="repoRootDir" value="C:/builds/studio" />
|
|
<property name="m2GroupDir" value="C:/Users/iwang/.m2/repository/org/talend/studio" />
|
|
<target name="do">
|
|
<delete file="./build_modules_run.log"/>
|
|
<delete file="./build_modules_success.log"/>
|
|
<delete file="./build_modules_failed.log"/>
|
|
<delete dir="./logs"/>
|
|
<for list="tbd-studio-ee,tbd-studio-se,tcommon-studio-ee,tcommon-studio-se,tdi-studio-ee,tdi-studio-se,tdq-studio-ee,tdq-studio-se,tesb-studio-ee,tesb-studio-se,tmdm-common,tmdm-studio-ee,tmdm-studio-se" param="repoPomDir">
|
|
<sequential>
|
|
<echo>Repository POM @{repoPomDir}</echo>
|
|
<var name="pomContents" unset="true" />
|
|
<loadfile property="pomContents" srcFile="${repoRootDir}/@{repoPomDir}/pom.xml">
|
|
<filterchain>
|
|
<linecontains>
|
|
<contains value="<module>"/>
|
|
</linecontains>
|
|
</filterchain>
|
|
</loadfile>
|
|
|
|
<if>
|
|
<not><contains string="@{repoPomDir}" substring=".nl" /></not>
|
|
<then>
|
|
<for list="${pomContents}" param="moduleLine" delimiter="${line.separator}">
|
|
<sequential>
|
|
<propertyregex property="modulePath" regexp="<module>(.*)</module>" select="\1" input="@{moduleLine}" override="true" />
|
|
<if>
|
|
<available file="${repoRootDir}/@{repoPomDir}/${modulePath}/pom.xml" />
|
|
<then>
|
|
<echo>Module POM @{repoPomDir}/${modulePath}</echo>
|
|
<echo file="./build_modules_run.log" append="true">@{repoPomDir}/${modulePath}${line.separator}</echo>
|
|
<antcall target="buildModule" >
|
|
<param name="moduleDir" value="${repoRootDir}/@{repoPomDir}/${modulePath}"/>
|
|
<param name="repo" value="@{repoPomDir}"/>
|
|
<param name="module" value="${modulePath}"/>
|
|
</antcall>
|
|
</then>
|
|
</if>
|
|
</sequential>
|
|
</for>
|
|
</then>
|
|
</if>
|
|
</sequential>
|
|
</for>
|
|
</target>
|
|
<target name="buildModule">
|
|
<delete file="${m2GroupDir}" />
|
|
<echo>Deleting ${m2GroupDir}</echo>
|
|
<var name="result" unset="true" />
|
|
<var name="log" unset="true" />
|
|
|
|
<if>
|
|
<os family="windows" />
|
|
<then>
|
|
<exec executable="cmd" dir="${moduleDir}" outputproperty="log" resultproperty="result" failonerror="false">
|
|
<arg line="/c mvn clean package"/>
|
|
</exec>
|
|
</then>
|
|
<else>
|
|
<exec executable="mvn" dir="${moduleDir}" outputproperty="log" resultproperty="result" failonerror="false">
|
|
<arg line="-U clean package"/>
|
|
</exec>
|
|
</else>
|
|
</if>
|
|
<echo>modulePath ${modulePath}</echo>
|
|
<var name="moduleName" unset="true" />
|
|
<basename file="${modulePath}" property="moduleName" />
|
|
<echo>moduleName ${moduleName}</echo>
|
|
<if>
|
|
<not><equals arg1="${result}" arg2="0"/></not>
|
|
<then>
|
|
<mkdir dir="./logs/failed" />
|
|
<echo file="./logs/failed/build_${moduleName}.log">${log}</echo>
|
|
<echo>FAILED</echo>
|
|
</then>
|
|
<else>
|
|
<echo file="./build_modules_success.log" append="true">${repo}/${module}${line.separator}</echo>
|
|
<echo file="./logs/build_success.log" append="true">${log}</echo>
|
|
</else>
|
|
</if>
|
|
|
|
</target>
|
|
</project> |