buildframework/helium/builder/build.xml
changeset 628 7c4a911dc066
parent 588 c7c26511138f
child 645 b8d81fa19e7d
--- a/buildframework/helium/builder/build.xml	Wed Jun 16 16:51:40 2010 +0300
+++ b/buildframework/helium/builder/build.xml	Fri Aug 13 14:59:05 2010 +0300
@@ -67,6 +67,8 @@
     
     <target name="cleanup" description="Cleanup (delete the temp build directory)">
         <delete dir="${build.temp.dir}" failonerror="false"/>
+        <delete dir="${source.root.dir}/external/antlibs2" failonerror="false" />
+        <delete dir="${source.root.dir}/external/python/lib/auto" failonerror="false" />
     </target>
     
     
@@ -113,13 +115,27 @@
         <ac:for param="file" keepgoing="true">
             <path refid="ivy.buildlist.path" />
             <sequential>
-                <echo>Testing: @{file}</echo>
-                <ant antfile="@{file}" dir="@{file}/.." target="test" inheritAll="false">
-                    <property name="builder.dir" location="${builder.dir}" />
-                    <property name="source.root.dir" location="${source.root.dir}" />
-                </ant>
+                <ac:trycatch>
+                    <try>
+                        <echo>Start component test set: @{file}</echo>
+                        <ant antfile="@{file}" dir="@{file}/.." target="test" inheritAll="false">
+                            <property name="builder.dir" location="${builder.dir}" />
+                            <property name="source.root.dir" location="${source.root.dir}" />
+                        </ant>
+                        <echo>End component test set: @{file}</echo>
+                    </try>
+                    <catch>
+                        <property name="quality.thrown" value="@{file}"/>
+                    </catch>
+                </ac:trycatch>
             </sequential>
         </ac:for>
+        <ac:if>
+            <isset property="quality.thrown"/>
+            <then>
+                <fail message="${quality.thrown} failed"/>
+            </then>
+        </ac:if> 
     </target>
     <!-- TODO: remove after CI tools are cleaned up -->
     <target name="unittest" depends="test"/>
@@ -146,27 +162,55 @@
             <path refid="ivy.buildlist.path" />
             <sequential>
                 <echo>Checking @{file}</echo>
-                <ant antfile="@{file}" dir="@{file}/.." target="quality" inheritAll="false">
-                    <property name="builder.dir" location="${builder.dir}" />
-                    <property name="source.root.dir" value="${source.root.dir}"/>
-                    <property name="platform" value="${platform}"/>
-                </ant>
+                <ac:trycatch>
+                    <try>
+                        <ant antfile="@{file}" dir="@{file}/.." target="quality" inheritAll="false">
+                            <property name="builder.dir" location="${builder.dir}" />
+                            <property name="source.root.dir" value="${source.root.dir}"/>
+                            <property name="platform" value="${platform}"/>
+                        </ant>
+                    </try>
+                    <catch>
+                        <property name="quality.thrown" value="@{file}"/>
+                    </catch>
+                </ac:trycatch>
             </sequential>
         </ac:for>
+        <ac:if>
+            <isset property="quality.thrown"/>
+            <then>
+                <fail message="${quality.thrown} failed"/>
+            </then>
+        </ac:if>  
     </target>
 
     
+    <target name="ci" depends="quality"/>
+    
     <target name="checkstyle" depends="get-build-list" description="Run checkstyle on each component">
         <ac:for param="file" keepgoing="true">
             <path refid="ivy.buildlist.path" />
             <sequential>
-                <ant antfile="@{file}" dir="@{file}/.." target="checkstyle" inheritAll="false">
-                    <property name="builder.dir" location="${builder.dir}" />
-                    <property name="source.root.dir" value="${source.root.dir}"/>
-                    <property name="platform" value="${platform}"/>
-                </ant>
+                <ac:trycatch>
+                    <try>
+                        <ant antfile="@{file}" dir="@{file}/.." target="checkstyle" inheritAll="false">
+                            <property name="builder.dir" location="${builder.dir}" />
+                            <property name="source.root.dir" value="${source.root.dir}"/>
+                            <property name="platform" value="${platform}"/>
+                        </ant>
+                    </try>
+                    <catch>
+                        <property name="quality.thrown" value="@{file}"/>
+                    </catch>
+                </ac:trycatch>
             </sequential>
         </ac:for>
