EADS-1916 add increment target to build.xml release701
authorchrislovsund@netbeans.org
Fri, 07 Oct 2011 14:49:29 +0200
branchrelease701
changeset 40bcb06e9d74ac
parent 39 cef82a58f4b2
child 41 a5f724f89267
EADS-1916 add increment target to build.xml
Libraries/ThirdParty/ant/ant-contrib-1.0b3.jar
build.xml
plsql-support.kit/manifest.mf
     1.1 Binary file Libraries/ThirdParty/ant/ant-contrib-1.0b3.jar has changed
     2.1 --- a/build.xml	Thu Oct 06 13:35:59 2011 +0530
     2.2 +++ b/build.xml	Fri Oct 07 14:49:29 2011 +0200
     2.3 @@ -110,4 +110,168 @@
     2.4          </zip>
     2.5      </target>
     2.6  
     2.7 +   <property name="ant.contrib.jar" value="${basedir}/Libraries/ThirdParty/ant/ant-contrib-1.0b3.jar" />
     2.8 +   <taskdef resource="net/sf/antcontrib/antcontrib.properties">
     2.9 +      <classpath>
    2.10 +         <pathelement location="${ant.contrib.jar}"/>
    2.11 +      </classpath>
    2.12 +   </taskdef>
    2.13 +
    2.14 +   <path id="manifest.file.paths">
    2.15 +      <fileset dir="${basedir}">
    2.16 +         <include name="**/manifest.mf"/>
    2.17 +<!--            <exclude name="**/Libraries/ThirdParty/**"/>-->
    2.18 +      </fileset>
    2.19 +   </path>
    2.20 +
    2.21 +   <target name="-find-modules-for-update" description="find all modules in suite that has changes since last release" >
    2.22 +      <loadproperties srcfile="nbproject/project.properties" />
    2.23 +      <mkdir dir="build"/>
    2.24 +      <delete file="build/nbms_update.properties" />
    2.25 +
    2.26 +      <echo level="verbose">${modules}</echo>
    2.27 +
    2.28 +      <foreach param="module.path" target="-vcs-log" list="${modules}" delimiter=":"/>
    2.29 +      <propertyfile  file="build/nbms_update.properties">
    2.30 +         <entry key="selected.modules" default="" operation="+" value="plsql-support.kit/manifest.mf:"/>
    2.31 +      </propertyfile>
    2.32 +<!--        <echoproperties srcfile="build/nbms_update.properties" />-->
    2.33 +   </target>
    2.34 +
    2.35 +   <target name="-vcs-log" description="use mercurial to check if the last commit was a release commit">
    2.36 +      <echo level="info">module.path: ${module.path}</echo>
    2.37 +
    2.38 +        <!-- find out revision number of HEAD, need svn.exe installed on local machine -->
    2.39 +      <exec executable="hg" outputproperty="hglog.out" >
    2.40 +         <arg line="log -l 1 --style compact '${module.path}'"/>
    2.41 +      </exec>
    2.42 +      <echo level="verbose">${hglog.out}</echo>
    2.43 +
    2.44 +      <echo level="verbose">${force.increment}</echo>
    2.45 +      <condition property="nbm.update.needed">
    2.46 +         <or>
    2.47 +            <not>
    2.48 +               <contains string="${hglog.out}" substring="automated commit from "/>
    2.49 +            </not>
    2.50 +            <istrue value="${force.increment}" />
    2.51 +         </or>
    2.52 +      </condition>
    2.53 +      <echo level="verbose">nbm.update.needed=${nbm.update.needed}</echo>
    2.54 +      <antcall target="-concat-modules"  inheritall="true" />
    2.55 +   </target>
    2.56 +
    2.57 +   <target name="-concat-modules" if="nbm.update.needed" description="Concatinate the selected module paths and put in .properties file">
    2.58 +      <echo>Module needs to be updated: ${nbm.update.needed}</echo>
    2.59 +      <echo level="info">module.path: ${module.path}</echo>
    2.60 +      <propertyfile  file="build/nbms_update.properties">
    2.61 +         <entry key="selected.modules" default="" operation="+" value="${module.path}/manifest.mf:"/>
    2.62 +      </propertyfile>
    2.63 +   </target>
    2.64 +
    2.65 +   <target name="show-current-versions" description="show current specification versions for all modules">
    2.66 +      <foreach param="manifest.file" target="current-version" >
    2.67 +         <path refid="manifest.file.paths"/>
    2.68 +      </foreach>
    2.69 +   </target>
    2.70 +
    2.71 +   <target name="current-version" depends="-read-version" description="show current specification.version">
    2.72 +   </target>
    2.73 +
    2.74 +   <target name="incr-major" description="increment major version for modules with changes" depends="-find-modules-for-update">
    2.75 +      <loadproperties srcfile="build/nbms_update.properties" />
    2.76 +      <echo>selected.modules=${selected.modules}</echo>
    2.77 +      <foreach param="manifest.file" target="-major" >
    2.78 +         <path path="${selected.modules}"/>
    2.79 +      </foreach>
    2.80 +      <delete file="build_info.properties" />
    2.81 +   </target>
    2.82 +
    2.83 +   <target name="incr-minor" description="increment minor version for modules with changes" depends="-find-modules-for-update">
    2.84 +      <loadproperties srcfile="build/nbms_update.properties" />
    2.85 +      <echo>selected.modules=${selected.modules}</echo>
    2.86 +      <foreach param="manifest.file" target="-minor" >
    2.87 +         <path path="${selected.modules}"/>
    2.88 +      </foreach>
    2.89 +      <delete file="build_info.properties" />
    2.90 +   </target>
    2.91 +
    2.92 +   <target name="incr-revision" description="increment revision version for modules with changes" depends="-find-modules-for-update">
    2.93 +      <loadproperties srcfile="build/nbms_update.properties" />
    2.94 +      <echo>selected.modules=${selected.modules}</echo>
    2.95 +      <foreach param="manifest.file" target="-revision" >
    2.96 +         <path path="${selected.modules}"/>
    2.97 +      </foreach>
    2.98 +      <delete file="build_info.properties" />
    2.99 +   </target>
   2.100 +
   2.101 +   <target name="-read-version">
   2.102 +      <echo level="verbose">manifest.file: ${manifest.file}</echo>
   2.103 +      <property file="${manifest.file}"></property>
   2.104 +      <property name="specification.version" value="${OpenIDE-Module-Specification-Version}"/>
   2.105 +      <echo>OpenIDE-Module: ${OpenIDE-Module}</echo>
   2.106 +      <echo>Current build number:${specification.version}</echo>
   2.107 +      <propertyregex property="major.version" input="${specification.version}"  regexp="(\d+)\.(\d+)\.(\d+)$" select="\1" />
   2.108 +      <echo level="verbose">major: ${major.version}</echo>
   2.109 +      <propertyregex property="minor.version" input="${specification.version}"  regexp="(\d+)\.(\d+)\.(\d+)$" select="\2" />
   2.110 +      <echo level="verbose">minor: ${minor.version}</echo>
   2.111 +      <propertyregex property="revision.version" input="${specification.version}"  regexp="(\d+)\.(\d+)\.(\d+)$" select="\3" />
   2.112 +      <echo level="verbose">revision: ${revision.version}</echo>
   2.113 +      <propertyfile file="build_info.properties">
   2.114 +         <entry key="build.major.number" type="int" value="${major.version}" />
   2.115 +         <entry key="build.minor.number" type="int" value="${minor.version}" />
   2.116 +         <entry key="build.revision.number" type="int" value="${revision.version}" />
   2.117 +      </propertyfile>
   2.118 +   </target>
   2.119 +
   2.120 +   <target name="-revision" depends="-read-version">
   2.121 +      <propertyfile  file="build_info.properties">
   2.122 +         <entry key="build.revision.number" type="int" operation="+" value="1"/>
   2.123 +      </propertyfile>
   2.124 +
   2.125 +      <loadproperties srcfile="build_info.properties" />
   2.126 +      <manifest file="${manifest.file}" mode="update">
   2.127 +         <attribute name="OpenIDE-Module-Specification-Version" value="${build.major.number}.${build.minor.number}.${build.revision.number}" />
   2.128 +      </manifest>
   2.129 +      <replaceregexp match="(dependency\D*code-name-base\W${OpenIDE-Module}\W/\D*)(\d+\.\d+\.\d+)" byline="false"
   2.130 +      file="plsql-support.kit/nbproject/project.xml" replace="\1${build.major.number}.${build.minor.number}.${build.revision.number}"/>
   2.131 +   </target>
   2.132 +
   2.133 +   <target name="-minor" depends="-read-version">
   2.134 +      <propertyfile  file="build_info.properties">
   2.135 +         <entry key="build.minor.number" type="int" operation="+" value="1" />
   2.136 +         <entry key="build.revision.number" type="int" value="0" />
   2.137 +      </propertyfile>
   2.138 +      <loadproperties srcfile="build_info.properties" />
   2.139 +
   2.140 +      <manifest file="${manifest.file}" mode="update">
   2.141 +         <attribute name="OpenIDE-Module-Specification-Version" value="${build.major.number}.${build.minor.number}.${build.revision.number}" />
   2.142 +      </manifest>
   2.143 +      <replaceregexp match="(dependency\D*code-name-base\W${OpenIDE-Module}\W/\D*)(\d+\.\d+\.\d+)" byline="false"
   2.144 +      file="plsql-support.kit/nbproject/project.xml" replace="\1${build.major.number}.${build.minor.number}.${build.revision.number}"/>
   2.145 +   </target>
   2.146 +
   2.147 +   <target name="-major" depends="-read-version">
   2.148 +      <propertyfile  file="build_info.properties">
   2.149 +         <entry key="build.major.number" type="int" operation="+" value="1" />
   2.150 +         <entry key="build.minor.number" type="int" value="0" />
   2.151 +         <entry key="build.revision.number" type="int" value="0" />
   2.152 +      </propertyfile>
   2.153 +      <!--<echoproperties srcfile="build_info.properties" />-->
   2.154 +      <loadproperties srcfile="build_info.properties" />
   2.155 +
   2.156 +      <manifest file="${manifest.file}" mode="update" >
   2.157 +         <attribute name="OpenIDE-Module-Specification-Version" value="${build.major.number}.${build.minor.number}.${build.revision.number}" />
   2.158 +      </manifest>
   2.159 +      <replaceregexp match="(dependency\D*code-name-base\W${OpenIDE-Module}\W/\D*)(\d+\.\d+\.\d+)" byline="false"
   2.160 +      file="plsql-support.kit/nbproject/project.xml" replace="\1${build.major.number}.${build.minor.number}.${build.revision.number}"/>
   2.161 +   </target>
   2.162 +
   2.163 +   <target name="all">
   2.164 +      <propertyfile  file="build_info.properties">
   2.165 +         <entry key="build.major.number" type="int" operation="+" value="1" />
   2.166 +         <entry key="build.minor.number" type="int" operation="+" value="1" />
   2.167 +         <entry key="build.revision.number" type="int" operation="+" value="1" />
   2.168 +      </propertyfile>
   2.169 +   </target>
   2.170 +
   2.171  </project>
     3.1 --- a/plsql-support.kit/manifest.mf	Thu Oct 06 13:35:59 2011 +0530
     3.2 +++ b/plsql-support.kit/manifest.mf	Fri Oct 07 14:49:29 2011 +0200
     3.3 @@ -1,5 +1,5 @@
     3.4  Manifest-Version: 1.0
     3.5  OpenIDE-Module: org.netbeans.modules.plsql.kit
     3.6  OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/plsql/kit/Bundle.properties
     3.7 -OpenIDE-Module-Specification-Version: 1.0
     3.8 +OpenIDE-Module-Specification-Version: 1.0.0
     3.9