build-xds-ide.xml 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177
  1. <project name="Excelsuior IDE build launcher" default="nightbuild" basedir=".">
  2. <copy todir="./tools" overwrite="true">
  3. <fileset dir="../tools/">
  4. <include name="groovy/**"/>
  5. </fileset>
  6. </copy>
  7. <taskdef resource="net/sf/antcontrib/antcontrib.properties"/>
  8. <taskdef name="groovy" classname="org.codehaus.groovy.ant.Groovy" classpath="./tools/groovy/groovy-all-2.0.5.jar;./tools/groovy/commons-cli-1.2.jar"/>
  9. <!-- Create build.properties file -->
  10. <copy file="build.config" tofile="build.properties" overwrite="true" />
  11. <exec executable="hostname" outputproperty="computer.hostname"/>
  12. <property environment="env"/>
  13. <property name="host.properties" value="config/${computer.hostname}.properties" />
  14. <replace file="build.properties" replacefilterfile="${host.properties}"/>
  15. <!-- Read build.properties file -->
  16. <var file="./build.properties" />
  17. <target name="init">
  18. <buildnumber/>
  19. <tstamp>
  20. <format property="TODAY" pattern="yyyy-MM-dd"/>
  21. <format property="TIMENOW" pattern="HHmmss"/>
  22. </tstamp>
  23. <property name="output" value="${pResultOutputDir}/${TODAY}"/>
  24. <property name="revision" value="1.7.0"/>
  25. <property name="bnumber" value="1"/>
  26. <mkdir dir="${output}" />
  27. </target>
  28. <target name="applyLocalization">
  29. <!-- START Get from babel only relevant fragments -->
  30. <property name="updateSiteBuilder_instance" location="./temp/xds-ide"/>
  31. <delete dir="./temp/" />
  32. <unzip src="./build/I.xds-ide/xds-ide.${revision}-win32.zip" dest="./temp/">
  33. <patternset>
  34. <include name="**/*.*"/>
  35. </patternset>
  36. </unzip>
  37. <property name="updateSiteBuilder_resultUpdateSitePath" location="./temp/localization-site"/>
  38. <!-- create a localization update site containing only relevant babel fragments -->
  39. <java jar="./tools/updateSiteBuilder/builder.jar"
  40. fork="true"
  41. failonerror="true"
  42. maxmemory="128m"
  43. dir="./tools/updateSiteBuilder/"
  44. >
  45. <arg line="--repo ${pLocalizationPluginsBase}/${xds-locale} --instance ${updateSiteBuilder_instance} --l10n_postfix nl_ru --site ${updateSiteBuilder_resultUpdateSitePath}"/>
  46. <classpath>
  47. <pathelement location="./tools/updateSiteBuilder/builder.jar"/>
  48. </classpath>
  49. </java>
  50. <!-- copy *excelsior* plugin localization fragments to the localization update site (features and plugins subdirectories)-->
  51. <for list="features,plugins" param="folder">
  52. <sequential>
  53. <copy todir="${updateSiteBuilder_resultUpdateSitePath}/@{folder}">
  54. <fileset dir="${updateSiteBuilder_instance}/@{folder}" defaultexcludes="false">
  55. <include name="**/*excelsior*nl_ru*/**" />
  56. </fileset>
  57. </copy>
  58. </sequential>
  59. </for>
  60. <!-- END Get from babel only relevant fragments -->
  61. <!-- Put localization plugins into the IDE -->
  62. <zip destfile="./build/I.xds-ide/xds-ide.${revision}-win32.zip" update="true">
  63. <zipfileset dir="${updateSiteBuilder_resultUpdateSitePath}/features" prefix="xds-ide/features" />
  64. <zipfileset dir="${updateSiteBuilder_resultUpdateSitePath}/plugins" prefix="xds-ide/plugins" />
  65. </zip>
  66. <!-- BEGIN create category.xml -->
  67. <property name="repo" location="./repo" />
  68. <property name="categoryXml" location="./temp/category.xml" />
  69. <groovy src="./scripts/createCategoryXml.groovy">
  70. <arg line="--repo ${repo} --categoryXml ${categoryXml}" />
  71. </groovy>
  72. <!-- END create category.xml -->
  73. <groovy>
  74. properties.put('repoUri', new File(properties["repo"]).toURI());
  75. properties.put('categoryXmlUri', new File(properties["categoryXml"]).toURI());
  76. </groovy>
  77. <!-- BEGIN apply category.xml to the repo -->
  78. <java classname="org.eclipse.equinox.launcher.Main" fork="true" failonerror="true">
  79. <arg value="-application" />
  80. <arg value="org.eclipse.equinox.p2.publisher.CategoryPublisher" />
  81. <arg value="-metadataRepository" />
  82. <arg value="${repoUri}" />
  83. <arg value="-categoryDefinition" />
  84. <arg value="${categoryXmlUri}" />
  85. <arg value="-compress" />
  86. <classpath>
  87. <pathelement location="${eclipseLocation}/plugins/org.eclipse.equinox.launcher_${equinoxLauncherPluginVersion}.jar" />
  88. </classpath>
  89. </java>
  90. <!-- END apply category.xml to the repo -->
  91. </target>
  92. <target name="nightbuild" depends="init">
  93. <var name="xds-locale" value="ru"/>
  94. <!--BEGIN build general purpose distrib -->
  95. <delete includeemptydirs="true" quiet="true">
  96. <fileset dir="./temp/xds-ide" includes="**/*"/>
  97. </delete>
  98. <copy todir="../product/com.excelsior.xds.feature/rootfiles/docs">
  99. <fileset dir="../docs/UserGuides/en" includes="*.pdf,*.doc"/>
  100. </copy>
  101. <property name="tmpProductDir1" location="../product"/>
  102. <var name="productDir" value="${tmpProductDir1}"/>
  103. <ant antfile="build.xml">
  104. </ant>
  105. <antcall target="applyLocalization" />
  106. <!-- Put XDS-x86 sdk to distrib -->
  107. <zip destfile="./build/I.xds-ide/xds-ide.${revision}-win32.zip" update="true">
  108. <zipfileset dir="${xdsSdk}" prefix="xds-ide/sdks/XDS-x86" />
  109. </zip>
  110. <copy file="./build/I.xds-ide/xds-ide.${revision}-win32.zip" toFile="${output}/xds-ide-${revision}-${TIMENOW}-${bnumber}-win32.zip">
  111. </copy>
  112. <!--END build general purpose distrib -->
  113. <!--BEGIN build K26 distrib -->
  114. <if>
  115. <equals arg1="${env.BUILD_K26_VERSION}" arg2="ON" />
  116. <then>
  117. <delete includeemptydirs="true" quiet="true">
  118. <fileset dir="./temp/xds-ide" includes="**/*"/>
  119. </delete>
  120. <!-- build distrib with RU locale-->
  121. <copy file="build_k26.config" tofile="build.properties" overwrite="true" />
  122. <replace file="build.properties" replacefilterfile="${host.properties}"/>
  123. <var file="./build.properties" />
  124. <delete>
  125. <fileset dir="../product/com.excelsior.xds.feature/rootfiles/docs" includes="*.pdf,*.doc"/>
  126. </delete>
  127. <copy todir="../product/com.excelsior.xds.feature/rootfiles/docs">
  128. <fileset dir="../docs/UserGuides/ru"/>
  129. </copy>
  130. <property name="tmpProductDir2" location="../product"/>
  131. <var name="productDir" value="${tmpProductDir2}"/>
  132. <concat append="true" destfile="../product/com.excelsior.xds.ide/plugin_customization.ini">
  133. org.eclipse.help/HELP_DATA=PLUGINS_ROOT/com.excelsior.xds.ide/helpData.xml
  134. org.eclipse.help.base/help_home=/com.excelsior.xds.help.nl_ru/nl/ru/html/help_home.html
  135. </concat>
  136. <ant antfile="build.xml">
  137. </ant>
  138. <antcall target="applyLocalization" />
  139. <copy file="./build/I.xds-ide/xds-ide.${revision}-win32.zip" toFile="${output}/xds-ide-k26-${revision}-${TIMENOW}-${bnumber}-win32.zip">
  140. </copy>
  141. </then>
  142. <else>
  143. </else>
  144. </if>
  145. <!--END build K26 distrib -->
  146. </target>
  147. </project>