+        <ac:if>
+            <isset property="quality.thrown"/>
+            <then>
+                <fail message="${quality.thrown} failed"/>
+            </then>
+        </ac:if> 
     </target>
 
     
@@ -190,31 +234,54 @@
         <ivy:retrieve sync="true" conf="default" organisation="com.nokia.helium.config"
             module="helium-${config}-config" revision="1.0"
             inline="true" type="jar"
-            pattern="${source.root.dir}/external/antlibs2/[artifact]-[revision].[ext]" />        
+            pattern="${source.root.dir}/external/antlibs2/[artifact]-[revision].[ext]" />
+        <delete>
+           <fileset dir="${source.root.dir}" includes="external/python/lib/auto/zipnotsafe/**" />
+        </delete>
         <ivy:retrieve sync="true" conf="default" organisation="com.nokia.helium.config"
             module="helium-${config}-config" revision="1.0"
             inline="true" type="egg"
-            pattern="${source.root.dir}/external/python/lib/auto/[artifact]-[revision].[ext]" />
-        <fileset id="egg.deps.fileset" dir="${source.root.dir}/external/python/lib/auto" includes="*.egg" excludes="jython*.egg" />
+            pattern="${source.root.dir}/external/python/lib/auto/zipsafe/[artifact]-[revision].[ext]" />
+        <ivy:retrieve sync="false" conf="default" organisation="com.nokia.helium.config"
+            module="helium-${config}-config" revision="1.0"
+            inline="true" type="py"
+            pattern="${source.root.dir}/external/python/lib/auto/[artifact].[ext]" />
+        
+        
+        <path id="egg.deps.fileset" >
+            <dirset dir="${source.root.dir}/external/python/lib/auto" includes="*/*.egg" excludes="*/jython*.egg" />
+            <fileset dir="${source.root.dir}/external/python/lib/auto" includes="*/*.egg" excludes="*/jython*.egg" />
+        </path>
         <fmpp sourceFile="template/easy-install.pth.ftl" outputFile="${source.root.dir}/external/python/lib/auto/easy-install.pth">
             <data>
                 project: antProject()
+                ant: antProperties()
             </data>
         </fmpp>
         
-        <fileset id="egg.hlm.deps.fileset" dir="${source.root.dir}">
-            <include name="external/python/**/*.egg" />
-            <exclude name="**/2.5/**" />
-        </fileset>
+        <path id="egg.hlm.deps.fileset">
+            <dirset dir="${source.root.dir}">
+                <include name="external/python/lib/**/*.egg" />
+                <exclude name="**/*amara*" />
+                <exclude name="**/2.5/**" />
+            </dirset>
+            <fileset dir="${source.root.dir}">
+                <include name="external/python/**/*.egg" />
+                <exclude name="**/*amara*" />
+                <exclude name="**/2.5/**" />
+            </fileset>
+        </path>
         <fmpp sourceFile="template/configure_jython.bat.ftl" outputFile="${source.root.dir}/external/python/configure_jython.bat">
             <data>
                 project: antProject()
+                ant: antProperties()
             </data>
         </fmpp>
 
         <fmpp sourceFile="template/configure_jython.sh.ftl" outputFile="${source.root.dir}/external/python/configure_jython.sh">
             <data>
                 project: antProject()
+                ant: antProperties()
             </data>
         </fmpp>
     </target>
@@ -300,8 +367,10 @@
             <fileset dir="${source.root.dir}/sf/doc/src"/>
         </copy>
         <copy todir="${build.temp.dir}/doc/doctmp" overwrite="true" flatten="true">
-            <fileset dir="${source.root.dir}" includes="*/java/*/**/*.rst"/>
-            <fileset dir="${source.root.dir}" includes="*/python/*/**/*.rst"/>
+            <fileset dir="${source.root.dir}" includes="*/java/*/**/*.rst" excludes="*/java/*/doc/**/*.rst" />
+            <fileset dir="${source.root.dir}" includes="*/python/*/**/*.rst" excludes="*/python/*/doc/**/*.rst" />
+            <fileset dir="${source.root.dir}" includes="*/java/*/doc/" />
+            <fileset dir="${source.root.dir}" includes="*/python/*/doc/" />
         </copy>
         <rstMacro version="1.0" src="${build.temp.dir}/doc/doctmp"/>
     </target>