blob: 56d5a0fb289ac5b582701ce753962c0e5278565b [file] [log] [blame]
<?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="&lt;version&gt;(.*)&lt;/version&gt;" />
<substitution expression="&lt;version&gt;${version.mvn}&lt;/version&gt;" />
<fileset id="path.pom" dir="${WORKSPACE}">
<include name="**/pom.xml" />
<exclude name="**/target/**" />
</fileset>
</replaceregexp>
<replaceregexp>
<regexp pattern="&lt;p2\.versionMajorMinor&gt;(.*)&lt;/p2\.versionMajorMinor&gt;" />
<substitution expression="&lt;p2\.versionMajorMinor&gt;${majorMinorVersion}&lt;/p2\.versionMajorMinor&gt;" />
<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=&quot;.*&quot;" />
<substitution expression="\1version=&quot;${version.osgi}&quot;" />
<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>