Closing branch to prepare for merge.
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- You may freely edit this file. See harness/README in the NetBeans platform -->
3 <!-- for some information on what you could do (e.g. targets to override). -->
4 <!-- If you delete this file and reopen the project it will be recreated. -->
5 <project name="plsql support" basedir="." default="netbeans">
6 <description>Builds the module suite plsql support.</description>
8 <property file="nbproject/private/platform-private.properties"/>
9 <property file="build.properties"/>
10 <property file="nbproject/platform.properties"/>
12 <property name="use.timestamp" value="true"/>
13 <property name="timestamp.file" value=".lastModified"/>
15 <property environment="env"/>
16 <condition property="build.id" value="${env.BUILD_ID}" else="dev">
17 <isset property="env.BUILD_ID"/>
20 <target name="calculate-netbeans-url" unless="skip.calculation">
21 <get src="${netbeans.base.url}" dest="netbeans.html" usetimestamp="${use.timestamp}" verbose="true" ignoreerrors="${offline}"/>
22 <loadfile srcfile="netbeans.html" property="netbeans.binaries.url">
25 <containsregex pattern=".*href="(netbeans-[a-z0-9-.]*javaee\.zip)".*" replace="${netbeans.base.url}/\1" flags="im"/>
31 <target name="download-binaries" depends="calculate-netbeans-url" unless="skip.download">
33 <get src="${netbeans.binaries.url}" dest="netbeans.zip" usetimestamp="${use.timestamp}" verbose="false" ignoreerrors="${offline}"/>
37 <target name="check-binaries">
38 <condition property="binaries.uptodate">
40 <uptodate targetfile="${timestamp.file}">
41 <srcfiles dir="." includes="*.zip"/>
43 <available file="ide" type="dir"/>
48 <target name="unzip-binaries" unless="binaries.uptodate">
49 <echo message="New binaries downloaded - re-installing."/>
51 <unzip src="netbeans.zip" dest="ide"/>
52 <touch file="${timestamp.file}"/>
55 <target name="update-binaries" depends="download-binaries,check-binaries,unzip-binaries"/>
57 <target name="check-harness">
58 <echo>nbplatform.default.netbeans.dest.dir resolved to ${nbplatform.default.netbeans.dest.dir}</echo>
59 <echo>nbplatform.default.harness.dir resolved to ${nbplatform.default.harness.dir}</echo>
60 <fail message="Harness is missing. Specify nbplatform.default.netbeans.dest.dir={path-to-your-sources-root}/ide/netbeans in nbproject/private/platform-private.properties">
63 <available file="${nbplatform.default.harness.dir}" type="dir"/>
69 <target name="build-suite" depends="check-harness">
70 <ant antfile="build-suite.xml" target="build" inheritAll="false"/>
73 <target name="printinfo">
74 <property environment="env" />
75 <echo message="${env.BUILD_TAG}"/>
76 <echo message="${env.JAVA_HOME}"/>
79 <target name="netbeans" depends="update-binaries,build-suite"/>
80 <target name="build" depends="netbeans"/>
83 <ant antfile="build-suite.xml" target="clean" inheritAll="false"/>
87 <target name="real-clean" depends="clean">
88 <echo message="Cleaning netbeans IDE"/>
93 <fileset dir="." includes="*.zip"/>
96 <fileset dir="." includes="*.html"/>
98 <delete file="${timestamp.file}"/>
101 <target name="nbms" depends="update-binaries">
102 <ant antfile="build-suite.xml" target="nbms" inheritAll="false"/>
105 <target name="daily" depends="update-binaries,build">
107 <zip destfile="dist/netbeans-701-${build.id}-plsql.zip" duplicate="add">
108 <zipfileset dir="build/cluster" prefix="netbeans/extra"/>
109 <zipfileset dir="ide/netbeans" prefix="netbeans"/>
113 <property name="ant.contrib.jar" value="${basedir}/Libraries/ThirdParty/ant/ant-contrib-1.0b3.jar" />
114 <taskdef resource="net/sf/antcontrib/antcontrib.properties">
116 <pathelement location="${ant.contrib.jar}"/>
120 <path id="manifest.file.paths">
121 <fileset dir="${basedir}">
122 <include name="**/manifest.mf"/>
123 <!-- <exclude name="**/Libraries/ThirdParty/**"/>-->
127 <target name="-find-modules-for-update" description="find all modules in suite that has changes since last release" >
128 <loadproperties srcfile="nbproject/project.properties" />
130 <delete file="build/nbms_update.properties" />
132 <echo level="verbose">${modules}</echo>
134 <foreach param="module.path" target="-vcs-log" list="${modules}" delimiter=":"/>
135 <propertyfile file="build/nbms_update.properties">
136 <entry key="selected.modules" default="" operation="+" value="plsql-support.kit/manifest.mf:"/>
138 <!-- <echoproperties srcfile="build/nbms_update.properties" />-->
141 <target name="-vcs-log" description="use mercurial to check if the last commit was a release commit">
142 <echo level="info">module.path: ${module.path}</echo>
144 <!-- find out revision number of HEAD, need svn.exe installed on local machine -->
145 <exec executable="hg" outputproperty="hglog.out" >
146 <arg line="log -l 1 --style compact '${module.path}'"/>
148 <echo level="verbose">${hglog.out}</echo>
150 <echo level="verbose">${force.increment}</echo>
151 <condition property="nbm.update.needed">
154 <contains string="${hglog.out}" substring="automated commit from "/>
156 <istrue value="${force.increment}" />
159 <echo level="verbose">nbm.update.needed=${nbm.update.needed}</echo>
160 <antcall target="-concat-modules" inheritall="true" />
163 <target name="-concat-modules" if="nbm.update.needed" description="Concatinate the selected module paths and put in .properties file">
164 <echo>Module needs to be updated: ${nbm.update.needed}</echo>
165 <echo level="info">module.path: ${module.path}</echo>
166 <propertyfile file="build/nbms_update.properties">
167 <entry key="selected.modules" default="" operation="+" value="${module.path}/manifest.mf:"/>
171 <target name="show-current-versions" description="show current specification versions for all modules">
172 <foreach param="manifest.file" target="current-version" >
173 <path refid="manifest.file.paths"/>
177 <target name="current-version" depends="-read-version" description="show current specification.version">
180 <target name="incr-major" description="increment major version for modules with changes" depends="-find-modules-for-update">
181 <loadproperties srcfile="build/nbms_update.properties" />
182 <echo>selected.modules=${selected.modules}</echo>
183 <foreach param="manifest.file" target="-major" >
184 <path path="${selected.modules}"/>
186 <delete file="build_info.properties" />
189 <target name="incr-minor" description="increment minor version for modules with changes" depends="-find-modules-for-update">
190 <loadproperties srcfile="build/nbms_update.properties" />
191 <echo>selected.modules=${selected.modules}</echo>
192 <foreach param="manifest.file" target="-minor" >
193 <path path="${selected.modules}"/>
195 <delete file="build_info.properties" />
198 <target name="incr-revision" description="increment revision version for modules with changes" depends="-find-modules-for-update">
199 <loadproperties srcfile="build/nbms_update.properties" />
200 <echo>selected.modules=${selected.modules}</echo>
201 <foreach param="manifest.file" target="-revision" >
202 <path path="${selected.modules}"/>
204 <delete file="build_info.properties" />
207 <target name="-read-version">
208 <echo level="verbose">manifest.file: ${manifest.file}</echo>
209 <property file="${manifest.file}"></property>
210 <property name="specification.version" value="${OpenIDE-Module-Specification-Version}"/>
211 <echo>OpenIDE-Module: ${OpenIDE-Module}</echo>
212 <echo>Current build number:${specification.version}</echo>
213 <propertyregex property="major.version" input="${specification.version}" regexp="(\d+)\.(\d+)\.(\d+)$" select="\1" />
214 <echo level="verbose">major: ${major.version}</echo>
215 <propertyregex property="minor.version" input="${specification.version}" regexp="(\d+)\.(\d+)\.(\d+)$" select="\2" />
216 <echo level="verbose">minor: ${minor.version}</echo>
217 <propertyregex property="revision.version" input="${specification.version}" regexp="(\d+)\.(\d+)\.(\d+)$" select="\3" />
218 <echo level="verbose">revision: ${revision.version}</echo>
219 <propertyfile file="build_info.properties">
220 <entry key="build.major.number" type="int" value="${major.version}" />
221 <entry key="build.minor.number" type="int" value="${minor.version}" />
222 <entry key="build.revision.number" type="int" value="${revision.version}" />
226 <target name="-revision" depends="-read-version">
227 <propertyfile file="build_info.properties">
228 <entry key="build.revision.number" type="int" operation="+" value="1"/>
231 <loadproperties srcfile="build_info.properties" />
232 <manifest file="${manifest.file}" mode="update">
233 <attribute name="OpenIDE-Module-Specification-Version" value="${build.major.number}.${build.minor.number}.${build.revision.number}" />
235 <replaceregexp match="(dependency\D*code-name-base\W${OpenIDE-Module}\W/\D*)(\d+\.\d+\.\d+)" byline="false"
236 file="plsql-support.kit/nbproject/project.xml" replace="\1${build.major.number}.${build.minor.number}.${build.revision.number}"/>
239 <target name="-minor" depends="-read-version">
240 <propertyfile file="build_info.properties">
241 <entry key="build.minor.number" type="int" operation="+" value="1" />
242 <entry key="build.revision.number" type="int" value="0" />
244 <loadproperties srcfile="build_info.properties" />
246 <manifest file="${manifest.file}" mode="update">
247 <attribute name="OpenIDE-Module-Specification-Version" value="${build.major.number}.${build.minor.number}.${build.revision.number}" />
249 <replaceregexp match="(dependency\D*code-name-base\W${OpenIDE-Module}\W/\D*)(\d+\.\d+\.\d+)" byline="false"
250 file="plsql-support.kit/nbproject/project.xml" replace="\1${build.major.number}.${build.minor.number}.${build.revision.number}"/>
253 <target name="-major" depends="-read-version">
254 <propertyfile file="build_info.properties">
255 <entry key="build.major.number" type="int" operation="+" value="1" />
256 <entry key="build.minor.number" type="int" value="0" />
257 <entry key="build.revision.number" type="int" value="0" />
259 <!--<echoproperties srcfile="build_info.properties" />-->
260 <loadproperties srcfile="build_info.properties" />
262 <manifest file="${manifest.file}" mode="update" >
263 <attribute name="OpenIDE-Module-Specification-Version" value="${build.major.number}.${build.minor.number}.${build.revision.number}" />
265 <replaceregexp match="(dependency\D*code-name-base\W${OpenIDE-Module}\W/\D*)(\d+\.\d+\.\d+)" byline="false"
266 file="plsql-support.kit/nbproject/project.xml" replace="\1${build.major.number}.${build.minor.number}.${build.revision.number}"/>
270 <propertyfile file="build_info.properties">
271 <entry key="build.major.number" type="int" operation="+" value="1" />
272 <entry key="build.minor.number" type="int" operation="+" value="1" />
273 <entry key="build.revision.number" type="int" operation="+" value="1" />
277 <target name="echo-manifest" description="echo kit version that is found in manifest. Used by hudson" >
278 <echoproperties srcfile="plsql-support.kit/manifest.mf"/>