You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by sc...@apache.org on 2022/06/08 20:38:21 UTC

[tomcat] branch 8.5.x updated: Add pre-release target to write build-release.properties prior to builds. When using this target along with a release, Apache ant version 1.10.2 or later is required.

This is an automated email from the ASF dual-hosted git repository.

schultz pushed a commit to branch 8.5.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git


The following commit(s) were added to refs/heads/8.5.x by this push:
     new deaa16950e Add pre-release target to write build-release.properties prior to builds. When using this target along with a release, Apache ant version 1.10.2 or later is required.
deaa16950e is described below

commit deaa16950e899b665df5d589f3b1f67810e3ebdc
Author: Christopher Schultz <ch...@christopherschultz.net>
AuthorDate: Wed Jun 8 16:36:42 2022 -0400

    Add pre-release target to write build-release.properties prior to builds.
    When using this target along with a release, Apache ant version 1.10.2 or later is required.
---
 build.xml | 53 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 52 insertions(+), 1 deletion(-)

diff --git a/build.xml b/build.xml
index 800652df99..4e920afb65 100644
--- a/build.xml
+++ b/build.xml
@@ -2229,8 +2229,59 @@ skip.installer property in build.properties" />
     <hashAndSign file="${tomcat.release}/v${version}/bin/${final.name}.exe" />
   </target>
 
+  <target name="-pre-release-lone-target-check">
+    <fail message="The pre-release target must be called all on its own. Specifically, you must run 'ant release' /after/ 'and pre-release' in order to properly configure the build.">
+      <condition>
+        <not>
+          <equals arg1="${ant.project.invoked-targets}" arg2="pre-release" />
+        </not>
+      </condition>
+    </fail>
+  </target>
+
+  <target name="-ant-version-check" if="ant.tstamp.now.iso">
+    <antversion property="ant.current.version" />
+    <fail message="This build process requires ant 1.10.2 in order to use ant.tstamp.now.iso for reproducible builds, but you are running ant ${ant.current.version}.">
+      <condition>
+        <not>
+          <antversion atleast="1.10.2" />
+        </not>
+      </condition>
+    </fail>
+  </target>
+
+  <target name="-pre-release-read-asf-username" unless="release.asfusername">
+    <input message="Enter ASF username" addproperty="release.asfusername" defaultValue="${user.name}" />
+  </target>
+
+  <target name="pre-release" depends="-pre-release-lone-target-check, -pre-release-read-asf-username, -ant-version-check" description="Prepares for a release build by writing build-release.properties which contains information about the release-build environment.">
+    <tstamp>
+      <format pattern="yyyy-MM-dd'T'HH:mm:ss'Z'" property="now-readable" timezone="UTC" />
+    </tstamp>
+    <echo file="build-release.properties">
+# These ant.tstamp properties specify the build-timestamp for repeatable builds.
+ant.tstamp.now.iso=${now-readable}
+# This is the ASF user who is the Release Manager for this release.
+release.asfusername=${release.asfusername}
+# Set the version-suffix to "" (empty string) as this is not a development release.
+version.suffix=
+# Release build environment information:
+release.java.version=${java.version}
+release.java.vm.name=${java.vm.name}
+release.java.vm.version=${java.vm.version}
+release.os=${os.arch} ${os.name} ${os.version}
+release.default.file.encoding=${file.encoding}
+release.ant.version=${ant.version}
+</echo>
+    <echo file="res/maven/mvn.properties">
+asf.ldap.username=${release.asfusername}
+gpg.exec=${gpg.exec}
+maven.asf.release.deploy.version=${version}
+</echo>
+  </target>
+
   <target name="release"
-    depends="clean,release-init,dist-deployer,installer-sign,package-zip,package-winzip,package-tgz,package-deployer-zip,package-deployer-tgz,javadoc,package-docs-tgz,package-src-zip,package-src-tgz,package-src-jar"
+    depends="-ant-version-check,clean,release-init,dist-deployer,installer-sign,package-zip,package-winzip,package-tgz,package-deployer-zip,package-deployer-tgz,javadoc,package-docs-tgz,package-src-zip,package-src-tgz,package-src-jar"
     description="Create a Tomcat packaged distribution">
 
     <copy file="KEYS"


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org