| <?xml version="1.0" encoding="ISO-8859-1"?> |
| <project name="IncrementVersionsTask" basedir="." default="set-version"> |
| |
| <property name="WORKSPACE" location="${ant.file}/../../../../" /> |
| |
| <target name="show-workspace-path"> |
| <echo message="WORKSPACE: ${WORKSPACE}" /> |
| </target> |
| |
| <target name="stripSnapshot"> |
| <script language="javascript"> |
| <![CDATA[ |
| |
| // getting the value |
| buildnumber = project.getProperty("project.version"); |
| index = buildnumber.lastIndexOf("-SNAPSHOT"); |
| counter = buildnumber.substring(0, index); |
| project.setProperty("version.main",counter); |
| |
| ]]> |
| </script> |
| </target> |
| |
| <target name="getMajorMinorVersion"> |
| <script language="javascript"> |
| <![CDATA[ |
| // getting the value |
| buildnumber = project.getProperty("version.main"); |
| index = buildnumber.lastIndexOf("."); |
| counter = buildnumber.substring(0, index); |
| project.setProperty("majorMinorVersion",counter); |
| |
| ]]> |
| </script> |
| </target> |
| |
| <target name="test_stripSnapshot" depends="stripSnapshot"> |
| <echo message="version.main: ${version.main}"/> |
| </target> |
| |
| <target name="test_getMajorMinor" depends="getMajorMinorVersion"> |
| <echo message="majorMinorVersion: ${majorMinorVersion}"/> |
| </target> |
| |
| <target name="askVersion"> |
| <input message="Please enter the new release version (MAJOR.MINOR.MICRO):" addproperty="version.main" defaultvalue="${version_main}" /> |
| </target> |
| |
| <target name="retrieveMajorMinor" depends="askVersion,getMajorMinorVersion"> |
| <echo message="majorMinorVersion: ${majorMinorVersion}"/> |
| </target> |
| |
| <target name="set-version" description="Modifies artifacts to set a release version" |
| depends="retrieveMajorMinor" > |
| <property name="version.osgi" value="${version.main}.qualifier"/> |
| <property name="version.mvn" value="${version.main}-SNAPSHOT"/> |
| |
| <propertyfile file="release.properties" comment="Build version"> |
| <entry key="version_main" value="${version.main}" /> |
| <entry key="version_osgi" value="${version.osgi}" /> |
| <entry key="version_mvn" value="${version.mvn}" /> |
| <entry key="majorMinorVersion" value="${majorMinorVersion}" /> |
| </propertyfile> |
| |
| <antcall target="-modify-artifacts"/> |
| </target> |
| |
| <!-- strip the -SNAPSHOT from the property project.version --> |
| <target name="set-version-release" depends="stripSnapshot" description="Modifies artifacts to set a release version (without -SNAPSHOT)" > |
| <property name="version.osgi" value="${version.main}"/> |
| <property name="version.mvn" value="${version.main}"/> |
| |
| <echo message="VERSION MAIN: ${version.main}" /> |
| <echo message="VERSION OSGI: ${version.osgi}" /> |
| <echo message="VERSION MVN : ${version.mvn}" /> |
| <echo message="WORKSPACE : ${WORKSPACE}" /> |
| <echo message="" /> |
| |
| <antcall target="-modify-artifacts"/> |
| </target> |
| |
| <target name="bump-timestamps" > |
| <tstamp/> |
| |
| <replaceregexp> |
| <regexp pattern=".*" /> |
| <substitution expression="${DSTAMP}-${TSTAMP}" /> |
| <fileset id="path.timestamp" dir="${WORKSPACE}"> |
| <include name="**/timestamp" /> |
| </fileset> |
| </replaceregexp> |
| </target> |
| |
| <target name="-modify-artifacts" if="version.main" > |
| <echo message="VERSION MAIN: ${version.main}" /> |
| <echo message="VERSION OSGI: ${version.osgi}" /> |
| <echo message="VERSION MVN : ${version.mvn}" /> |
| <echo message="major.minor : ${majorMinorVersion}" /> |
| <echo message="WORKSPACE : ${WORKSPACE}" /> |
| <echo message="" /> |
| |
| <!-- pom.xml --> |
| <replaceregexp> |
| <regexp pattern="<version>(.*)</version>" /> |
| <substitution expression="<version>${version.mvn}</version>" /> |
| <fileset id="path.pom" dir="${WORKSPACE}"> |
| <include name="**/pom.xml" /> |
| <exclude name="**/target/**" /> |
| </fileset> |
| </replaceregexp> |
| |
| <replaceregexp> |
| <regexp pattern="<p2\.versionMajorMinor>(.*)</p2\.versionMajorMinor>" /> |
| <substitution expression="<p2\.versionMajorMinor>${majorMinorVersion}</p2\.versionMajorMinor>" /> |
| <fileset id="path.pom" dir="${WORKSPACE}"> |
| <include name="**/pom.xml" /> |
| <exclude name="**/target/**" /> |
| </fileset> |
| </replaceregexp> |
| |
| <!-- MANIFEST.MF --> |
| <replaceregexp> |
| <regexp pattern="Bundle-Version: .*" /> |
| <substitution expression="Bundle-Version: ${version.osgi}" /> |
| <fileset id="path.manifest" dir="${WORKSPACE}"> |
| <include name="**/META-INF/MANIFEST.MF" /> |
| <exclude name="buildroot/**" /> |
| <exclude name="examples/org.eclipse.emf.examples.library*/**" /> |
| </fileset> |
| </replaceregexp> |
| |
| <!-- feature.xml --> |
| <replaceregexp> |
| <regexp pattern="(\s\s+)version=".*"" /> |
| <substitution expression="\1version="${version.osgi}"" /> |
| <fileset id="path.feature" dir="${WORKSPACE}"> |
| <include name="**/feature.xml" /> |
| <exclude name="buildroot/**" /> |
| </fileset> |
| </replaceregexp> |
| |
| </target> |
| |
| <target name="set-version-xtext" description="Sets the Xtext version constraints in MANIFEST.MF"> |
| <!-- Read the last entered values for defaults --> |
| <property file="version.properties" /> |
| <input message="Please enter the new Xtext version:" addproperty="version.xtext" defaultvalue="${version_xtext}" /> |
| <!-- MANIFEST.MF --> |
| <replaceregexp> |
| <regexp pattern='org\.eclipse\.xtext;bundle-version=".*\"(.*)' /> |
| <substitution expression='org.eclipse.xtext;bundle-version="${version.xtext}"\1' /> |
| <fileset id="path.manifest" dir="${WORKSPACE}"> |
| <include name="**/META-INF/MANIFEST.MF" /> |
| <exclude name="**/target/**" /> |
| </fileset> |
| </replaceregexp> |
| <replaceregexp> |
| <regexp pattern='org\.eclipse\.xtext\.(?!example)(.*);bundle-version=".*\"(.*)' /> |
| <substitution expression='org.eclipse.xtext.\1;bundle-version="${version.xtext}"\2' /> |
| <fileset id="path.manifest" dir="${WORKSPACE}"> |
| <include name="**/META-INF/MANIFEST.MF" /> |
| <exclude name="**/target/**" /> |
| </fileset> |
| </replaceregexp> |
| </target> |
| </project> |