buildframework/helium/builder/build.xml
changeset 628 7c4a911dc066
parent 588 c7c26511138f
child 645 b8d81fa19e7d
equal deleted inserted replaced
588:c7c26511138f 628:7c4a911dc066
    65     </fileset>
    65     </fileset>
    66   
    66   
    67     
    67     
    68     <target name="cleanup" description="Cleanup (delete the temp build directory)">
    68     <target name="cleanup" description="Cleanup (delete the temp build directory)">
    69         <delete dir="${build.temp.dir}" failonerror="false"/>
    69         <delete dir="${build.temp.dir}" failonerror="false"/>
       
    70         <delete dir="${source.root.dir}/external/antlibs2" failonerror="false" />
       
    71         <delete dir="${source.root.dir}/external/python/lib/auto" failonerror="false" />
    70     </target>
    72     </target>
    71     
    73     
    72     
    74     
    73     <target name="get-build-list">
    75     <target name="get-build-list">
    74         <ivy:buildlist reference="ivy.buildlist.path">
    76         <ivy:buildlist reference="ivy.buildlist.path">
   111     
   113     
   112     <target name="test" depends="get-build-list,build" description="Run test on each component">
   114     <target name="test" depends="get-build-list,build" description="Run test on each component">
   113         <ac:for param="file" keepgoing="true">
   115         <ac:for param="file" keepgoing="true">
   114             <path refid="ivy.buildlist.path" />
   116             <path refid="ivy.buildlist.path" />
   115             <sequential>
   117             <sequential>
   116                 <echo>Testing: @{file}</echo>
   118                 <ac:trycatch>
   117                 <ant antfile="@{file}" dir="@{file}/.." target="test" inheritAll="false">
   119                     <try>
   118                     <property name="builder.dir" location="${builder.dir}" />
   120                         <echo>Start component test set: @{file}</echo>
   119                     <property name="source.root.dir" location="${source.root.dir}" />
   121                         <ant antfile="@{file}" dir="@{file}/.." target="test" inheritAll="false">
   120                 </ant>
   122                             <property name="builder.dir" location="${builder.dir}" />
       
   123                             <property name="source.root.dir" location="${source.root.dir}" />
       
   124                         </ant>
       
   125                         <echo>End component test set: @{file}</echo>
       
   126                     </try>
       
   127                     <catch>
       
   128                         <property name="quality.thrown" value="@{file}"/>
       
   129                     </catch>
       
   130                 </ac:trycatch>
   121             </sequential>
   131             </sequential>
   122         </ac:for>
   132         </ac:for>
       
   133         <ac:if>
       
   134             <isset property="quality.thrown"/>
       
   135             <then>
       
   136                 <fail message="${quality.thrown} failed"/>
       
   137             </then>
       
   138         </ac:if> 
   123     </target>
   139     </target>
   124     <!-- TODO: remove after CI tools are cleaned up -->
   140     <!-- TODO: remove after CI tools are cleaned up -->
   125     <target name="unittest" depends="test"/>
   141     <target name="unittest" depends="test"/>
   126     
   142     
   127     
   143     
   144     <target name="quality" depends="get-build-list" description="Run quality checks on each component">
   160     <target name="quality" depends="get-build-list" description="Run quality checks on each component">
   145         <ac:for param="file" keepgoing="true">
   161         <ac:for param="file" keepgoing="true">
   146             <path refid="ivy.buildlist.path" />
   162             <path refid="ivy.buildlist.path" />
   147             <sequential>
   163             <sequential>
   148                 <echo>Checking @{file}</echo>
   164                 <echo>Checking @{file}</echo>
   149                 <ant antfile="@{file}" dir="@{file}/.." target="quality" inheritAll="false">
   165                 <ac:trycatch>
   150                     <property name="builder.dir" location="${builder.dir}" />
   166                     <try>
   151                     <property name="source.root.dir" value="${source.root.dir}"/>
   167                         <ant antfile="@{file}" dir="@{file}/.." target="quality" inheritAll="false">
   152                     <property name="platform" value="${platform}"/>
   168                             <property name="builder.dir" location="${builder.dir}" />
   153                 </ant>
   169                             <property name="source.root.dir" value="${source.root.dir}"/>
       
   170                             <property name="platform" value="${platform}"/>
       
   171                         </ant>
       
   172                     </try>
       
   173                     <catch>
       
   174                         <property name="quality.thrown" value="@{file}"/>
       
   175                     </catch>
       
   176                 </ac:trycatch>
   154             </sequential>
   177             </sequential>
   155         </ac:for>
   178         </ac:for>
   156     </target>
   179         <ac:if>
   157 
   180             <isset property="quality.thrown"/>
       
   181             <then>
       
   182                 <fail message="${quality.thrown} failed"/>
       
   183             </then>
       
   184         </ac:if>  
       
   185     </target>
       
   186 
       
   187     
       
   188     <target name="ci" depends="quality"/>
   158     
   189     
   159     <target name="checkstyle" depends="get-build-list" description="Run checkstyle on each component">
   190     <target name="checkstyle" depends="get-build-list" description="Run checkstyle on each component">
   160         <ac:for param="file" keepgoing="true">
   191         <ac:for param="file" keepgoing="true">
   161             <path refid="ivy.buildlist.path" />
   192             <path refid="ivy.buildlist.path" />
   162             <sequential>
   193             <sequential>
   163                 <ant antfile="@{file}" dir="@{file}/.." target="checkstyle" inheritAll="false">
   194                 <ac:trycatch>
   164                     <property name="builder.dir" location="${builder.dir}" />
   195                     <try>
   165                     <property name="source.root.dir" value="${source.root.dir}"/>
   196                         <ant antfile="@{file}" dir="@{file}/.." target="checkstyle" inheritAll="false">
   166                     <property name="platform" value="${platform}"/>
   197                             <property name="builder.dir" location="${builder.dir}" />
   167                 </ant>
   198                             <property name="source.root.dir" value="${source.root.dir}"/>
       
   199                             <property name="platform" value="${platform}"/>
       
   200                         </ant>
       
   201                     </try>
       
   202                     <catch>
       
   203                         <property name="quality.thrown" value="@{file}"/>
       
   204                     </catch>
       
   205                 </ac:trycatch>
   168             </sequential>
   206             </sequential>
   169         </ac:for>
   207         </ac:for>
       
   208         <ac:if>
       
   209             <isset property="quality.thrown"/>
       
   210             <then>
       
   211                 <fail message="${quality.thrown} failed"/>
       
   212             </then>
       
   213         </ac:if> 
   170     </target>
   214     </target>
   171 
   215 
   172     
   216     
   173     <target name="get-deps" description="Retrieving Helium dependencies">
   217     <target name="get-deps" description="Retrieving Helium dependencies">
   174         <ac:if>
   218         <ac:if>
   188         <!-- the call to resolve is not mandatory, retrieve makes an implicit call if we don't -->
   232         <!-- the call to resolve is not mandatory, retrieve makes an implicit call if we don't -->
   189         <ivy:resolve organisation="com.nokia.helium.config" module="helium-${config}-config" revision="1.0" inline="true" />
   233         <ivy:resolve organisation="com.nokia.helium.config" module="helium-${config}-config" revision="1.0" inline="true" />
   190         <ivy:retrieve sync="true" conf="default" organisation="com.nokia.helium.config"
   234         <ivy:retrieve sync="true" conf="default" organisation="com.nokia.helium.config"
   191             module="helium-${config}-config" revision="1.0"
   235             module="helium-${config}-config" revision="1.0"
   192             inline="true" type="jar"
   236             inline="true" type="jar"
   193             pattern="${source.root.dir}/external/antlibs2/[artifact]-[revision].[ext]" />        
   237             pattern="${source.root.dir}/external/antlibs2/[artifact]-[revision].[ext]" />
       
   238         <delete>
       
   239            <fileset dir="${source.root.dir}" includes="external/python/lib/auto/zipnotsafe/**" />
       
   240         </delete>
   194         <ivy:retrieve sync="true" conf="default" organisation="com.nokia.helium.config"
   241         <ivy:retrieve sync="true" conf="default" organisation="com.nokia.helium.config"
   195             module="helium-${config}-config" revision="1.0"
   242             module="helium-${config}-config" revision="1.0"
   196             inline="true" type="egg"
   243             inline="true" type="egg"
   197             pattern="${source.root.dir}/external/python/lib/auto/[artifact]-[revision].[ext]" />
   244             pattern="${source.root.dir}/external/python/lib/auto/zipsafe/[artifact]-[revision].[ext]" />
   198         <fileset id="egg.deps.fileset" dir="${source.root.dir}/external/python/lib/auto" includes="*.egg" excludes="jython*.egg" />
   245         <ivy:retrieve sync="false" conf="default" organisation="com.nokia.helium.config"
       
   246             module="helium-${config}-config" revision="1.0"
       
   247             inline="true" type="py"
       
   248             pattern="${source.root.dir}/external/python/lib/auto/[artifact].[ext]" />
       
   249         
       
   250         
       
   251         <path id="egg.deps.fileset" >
       
   252             <dirset dir="${source.root.dir}/external/python/lib/auto" includes="*/*.egg" excludes="*/jython*.egg" />
       
   253             <fileset dir="${source.root.dir}/external/python/lib/auto" includes="*/*.egg" excludes="*/jython*.egg" />
       
   254         </path>
   199         <fmpp sourceFile="template/easy-install.pth.ftl" outputFile="${source.root.dir}/external/python/lib/auto/easy-install.pth">
   255         <fmpp sourceFile="template/easy-install.pth.ftl" outputFile="${source.root.dir}/external/python/lib/auto/easy-install.pth">
   200             <data>
   256             <data>
   201                 project: antProject()
   257                 project: antProject()
       
   258                 ant: antProperties()
   202             </data>
   259             </data>
   203         </fmpp>
   260         </fmpp>
   204         
   261         
   205         <fileset id="egg.hlm.deps.fileset" dir="${source.root.dir}">
   262         <path id="egg.hlm.deps.fileset">
   206             <include name="external/python/**/*.egg" />
   263             <dirset dir="${source.root.dir}">
   207             <exclude name="**/2.5/**" />
   264                 <include name="external/python/lib/**/*.egg" />
   208         </fileset>
   265                 <exclude name="**/*amara*" />
       
   266                 <exclude name="**/2.5/**" />
       
   267             </dirset>
       
   268             <fileset dir="${source.root.dir}">
       
   269                 <include name="external/python/**/*.egg" />
       
   270                 <exclude name="**/*amara*" />
       
   271                 <exclude name="**/2.5/**" />
       
   272             </fileset>
       
   273         </path>
   209         <fmpp sourceFile="template/configure_jython.bat.ftl" outputFile="${source.root.dir}/external/python/configure_jython.bat">
   274         <fmpp sourceFile="template/configure_jython.bat.ftl" outputFile="${source.root.dir}/external/python/configure_jython.bat">
   210             <data>
   275             <data>
   211                 project: antProject()
   276                 project: antProject()
       
   277                 ant: antProperties()
   212             </data>
   278             </data>
   213         </fmpp>
   279         </fmpp>
   214 
   280 
   215         <fmpp sourceFile="template/configure_jython.sh.ftl" outputFile="${source.root.dir}/external/python/configure_jython.sh">
   281         <fmpp sourceFile="template/configure_jython.sh.ftl" outputFile="${source.root.dir}/external/python/configure_jython.sh">
   216             <data>
   282             <data>
   217                 project: antProject()
   283                 project: antProject()
       
   284                 ant: antProperties()
   218             </data>
   285             </data>
   219         </fmpp>
   286         </fmpp>
   220     </target>
   287     </target>
   221     
   288     
   222     
   289     
   298         <delete dir="${build.temp.dir}/doc/doctmp" failonerror="false"/>
   365         <delete dir="${build.temp.dir}/doc/doctmp" failonerror="false"/>
   299         <copy todir="${build.temp.dir}/doc/doctmp" overwrite="true">
   366         <copy todir="${build.temp.dir}/doc/doctmp" overwrite="true">
   300             <fileset dir="${source.root.dir}/sf/doc/src"/>
   367             <fileset dir="${source.root.dir}/sf/doc/src"/>
   301         </copy>
   368         </copy>
   302         <copy todir="${build.temp.dir}/doc/doctmp" overwrite="true" flatten="true">
   369         <copy todir="${build.temp.dir}/doc/doctmp" overwrite="true" flatten="true">
   303             <fileset dir="${source.root.dir}" includes="*/java/*/**/*.rst"/>
   370             <fileset dir="${source.root.dir}" includes="*/java/*/**/*.rst" excludes="*/java/*/doc/**/*.rst" />
   304             <fileset dir="${source.root.dir}" includes="*/python/*/**/*.rst"/>
   371             <fileset dir="${source.root.dir}" includes="*/python/*/**/*.rst" excludes="*/python/*/doc/**/*.rst" />
       
   372             <fileset dir="${source.root.dir}" includes="*/java/*/doc/" />
       
   373             <fileset dir="${source.root.dir}" includes="*/python/*/doc/" />
   305         </copy>
   374         </copy>
   306         <rstMacro version="1.0" src="${build.temp.dir}/doc/doctmp"/>
   375         <rstMacro version="1.0" src="${build.temp.dir}/doc/doctmp"/>
   307     </target>
   376     </target>
   308     
   377     
   309     
   378