1.1 --- a/build.xml Mon Jul 14 05:55:50 2008 +0900
1.2 +++ b/build.xml Tue Aug 19 19:17:04 2008 +0200
1.3 @@ -48,6 +48,9 @@
1.4 ]>
1.5
1.6 <project name="ml-build" default="build" basedir=".">
1.7 +
1.8 + <import file="../nbbuild/default.xml"/>
1.9 +
1.10 <target name="assure-ant">
1.11 <fail message="You need Ant version 1.7.0 or later to build NetBeans.">
1.12 <condition>
1.13 @@ -198,4 +201,239 @@
1.14 </copy>
1.15 </target>
1.16
1.17 + <target name="build-community-nbms" depends="bootstrap,init-tasks">
1.18 + <taskdef name="repeat" classname="org.netbeans.nbbuild.Repeat"
1.19 + classpath="${main.dir}/nbbuild/nbantext.jar"/>
1.20 +
1.21 + <property name="netbeans.dest.dir.ml" location="nbms/community"/>
1.22 + <mkdir dir="${netbeans.dest.dir.ml}"/>
1.23 +
1.24 + <property name="netbeans.build.dir.ml" location="build/community"/>
1.25 + <delete dir="${netbeans.build.dir.ml}"/>
1.26 + <mkdir dir="${netbeans.build.dir.ml}"/>
1.27 +
1.28 + <pathconvert property="dlocales" setonempty="false">
1.29 + <path path="${locales}"/>
1.30 + <chainedmapper>
1.31 + <filtermapper>
1.32 + <replacestring from="," to="_"/>
1.33 + <replacestring from="-" to="_"/>
1.34 + </filtermapper>
1.35 + <flattenmapper/>
1.36 + </chainedmapper>
1.37 + </pathconvert>
1.38 + <tstamp>
1.39 + <format property="spec.version" pattern="yyyy.M.d.kmm" locale="en" />
1.40 + </tstamp>
1.41 + <delete file="build/cluster-nbms-ml.properties"/>
1.42 +
1.43 + <pathconvert property="base.dir" pathsep=",">
1.44 + <path>
1.45 + <pathelement location="dist"/>
1.46 + </path>
1.47 + </pathconvert>
1.48 +
1.49 + <echo>Base dir: ${base.dir}</echo>
1.50 +
1.51 + <pathconvert property="comm.clusters.list" pathsep=",">
1.52 + <path>
1.53 + <dirset dir="dist" id="cluster.dirs">
1.54 + <include name="*"/>
1.55 + </dirset>
1.56 + </path>
1.57 + <map from="${base.dir}/" to=""/>
1.58 + </pathconvert>
1.59 +
1.60 + <echo>Cluster dirs: ${comm.clusters.list}</echo>
1.61 +
1.62 + <repeat target="build-one-nbm-ml" name="one.cluster.dir.ml" values="${comm.clusters.list}"/>
1.63 + <antcall target="build-one-nbm-ml" inheritall="false">
1.64 + <param name="is.kit" value="true"/>
1.65 + <param name="locales" value="${locales}"/>
1.66 + <param name="dlocales" value="${dlocales}"/>
1.67 + <param name="nb.cluster.nb" value="${nb.cluster.nb}"/>
1.68 + <param name="comm.clusters.list" value="${comm.clusters.list}"/>
1.69 + <param name="spec.version" value="${spec.version}"/>
1.70 + <param name="netbeans.dest.dir.ml" value="${netbeans.dest.dir.ml}"/>
1.71 + <param name="netbeans.build.dir.ml" value="${netbeans.build.dir.ml}"/>
1.72 + </antcall>
1.73 + </target>
1.74 +
1.75 + <target name="-create-cluster-ml-nbm-metadata" unless="is.kit">
1.76 + <echo file="build/ml/nbms/tmp/manifest.mf">OpenIDE-Module: ${code.name}
1.77 +OpenIDE-Module-Localizing-Bundle: ${code.name.base.slashes}/Bundle.properties
1.78 +OpenIDE-Module-Specification-Version: ${spec.version}
1.79 +</echo>
1.80 + <echo file="build/ml/nbms/classes/${code.name.base.slashes}/Bundle.properties">
1.81 +OpenIDE-Module-Name=NetBeans 6.1 ${one.cluster.dir.ml} cluster localization (${locales})
1.82 +OpenIDE-Module-Display-Category=Localization
1.83 +OpenIDE-Module-Short-Description=NetBeans 6.1 ${one.cluster.dir.ml} cluster localization (${locales})
1.84 +OpenIDE-Module-Long-Description=Delivers ${locales} localization for all modules in ${one.cluster.dir.ml} cluster of NetBeans 6.1
1.85 +</echo>
1.86 + </target>
1.87 +
1.88 + <target name="-create-kit-ml-nbm-metadata" if="is.kit">
1.89 + <echo file="build/ml/nbms/tmp/manifest.mf">OpenIDE-Module: ${code.name}
1.90 +OpenIDE-Module-Localizing-Bundle: ${code.name.base.slashes}/Bundle.properties
1.91 +OpenIDE-Module-Specification-Version: ${spec.version}
1.92 +OpenIDE-Module-Module-Dependencies: ${kit.deps}
1.93 +</echo>
1.94 + <echo file="build/ml/nbms/classes/${code.name.base.slashes}/Bundle.properties">
1.95 +OpenIDE-Module-Name=NetBeans 6.1 ${locales} localization kit
1.96 +OpenIDE-Module-Display-Category=Localization
1.97 +OpenIDE-Module-Short-Description=NetBeans 6.1 ${locales} localization kit
1.98 +OpenIDE-Module-Long-Description=Delivers ${locales} localization of whole NetBeans 6.1
1.99 +</echo>
1.100 + </target>
1.101 +
1.102 + <target name="-check-ml-nbm-props">
1.103 + <condition property="run.ml.nbm.build" value="true">
1.104 + <and>
1.105 + <isset property="locales"/>
1.106 + <isset property="dlocales"/>
1.107 + <isset property="one.cluster.dir.ml"/>
1.108 + <isset property="comm.clusters.list"/>
1.109 + <isset property="spec.version"/>
1.110 + <isset property="netbeans.dest.dir.ml"/>
1.111 + <isset property="netbeans.build.dir.ml"/>
1.112 + </and>
1.113 + </condition>
1.114 + </target>
1.115 +
1.116 + <target name="build-one-nbm-ml" depends="init-tasks,-check-ml-nbm-props" if="run.ml.nbm.build">
1.117 + <property file="build/cluster-nbms-ml.properties"/>
1.118 +
1.119 + <echo>Cluster dir: ${one.cluster.dir.ml}</echo>
1.120 +
1.121 + <pathconvert property="cluster.package.dir" setonempty="false">
1.122 + <path path="${one.cluster.dir.ml}"/>
1.123 + <chainedmapper>
1.124 + <filtermapper>
1.125 + <replacestring from="," to="_"/>
1.126 + <replacestring from="-" to="_"/>
1.127 + <replacestring from="." to="_"/>
1.128 + </filtermapper>
1.129 + <flattenmapper/>
1.130 + </chainedmapper>
1.131 + </pathconvert>
1.132 + <property name="cluster" location="${netbeans.build.dir.ml}/${one.cluster.dir.ml}"/>
1.133 +
1.134 + <delete dir="build/ml/nbms"/>
1.135 + <delete dir="${netbeans.build.dir.ml}"/>
1.136 + <mkdir dir="${netbeans.build.dir.ml}/${one.cluster.dir.ml}"/>
1.137 + <copy todir="${netbeans.build.dir.ml}/${one.cluster.dir.ml}">
1.138 + <fileset dir="dist/${one.cluster.dir.ml}"/>
1.139 + </copy>
1.140 +
1.141 + <condition property="code.name.base" value="org.netbeans.localization.${cluster.package.dir}.${dlocales}">
1.142 + <not>
1.143 + <isset property="is.kit"/>
1.144 + </not>
1.145 + </condition>
1.146 + <condition property="code.name.base" value="org.netbeans.localization.kit.${cluster.package.dir}.${dlocales}">
1.147 + <isset property="is.kit"/>
1.148 + </condition>
1.149 +
1.150 + <pathconvert property="code.name.base.slashes" setonempty="false">
1.151 + <path path="${code.name.base}"/>
1.152 + <chainedmapper>
1.153 + <flattenmapper/>
1.154 + <filtermapper>
1.155 + <replacestring from="." to="/"/>
1.156 + </filtermapper>
1.157 + </chainedmapper>
1.158 + </pathconvert>
1.159 + <pathconvert property="code.name.base.dashes" setonempty="false">
1.160 + <path path="${code.name.base}"/>
1.161 + <chainedmapper>
1.162 + <flattenmapper/>
1.163 + <filtermapper>
1.164 + <replacestring from="." to="-"/>
1.165 + </filtermapper>
1.166 + </chainedmapper>
1.167 + </pathconvert>
1.168 + <property name="public.packages" value="${code.name.base}.*"/>
1.169 + <property name="code.name" value="${code.name.base}/1"/>
1.170 + <mkdir dir="build/ml/nbms/classes/${code.name.base.slashes}"/>
1.171 + <mkdir dir="build/ml/nbms/tmp"/>
1.172 + <antcall target="-create-cluster-ml-nbm-metadata"/>
1.173 + <antcall target="-create-kit-ml-nbm-metadata"/>
1.174 + <property name="is.autoload" value="false"/>
1.175 + <property name="is.eager" value="false"/>
1.176 + <condition property="module.jar.dir" value="modules">
1.177 + <!-- set module.jar.dir property only when building kit NBM - leads to AutoUpdate-Show-In-Client manifest attribute is set to true -->
1.178 + <isset property="is.kit"/>
1.179 + </condition>
1.180 + <property name="module.jar" value="modules/${code.name.base.dashes}.jar"/> <mkdir dir="${cluster}/modules"/>
1.181 + <jarwithmoduleattributes jarfile="${cluster}/${module.jar}"
1.182 + compress="${build.package.compress}"
1.183 + index="${build.package.index}"
1.184 + manifest="build/ml/nbms/tmp/manifest.mf">
1.185 + <fileset dir="build/ml/nbms/classes"/>
1.186 + </jarwithmoduleattributes>
1.187 + <createmodulexml xmldir="${cluster}/config/Modules">
1.188 + <enabled dir="${cluster}">
1.189 + <include name="${module.jar}"/>
1.190 + </enabled>
1.191 + </createmodulexml>
1.192 + <patternset id="module.files">
1.193 + <!-- include name="${module.jar}"/ -->
1.194 + <include name="**/*.jar"/>
1.195 + <include name="config/Modules/${code.name.base.dashes}.xml"/>
1.196 + </patternset>
1.197 + <property name="module.files.toString" refid="module.files"/>
1.198 + <echo level="verbose">Basic matching module files (${code.name.base.dashes}): ${module.files.toString}</echo>
1.199 + <genlist outputfiledir="${cluster}" module="${module.jar}">
1.200 + <fileset dir="${cluster}">
1.201 + <patternset refid="module.files"/>
1.202 + </fileset>
1.203 + </genlist>
1.204 + <property name="license.file.override" location="build/ml/nbms/license"/>
1.205 + <property name="extra.license.files" value=""/>
1.206 + <taskdef name="releasefileslicense" classname="org.netbeans.nbbuild.extlibs.ReleaseFilesLicense" classpath="${nb_all}/nbbuild/nbantext.jar"/>
1.207 + <releasefileslicense license="${license.file.override}" standardlicense="${nb_all}/nbbuild/standard-nbm-license.txt" extralicensefiles="${extra.license.files}"/>
1.208 + <taskdef name="makenbm" classname="org.netbeans.nbbuild.MakeNBM" classpath="${nb_all}/nbbuild/nbantext.jar"/>
1.209 + <property name="nbm_alias" value="nb_ide"/>
1.210 + <makenbm file="build/ml/${code.name.base.dashes}.nbm"
1.211 + productdir="${cluster}"
1.212 + module="${module.jar}"
1.213 + homepage="http://translatedfiles.netbeans.org/"
1.214 + distribution="http://translatedfiles.netbeans.org/"
1.215 + needsrestart="true"
1.216 + global="true"
1.217 + targetcluster="${one.cluster.dir.ml}"
1.218 + releasedate=""
1.219 + moduleauthor="">
1.220 + <license file="${license.file.override}"/>
1.221 + <signature keystore="${keystore}" storepass="${storepass}" alias="${nbm_alias}"/>
1.222 + </makenbm>
1.223 + <move todir="${netbeans.dest.dir.ml}" file="build/ml/${code.name.base.dashes}.nbm"/>
1.224 + <property file="build/ml/cluster-nbms-ml.properties"/>
1.225 + <condition property="new.kit.deps" value="${code.name} > ${spec.version}">
1.226 + <and>
1.227 + <not>
1.228 + <isset property="kit.deps"/>
1.229 + </not>
1.230 + <not>
1.231 + <isset property="is.kit"/>
1.232 + </not>
1.233 + </and>
1.234 + </condition>
1.235 + <condition property="new.kit.deps" value="${kit.deps},${code.name} > ${spec.version}">
1.236 + <and>
1.237 + <isset property="kit.deps"/>
1.238 + <not>
1.239 + <isset property="is.kit"/>
1.240 + </not>
1.241 + </and>
1.242 + </condition>
1.243 + <condition property="new.kit.deps" value="${kit.deps}">
1.244 + <isset property="is.kit"/>
1.245 + </condition>
1.246 + <propertyfile file="build/ml/cluster-nbms-ml.properties">
1.247 + <entry key="kit.deps" value="${new.kit.deps}"/>
1.248 + </propertyfile>
1.249 +
1.250 + </target>
1.251 +
1.252 </project>