author | chrislovsund@netbeans.org |
Wed, 15 Aug 2012 19:43:54 +0200 | |
branch | release72 |
changeset 277 | 092b7a73a3ff |
parent 43 | 88e04440a445 |
child 278 | 30a3cac5c474 |
permissions | -rw-r--r-- |
jrechtacek@0 | 1 |
<?xml version="1.0" encoding="UTF-8"?> |
jrechtacek@0 | 2 |
<!-- You may freely edit this file. See harness/README in the NetBeans platform --> |
jrechtacek@0 | 3 |
<!-- for some information on what you could do (e.g. targets to override). --> |
jrechtacek@0 | 4 |
<!-- If you delete this file and reopen the project it will be recreated. --> |
jrechtacek@0 | 5 |
<project name="plsql support" basedir="." default="netbeans"> |
jrechtacek@0 | 6 |
<description>Builds the module suite plsql support.</description> |
jrechtacek@0 | 7 |
|
jrechtacek@20 | 8 |
<property file="nbproject/private/platform-private.properties"/> |
jrechtacek@0 | 9 |
<property file="build.properties"/> |
jrechtacek@11 | 10 |
<property file="nbproject/platform.properties"/> |
jrechtacek@0 | 11 |
|
jrechtacek@0 | 12 |
<property name="use.timestamp" value="true"/> |
jrechtacek@15 | 13 |
<property name="timestamp.file" value=".lastModified"/> |
jrechtacek@0 | 14 |
|
jrechtacek@0 | 15 |
<property environment="env"/> |
chrislovsund@266 | 16 |
<property name="env.BUILD_NUMBER" value="0" description="Set a fake value if not run from Jenkins"/> |
chrislovsund@266 | 17 |
<property name="env.next_jira_release_version" value="8.72.0" description="Set a fake value if not run from Jenkins"/> |
chrislovsund@266 | 18 |
<property name="new_version" value="${env.next_jira_release_version}.${env.BUILD_NUMBER}" description="Set a version number based on info from Jenkins"/> |
chrislovsund@266 | 19 |
|
jrechtacek@0 | 20 |
<condition property="build.id" value="${env.BUILD_ID}" else="dev"> |
jrechtacek@0 | 21 |
<isset property="env.BUILD_ID"/> |
jrechtacek@0 | 22 |
</condition> |
jrechtacek@0 | 23 |
|
jrechtacek@0 | 24 |
<target name="calculate-netbeans-url" unless="skip.calculation"> |
jrechtacek@0 | 25 |
<get src="${netbeans.base.url}" dest="netbeans.html" usetimestamp="${use.timestamp}" verbose="true" ignoreerrors="${offline}"/> |
jrechtacek@0 | 26 |
<loadfile srcfile="netbeans.html" property="netbeans.binaries.url"> |
jrechtacek@0 | 27 |
<filterchain> |
jrechtacek@0 | 28 |
<tokenfilter> |
jrechtacek@0 | 29 |
<containsregex pattern=".*href="(netbeans-[a-z0-9-.]*javaee\.zip)".*" replace="${netbeans.base.url}/\1" flags="im"/> |
jrechtacek@0 | 30 |
</tokenfilter> |
jrechtacek@0 | 31 |
</filterchain> |
jrechtacek@0 | 32 |
</loadfile> |
jrechtacek@0 | 33 |
</target> |
jrechtacek@0 | 34 |
|
jrechtacek@0 | 35 |
<target name="download-binaries" depends="calculate-netbeans-url" unless="skip.download"> |
jrechtacek@0 | 36 |
<parallel> |
jrechtacek@0 | 37 |
<get src="${netbeans.binaries.url}" dest="netbeans.zip" usetimestamp="${use.timestamp}" verbose="false" ignoreerrors="${offline}"/> |
jrechtacek@0 | 38 |
</parallel> |
jrechtacek@0 | 39 |
</target> |
jrechtacek@0 | 40 |
|
jrechtacek@0 | 41 |
<target name="check-binaries"> |
jrechtacek@0 | 42 |
<condition property="binaries.uptodate"> |
jrechtacek@0 | 43 |
<and> |
jrechtacek@0 | 44 |
<uptodate targetfile="${timestamp.file}"> |
jrechtacek@0 | 45 |
<srcfiles dir="." includes="*.zip"/> |
jrechtacek@0 | 46 |
</uptodate> |
jrechtacek@0 | 47 |
</and> |
jrechtacek@0 | 48 |
</condition> |
jrechtacek@0 | 49 |
</target> |
jrechtacek@0 | 50 |
|
jrechtacek@0 | 51 |
<target name="unzip-binaries" unless="binaries.uptodate"> |
jrechtacek@0 | 52 |
<echo message="New binaries downloaded - re-installing."/> |
jrechtacek@0 | 53 |
<delete dir="ide"/> |
jrechtacek@0 | 54 |
<unzip src="netbeans.zip" dest="ide"/> |
jrechtacek@0 | 55 |
<touch file="${timestamp.file}"/> |
jrechtacek@0 | 56 |
</target> |
jrechtacek@0 | 57 |
|
jrechtacek@0 | 58 |
<target name="update-binaries" depends="download-binaries,check-binaries,unzip-binaries"/> |
jrechtacek@0 | 59 |
|
jrechtacek@11 | 60 |
<target name="check-harness"> |
jrechtacek@8 | 61 |
<echo>nbplatform.default.netbeans.dest.dir resolved to ${nbplatform.default.netbeans.dest.dir}</echo> |
jrechtacek@0 | 62 |
<echo>nbplatform.default.harness.dir resolved to ${nbplatform.default.harness.dir}</echo> |
jrechtacek@15 | 63 |
<fail message="Harness is missing. Specify nbplatform.default.netbeans.dest.dir={path-to-your-sources-root}/ide/netbeans in nbproject/private/platform-private.propetries"> |
jrechtacek@11 | 64 |
<condition> |
jrechtacek@11 | 65 |
<not> |
jrechtacek@11 | 66 |
<available file="${nbplatform.default.harness.dir}" type="dir"/> |
jrechtacek@11 | 67 |
</not> |
jrechtacek@11 | 68 |
</condition> |
jrechtacek@11 | 69 |
</fail> |
jrechtacek@11 | 70 |
</target> |
jrechtacek@11 | 71 |
|
jrechtacek@11 | 72 |
<target name="build-suite" depends="check-harness"> |
jrechtacek@0 | 73 |
<ant antfile="build-suite.xml" target="build" inheritAll="false"/> |
jrechtacek@0 | 74 |
</target> |
jrechtacek@0 | 75 |
|
jrechtacek@10 | 76 |
<target name="printinfo"> |
jrechtacek@10 | 77 |
<property environment="env" /> |
jrechtacek@10 | 78 |
<echo message="${env.BUILD_TAG}"/> |
jrechtacek@10 | 79 |
<echo message="${env.JAVA_HOME}"/> |
jrechtacek@10 | 80 |
</target> |
jrechtacek@10 | 81 |
|
jrechtacek@0 | 82 |
<target name="netbeans" depends="update-binaries,build-suite"/> |
jrechtacek@0 | 83 |
<target name="build" depends="netbeans"/> |
jrechtacek@0 | 84 |
|
jrechtacek@0 | 85 |
<target name="clean"> |
jrechtacek@8 | 86 |
<echo>nbplatform.default.netbeans.dest.dir resolved to ${nbplatform.default.netbeans.dest.dir}</echo> |
jrechtacek@0 | 87 |
<echo>nbplatform.default.harness.dir resolved to ${nbplatform.default.harness.dir}</echo> |
jrechtacek@0 | 88 |
<ant antfile="build-suite.xml" target="clean" inheritAll="false"/> |
jrechtacek@0 | 89 |
</target> |
jrechtacek@0 | 90 |
|
jrechtacek@0 | 91 |
<target name="real-clean" depends="clean"> |
jrechtacek@0 | 92 |
<echo message="Cleaning netbeans IDE"/> |
jrechtacek@0 | 93 |
<delete dir="build"/> |
jrechtacek@0 | 94 |
<delete dir="dist"/> |
jrechtacek@0 | 95 |
<delete dir="ide"/> |
jrechtacek@0 | 96 |
<delete> |
jrechtacek@0 | 97 |
<fileset dir="." includes="*.zip"/> |
jrechtacek@0 | 98 |
</delete> |
jrechtacek@0 | 99 |
<delete> |
jrechtacek@0 | 100 |
<fileset dir="." includes="*.html"/> |
jrechtacek@0 | 101 |
</delete> |
jrechtacek@0 | 102 |
<delete file="${timestamp.file}"/> |
jrechtacek@0 | 103 |
</target> |
jrechtacek@0 | 104 |
|
jrechtacek@7 | 105 |
<target name="nbms" depends="update-binaries"> |
jrechtacek@7 | 106 |
<ant antfile="build-suite.xml" target="nbms" inheritAll="false"/> |
jrechtacek@7 | 107 |
</target> |
jrechtacek@7 | 108 |
|
jrechtacek@7 | 109 |
<target name="daily" depends="update-binaries,build"> |
jrechtacek@7 | 110 |
<mkdir dir="dist"/> |
darrshan@35 | 111 |
<zip destfile="dist/netbeans-701-${build.id}-plsql.zip" duplicate="add"> |
jrechtacek@7 | 112 |
<zipfileset dir="build/cluster" prefix="netbeans/extra"/> |
jrechtacek@7 | 113 |
<zipfileset dir="ide/netbeans" prefix="netbeans"/> |
jrechtacek@7 | 114 |
</zip> |
jrechtacek@7 | 115 |
</target> |
jrechtacek@7 | 116 |
|
chrislovsund@40 | 117 |
<property name="ant.contrib.jar" value="${basedir}/Libraries/ThirdParty/ant/ant-contrib-1.0b3.jar" /> |
chrislovsund@40 | 118 |
<taskdef resource="net/sf/antcontrib/antcontrib.properties"> |
chrislovsund@40 | 119 |
<classpath> |
chrislovsund@40 | 120 |
<pathelement location="${ant.contrib.jar}"/> |
chrislovsund@40 | 121 |
</classpath> |
chrislovsund@40 | 122 |
</taskdef> |
chrislovsund@40 | 123 |
|
chrislovsund@40 | 124 |
<path id="manifest.file.paths"> |
chrislovsund@40 | 125 |
<fileset dir="${basedir}"> |
chrislovsund@40 | 126 |
<include name="**/manifest.mf"/> |
chrislovsund@40 | 127 |
<!-- <exclude name="**/Libraries/ThirdParty/**"/>--> |
chrislovsund@40 | 128 |
</fileset> |
chrislovsund@40 | 129 |
</path> |
chrislovsund@40 | 130 |
|
chrislovsund@40 | 131 |
<target name="-find-modules-for-update" description="find all modules in suite that has changes since last release" > |
chrislovsund@40 | 132 |
<loadproperties srcfile="nbproject/project.properties" /> |
chrislovsund@40 | 133 |
<mkdir dir="build"/> |
chrislovsund@40 | 134 |
<delete file="build/nbms_update.properties" /> |
chrislovsund@40 | 135 |
|
chrislovsund@40 | 136 |
<echo level="verbose">${modules}</echo> |
chrislovsund@40 | 137 |
|
chrislovsund@40 | 138 |
<foreach param="module.path" target="-vcs-log" list="${modules}" delimiter=":"/> |
chrislovsund@266 | 139 |
<!-- <echoproperties srcfile="build/nbms_update.properties" />--> |
chrislovsund@266 | 140 |
</target> |
chrislovsund@266 | 141 |
|
chrislovsund@266 | 142 |
<target name="-add-kit-module" description="add kit module to update" > |
chrislovsund@40 | 143 |
<propertyfile file="build/nbms_update.properties"> |
chrislovsund@40 | 144 |
<entry key="selected.modules" default="" operation="+" value="plsql-support.kit/manifest.mf:"/> |
chrislovsund@40 | 145 |
</propertyfile> |
chrislovsund@40 | 146 |
</target> |
chrislovsund@40 | 147 |
|
chrislovsund@40 | 148 |
<target name="-vcs-log" description="use mercurial to check if the last commit was a release commit"> |
chrislovsund@40 | 149 |
<echo level="info">module.path: ${module.path}</echo> |
chrislovsund@40 | 150 |
|
chrislovsund@40 | 151 |
<!-- find out revision number of HEAD, need svn.exe installed on local machine --> |
chrislovsund@40 | 152 |
<exec executable="hg" outputproperty="hglog.out" > |
chrislovsund@40 | 153 |
<arg line="log -l 1 --style compact '${module.path}'"/> |
chrislovsund@40 | 154 |
</exec> |
chrislovsund@40 | 155 |
<echo level="verbose">${hglog.out}</echo> |
chrislovsund@40 | 156 |
|
chrislovsund@40 | 157 |
<echo level="verbose">${force.increment}</echo> |
chrislovsund@40 | 158 |
<condition property="nbm.update.needed"> |
chrislovsund@40 | 159 |
<or> |
chrislovsund@40 | 160 |
<not> |
chrislovsund@40 | 161 |
<contains string="${hglog.out}" substring="automated commit from "/> |
chrislovsund@40 | 162 |
</not> |
chrislovsund@40 | 163 |
<istrue value="${force.increment}" /> |
chrislovsund@40 | 164 |
</or> |
chrislovsund@40 | 165 |
</condition> |
chrislovsund@40 | 166 |
<echo level="verbose">nbm.update.needed=${nbm.update.needed}</echo> |
chrislovsund@40 | 167 |
<antcall target="-concat-modules" inheritall="true" /> |
chrislovsund@40 | 168 |
</target> |
chrislovsund@40 | 169 |
|
chrislovsund@40 | 170 |
<target name="-concat-modules" if="nbm.update.needed" description="Concatinate the selected module paths and put in .properties file"> |
chrislovsund@40 | 171 |
<echo>Module needs to be updated: ${nbm.update.needed}</echo> |
chrislovsund@40 | 172 |
<echo level="info">module.path: ${module.path}</echo> |
chrislovsund@40 | 173 |
<propertyfile file="build/nbms_update.properties"> |
chrislovsund@40 | 174 |
<entry key="selected.modules" default="" operation="+" value="${module.path}/manifest.mf:"/> |
chrislovsund@40 | 175 |
</propertyfile> |
chrislovsund@40 | 176 |
</target> |
chrislovsund@40 | 177 |
|
chrislovsund@40 | 178 |
<target name="show-current-versions" description="show current specification versions for all modules"> |
chrislovsund@40 | 179 |
<foreach param="manifest.file" target="current-version" > |
chrislovsund@40 | 180 |
<path refid="manifest.file.paths"/> |
chrislovsund@40 | 181 |
</foreach> |
chrislovsund@40 | 182 |
</target> |
chrislovsund@40 | 183 |
|
chrislovsund@40 | 184 |
<target name="current-version" depends="-read-version" description="show current specification.version"> |
chrislovsund@40 | 185 |
</target> |
chrislovsund@40 | 186 |
|
chrislovsund@266 | 187 |
<target name="update-version" depends="-find-modules-for-update, -add-kit-module" |
chrislovsund@266 | 188 |
description="update version for all modules in suite that has changes since last release"> |
chrislovsund@266 | 189 |
<echo level="info">Updating modules to version: ${new_version}</echo> |
chrislovsund@40 | 190 |
<loadproperties srcfile="build/nbms_update.properties" /> |
chrislovsund@40 | 191 |
<echo>selected.modules=${selected.modules}</echo> |
chrislovsund@266 | 192 |
<foreach param="manifest.file" target="-update-meta-files" > |
chrislovsund@40 | 193 |
<path path="${selected.modules}"/> |
chrislovsund@40 | 194 |
</foreach> |
chrislovsund@40 | 195 |
</target> |
chrislovsund@40 | 196 |
|
chrislovsund@40 | 197 |
<target name="-read-version"> |
chrislovsund@40 | 198 |
<echo level="verbose">manifest.file: ${manifest.file}</echo> |
chrislovsund@40 | 199 |
<property file="${manifest.file}"></property> |
chrislovsund@40 | 200 |
<property name="specification.version" value="${OpenIDE-Module-Specification-Version}"/> |
chrislovsund@40 | 201 |
<echo>OpenIDE-Module: ${OpenIDE-Module}</echo> |
chrislovsund@266 | 202 |
<echo>Current build number:${env.BUILD_NUMBER}</echo> |
chrislovsund@40 | 203 |
</target> |
chrislovsund@40 | 204 |
|
chrislovsund@266 | 205 |
<target name="-update-meta-files" depends="-read-version"> |
chrislovsund@266 | 206 |
<manifest file="${manifest.file}" mode="update" > |
chrislovsund@266 | 207 |
<attribute name="OpenIDE-Module-Specification-Version" value="${new_version}" /> |
chrislovsund@40 | 208 |
</manifest> |
chrislovsund@266 | 209 |
<replaceregexp match="(dependency\D*code-name-base\W${OpenIDE-Module}\W/\D*)(\d+\.\d+\.\d+\.\d+)" byline="false" |
chrislovsund@266 | 210 |
file="plsql-support.kit/nbproject/project.xml" replace="\1${new_version}"/> |
chrislovsund@40 | 211 |
</target> |
chrislovsund@40 | 212 |
|
chrislovsund@40 | 213 |
<target name="all"> |
chrislovsund@40 | 214 |
<propertyfile file="build_info.properties"> |
chrislovsund@40 | 215 |
<entry key="build.major.number" type="int" operation="+" value="1" /> |
chrislovsund@40 | 216 |
<entry key="build.minor.number" type="int" operation="+" value="1" /> |
chrislovsund@40 | 217 |
<entry key="build.revision.number" type="int" operation="+" value="1" /> |
chrislovsund@40 | 218 |
</propertyfile> |
chrislovsund@40 | 219 |
</target> |
chrislovsund@40 | 220 |
|
chrislovsund@43 | 221 |
<target name="echo-manifest" description="echo kit version that is found in manifest. Used by hudson" > |
chrislovsund@43 | 222 |
<echoproperties srcfile="plsql-support.kit/manifest.mf"/> |
chrislovsund@43 | 223 |
</target> |
chrislovsund@43 | 224 |
|
jrechtacek@0 | 225 |
</project> |