<property file="build/GWT-VERSION.properties" />
<property file="build/html-style.properties" />
+ <!-- Current timestamp in different formats. -->
<tstamp>
<format property="build.date" pattern="yyyy-MM-dd"/>
</tstamp>
+ <tstamp>
+ <format property="build.date.compact" pattern="yyyyMMdd"/>
+ </tstamp>
+
+ <!-- Default full version name. -->
+ <!-- Nightly and other TeamCity builds will define their own. -->
+ <property name="version.full" value="${version}.dev-${build.date.compact}"/>
+ <echo>Base Version: ${version}</echo>
+ <echo>Full Version: ${version.full}</echo>
<echo>Toolkit package is: ${toolkit-package}</echo>
<echo>We are on ${platform} platform (${os.name} ${os.version}), using ${gwt-dir}/${platform}/${lib-gwt-dev} (${gwt-version}).</echo>
<!-- Destination files -->
- <property name="lib-jar-name" value="${product-file}-${version}.jar" />
+ <property name="lib-jar-name" value="${product-file}-${version.full}.jar" />
- <echo message="Prepared to build ${product-file} version ${version} packages" />
+ <echo message="Prepared to build ${product-file} version ${version.full} packages" />
<!-- Output directory -->
- <property name="output-dir" value="${result-path}/${product-file}-${version}" />
+ <property name="output-dir" value="${result-path}/${product-file}-${version.full}" />
<mkdir dir="${output-dir}" />
<!-- Create Output Directory Hierarchy -->
<echo>Creating package for ${package-platform} platform.</echo>
<antcontrib:var name="eclipse-launch-vmargs" value="-Xms256M -Xmx512M" />
<antcall target="add-platform-specific-files" inheritAll="true" inheritRefs="true" />
- <zip zipfile="${result-path}/${product-file}-${package-platform}-${version}.zip">
- <zipfileset prefix="${product-file}-${package-platform}-${version}" dir="${result-path}/${product-file}-${version}">
+ <zip zipfile="${result-path}/${product-file}-${package-platform}-${version.full}.zip">
+ <zipfileset prefix="${product-file}-${package-platform}-${version.full}" dir="${result-path}/${product-file}-${version.full}">
<patternset>
<include name="**/*" />
</patternset>
</zipfileset>
- <zipfileset prefix="${product-file}-${package-platform}-${version}/gwt" dir="${gwt-dir}/${package-platform}">
+ <zipfileset prefix="${product-file}-${package-platform}-${version.full}/gwt" dir="${gwt-dir}/${package-platform}">
<patternset>
<include name="**/*" />
<exclude name="gwt/doc"/>
<echo>Creating package for ${package-platform} platform.</echo>
<antcontrib:var name="eclipse-launch-vmargs" value="-Xms256M -Xmx512M" />
<antcall target="add-platform-specific-files" inheritAll="true" inheritRefs="true" />
- <tar destfile="${result-path}/${product-file}-${package-platform}-${version}.tar.gz" compression="gzip" longfile="gnu">
+ <tar destfile="${result-path}/${product-file}-${package-platform}-${version.full}.tar.gz" compression="gzip" longfile="gnu">
<!-- TODO use very slow but effective bzip2
- <tar destfile="${result-path}/${product-file}-${package-platform}-${version}.tar.bz2" compression="bzip2" longfile="gnu">
+ <tar destfile="${result-path}/${product-file}-${package-platform}-${version.full}.tar.bz2" compression="bzip2" longfile="gnu">
-->
- <tarfileset prefix="${product-file}-${package-platform}-${version}" dir="${result-path}/${product-file}-${version}">
+ <tarfileset prefix="${product-file}-${package-platform}-${version.full}" dir="${result-path}/${product-file}-${version.full}">
<patternset>
<include name="**/*" />
</patternset>
</tarfileset>
- <tarfileset prefix="${product-file}-${package-platform}-${version}/gwt" dir="${gwt-dir}/${package-platform}">
+ <tarfileset prefix="${product-file}-${package-platform}-${version.full}/gwt" dir="${gwt-dir}/${package-platform}">
<patternset>
<include name="**/*" />
</patternset>
<echo>Creating package for ${package-platform} platform.</echo>
<antcontrib:var name="eclipse-launch-vmargs" value="-Xms256M -Xmx512M" />
<antcall target="add-platform-specific-files" inheritAll="true" inheritRefs="true" />
- <zip zipfile="${result-path}/${product-file}-${package-platform}-${version}.zip">
- <zipfileset prefix="${product-file}-${package-platform}-${version}" dir="${result-path}/${product-file}-${version}">
+ <zip zipfile="${result-path}/${product-file}-${package-platform}-${version.full}.zip">
+ <zipfileset prefix="${product-file}-${package-platform}-${version.full}" dir="${result-path}/${product-file}-${version.full}">
<patternset>
<include name="**/*" />
</patternset>
</zipfileset>
- <zipfileset prefix="${product-file}-${package-platform}-${version}/gwt" dir="${gwt-dir}/${package-platform}">
+ <zipfileset prefix="${product-file}-${package-platform}-${version.full}/gwt" dir="${gwt-dir}/${package-platform}">
<patternset>
<include name="**/*" />
</patternset>
<echo>Creating package for ${package-platform} platform.</echo>
<antcontrib:var name="eclipse-launch-vmargs" value="-XstartOnFirstThread -Xms256M -Xmx512M" />
<antcall target="add-platform-specific-files" inheritAll="true" inheritRefs="true" />
- <tar destfile="${result-path}/${product-file}-${package-platform}-${version}.tar.gz" compression="gzip" longfile="gnu">
- <tarfileset prefix="${product-file}-${package-platform}-${version}" dir="${result-path}/${product-file}-${version}">
+ <tar destfile="${result-path}/${product-file}-${package-platform}-${version.full}.tar.gz" compression="gzip" longfile="gnu">
+ <tarfileset prefix="${product-file}-${package-platform}-${version.full}" dir="${result-path}/${product-file}-${version.full}">
<patternset>
<include name="**/*" />
</patternset>
</tarfileset>
- <tarfileset prefix="${product-file}-${package-platform}-${version}/gwt" dir="${gwt-dir}/${package-platform}">
+ <tarfileset prefix="${product-file}-${package-platform}-${version.full}/gwt" dir="${gwt-dir}/${package-platform}">
<patternset>
<include name="**/*" />
</patternset>
</fileset>
</copy>
- <war warfile="${result-path}/${product-file}-demo-${version}.war">
+ <war warfile="${result-path}/${product-file}-demo-${version.full}.war">
<fileset dir="${output-dir}/WebContent">
<include name="**/*" />
</fileset>
<!-- We assume the needed files are put in place by internal-package-war -->
<echo>Building Liferay zip</echo>
- <zip zipfile="${result-path}/${product-file}-${version}-liferay.zip">
+ <zip zipfile="${result-path}/${product-file}-${version.full}-liferay.zip">
<zipfileset prefix="VAADIN/widgetsets/com.vaadin.portal.gwt.PortalDefaultWidgetSet" dir="${output-dir}/WebContent/VAADIN/widgetsets/com.vaadin.portal.gwt.PortalDefaultWidgetSet">
<patternset>
<include name="**/*" />
</zip>
- <echo>##teamcity[publishArtifacts '${result-path}/${product-file}-${version}-liferay.zip']</echo>
+ <echo>##teamcity[publishArtifacts '${result-path}/${product-file}-${version.full}-liferay.zip']</echo>
</target>
<antcontrib:if>
<equals arg1="${platform}" arg2="mac" />
<then>
- <untar src="${result-path}/${product-file}-${package-platform}-${version}.tar.gz" dest="${result-path}/" compression="gzip" />
+ <untar src="${result-path}/${product-file}-${package-platform}-${version.full}.tar.gz" dest="${result-path}/" compression="gzip" />
<echo>Creating Mac disk image (dmg)</echo>
<!-- create image -->
- <echo>hdiutil create -format UDRW -volname ${product-file}-${version} -srcfolder ${result-path}/${product-file}-${package-platform}-${version} ${result-path}/disk-image.dmg</echo>
+ <echo>hdiutil create -format UDRW -volname ${product-file}-${version.full} -srcfolder ${result-path}/${product-file}-${package-platform}-${version.full} ${result-path}/disk-image.dmg</echo>
<exec executable="hdiutil" failonerror="true">
- <arg line="create -format UDRW -volname ${product-file}-${version} -srcfolder ${result-path}/${product-file}-${package-platform}-${version} ${result-path}/disk-image.dmg" />
+ <arg line="create -format UDRW -volname ${product-file}-${version.full} -srcfolder ${result-path}/${product-file}-${package-platform}-${version.full} ${result-path}/disk-image.dmg" />
</exec>
<!-- open image -->
<exec executable="hdiutil" failonerror="true">
<arg line='convert ${result-path}/disk-image.dmg' />
<arg line='-format UDZO' />
<arg line='-imagekey zlib-level=9' />
- <arg line='-o ${result-path}/${product-file}-${package-platform}-${version}.dmg' />
+ <arg line='-o ${result-path}/${product-file}-${package-platform}-${version.full}.dmg' />
</exec>
<delete file="${result-path}/disk-image.dmg" />
<!-- internet-enable -->
<exec executable="hdiutil" failonerror="true">
- <arg line='internet-enable ${result-path}/${product-file}-${package-platform}-${version}.dmg' />
+ <arg line='internet-enable ${result-path}/${product-file}-${package-platform}-${version.full}.dmg' />
</exec>
</then>
</antcontrib:if>
<filterchain>
<expandproperties />
<replacetokens begintoken="@" endtoken="@">
- <token key="version" value="${version}" />
+ <token key="version" value="${version.full}" />
</replacetokens>
<replacetokens begintoken="@" endtoken="@">
<token key="platform" value="${package-platform}" />
<filterchain>
<expandproperties />
<replacetokens begintoken="@" endtoken="@">
- <token key="version" value="${version}" />
+ <token key="version" value="${version.full}" />
<token key="/version" value="" />
</replacetokens>
<replacetokens begintoken="@" endtoken="@">
<filterchain>
<expandproperties />
<replacetokens begintoken="<" endtoken=">">
- <token key="version" value="${version}" />
+ <token key="version" value="${version.full}" />
<token key="/version" value="" />
</replacetokens>
</filterchain>
<expandproperties />
<!-- .classpath, *.launch, build-widgetset.xml -->
<replacetokens begintoken="<" endtoken=">">
- <token key="version" value="${version}" />
+ <token key="version" value="${version.full}" />
<token key="/version" value="" />
</replacetokens>
<!-- .classpath -->
<copy todir="${result-path}/src">
<filterset>
<filter token="ITMillApache2LicenseForJavaFiles" value="${ITMillApache2LicenseForJavaFiles}" />
- <filter token="VERSION" value="${version}" />
+ <filter token="VERSION" value="${version.full}" />
</filterset>
<fileset dir="src">
<patternset>
<echo>Creating libs (server-side) ${lib-jar-name}</echo>
<!-- Create Toolkit JAR -->
<mkdir dir="${output-dir}/META-INF"/>
- <echo file="${output-dir}/META-INF/VERSION">${version}</echo>
+ <echo file="${output-dir}/META-INF/VERSION">${version.full}</echo>
<echo file="${output-dir}/META-INF/GWT-VERSION">${gwt-version}</echo>
<jar jarfile="${output-dir}/WebContent/WEB-INF/lib/${lib-jar-name}" compress="true" manifest="build/package/META-INF/MANIFEST.MF">
<metainf dir="${output-dir}/META-INF"/>
<manifest>
<attribute name="Vaadin-Widgetsets" value="com.vaadin.terminal.gwt.DefaultWidgetSet" />
- <attribute name="Bundle-Version" value="${version}" />
+ <attribute name="Bundle-Version" value="${version.full}" />
</manifest>
<fileset dir="${result-path}/classes">
<patternset>
<!-- Build manual. -->
<target name="manual-build" depends="manual-init, xep-license-copy">
<ant dir="${docdir}" antfile="build/build.xml" inheritAll="false">
- <property name="version" value="${version}"/>
+ <property name="version" value="${version.full}"/>
</ant>
</target>
</target>
<target name="manual-package" depends="manual-init, manual-copy">
- <tar destfile="${result-path}/${product-file}-docs-${version}.tar.gz" compression="gzip" longfile="gnu">
- <tarfileset prefix="docs" dir="${result-path}/${product-file}-${version}/WebContent/docs">
+ <tar destfile="${result-path}/${product-file}-docs-${version.full}.tar.gz" compression="gzip" longfile="gnu">
+ <tarfileset prefix="docs" dir="${result-path}/${product-file}-${version.full}/WebContent/docs">
<patternset>
<include name="api/**" />
<include name="book-of-vaadin.pdf" />
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<!-- Documentation: Add Javadoc to doc -->
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
- <target name="javadoc" depends="preprocess-src">
+ <target name="javadoc" depends="init, preprocess-src">
<javadoc destdir="${output-dir}/WebContent/docs/api" author="true" version="true" use="true" windowtitle="${product-name}" classpathref="compile.classpath.client-side">
- <packageset dir="${result-path}/src">
+ <packageset dir="src">
<include name="${toolkit-package}/**" />
<exclude name="${toolkit-package}/demo/**" />
- <exclude name="${toolkit-package}/tests/**" />
+ <!-- <exclude name="${toolkit-package}/tests/**" /> -->
<exclude name="${toolkit-package}/automatedtests/**" />
</packageset>
<doctitle>${javadoc.doctitle}</doctitle>
<target name="differences" depends="init, internal-package-linux">
<exec executable="python" searchpath="true" failonerror="true" output="${result-path}/differences-linux.txt">
<arg value="build/bin/package-diff.py"/>
- <arg value="${version}"/>
+ <arg value="${version.full}"/>
</exec>
<echo>##teamcity[publishArtifacts '${result-path}/differences-linux.txt']</echo>
</target>
<target name="nightly-init" depends="gwt-symlink">
<!-- Mandatory parameters. -->
- <fail unless="version.minor" message="The version.minor property must be defined."/>
<fail unless="build.number" message="The build.number property must be defined."/>
<fail unless="nightly.publish" message="The nightly.publish property must be defined."/>
<!-- Optional parameters. -->
<property name="build.tag" value="dev"/>
- <echo>Minor version: ${version.minor}</echo>
+ <property file="build/VERSION.properties" />
+
+ <echo>Base version: ${version}</echo>
<echo>Build number: ${build.number}</echo>
<echo>Build tag: ${build.tag}</echo>
<echo>Publish target: ${nightly.publish}</echo>
<tstamp>
<format property="nightly.date" pattern="yyyyMMdd"/>
</tstamp>
- <property name="version" value="${version.minor}.${build.tag}-${nightly.date}-c${build.number}"/>
- <echo>Version will be: ${version}</echo>
+ <property name="version.full" value="${version}.${build.tag}-${nightly.date}-c${build.number}"/>
+
+ <echo>Version will be: ${version.full}</echo>
<!-- Tell TeamCity the build name. Have to do it this way, because -->
<!-- this script needs to get the plain build number as a parameter. -->
- <echo>##teamcity[buildNumber '${version.minor}-c${build.number}']</echo>
-
+ <echo>##teamcity[buildNumber '${version.full}-c${build.number}']</echo>
</target>
<target name="nightly-teamcity-publish">
<echo>Hopefully you have permissions for the copy operation with SSH.</echo>
<!-- Only Linux tests allowed. TODO: Generalize this. -->
- <property name="package.linux.filename" value="${result-path}/${product-file}-${package-platform}-${version}.tar.gz"/>
+ <property name="package.linux.filename" value="${result-path}/${product-file}-${package-platform}-${version.full}.tar.gz"/>
<!-- Copy the linux installation package and the JAR. -->
<exec executable="scp" searchpath="true" resultproperty="nightly.install.scp.result">
<fail unless="package-platform" message="The 'package-platform' property must be defined."/>
<fail unless="version" message="The 'version' property must be defined."/>
- <echo>Version: ${version}</echo>
+ <echo>Version: ${version.full}</echo>
<!-- Parameters for the test.xml script. -->
<fail unless="com.vaadin.testbench.tester.host" message="The 'com.vaadin.testbench.tester.host' property must be defined."/>
<fail unless="com.vaadin.testbench.deployment.url" message="The 'com.vaadin.testbench.deployment.url' property must be defined."/>
<fail unless="com.vaadin.testbench.lib.dir" message="The 'com.vaadin.testbench.lib.dir' property must be defined."/>
- <property name="package.platform.name" value="${product-file}-${package-platform}-${version}"/>
+ <property name="package.platform.name" value="${product-file}-${package-platform}-${version.full}"/>
<!-- Only Linux tests allowed. TODO: Generalize this. -->
<property name="package.linux.filename" value="${result-path}/${package.platform.name}.tar.gz"/>