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

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


The following commit(s) were added to refs/heads/9.0.x by this push:
     new 7b4c116  Reproducible builds: Make i18n JARs reproducible
7b4c116 is described below

commit 7b4c116418232d49e19f6078d988d09974beda5c
Author: Mark Thomas <ma...@apache.org>
AuthorDate: Thu Mar 18 14:47:31 2021 +0000

    Reproducible builds: Make i18n JARs reproducible
---
 build.xml | 74 ++++++++++++++++++++++++++++++++++++++++-----------------------
 1 file changed, 47 insertions(+), 27 deletions(-)

diff --git a/build.xml b/build.xml
index 9ab1864..f3bc2f8 100644
--- a/build.xml
+++ b/build.xml
@@ -991,6 +991,7 @@
     files placed in JARs -->
     <touch datetime="${tstamp.file}" pattern="MM/dd/yyyy hh:mm:ss aa">
       <fileset dir="${tomcat.classes}"/>
+      <fileset dir="${tomcat.i18n}"/>
     </touch>
   </target>
 
@@ -1174,96 +1175,115 @@
       addOSGi="true" />
 
     <!-- i18n JARs -->
-    <jar jarfile="${tomcat.build}/lib/tomcat-i18n-cs.jar"
-      manifest="${tomcat.manifests}/default.manifest">
+    <!-- zip task used rather than jar to control reproducibility -->
+    <zip destfile="${tomcat.build}/lib/tomcat-i18n-cs.jar">
       <fileset dir="${tomcat.i18n}">
         <include name="**/LocalStrings_cs.properties" />
       </fileset>
+      <zipfileset file="${tomcat.manifests}" fullpath="META-INF" />
+      <zipfileset file="${tomcat.manifests}/default.manifest"
+        fullpath="META-INF/MANIFEST.MF" />
       <zipfileset file="${tomcat.manifests}/default.notice"
         fullpath="META-INF/NOTICE" />
       <zipfileset file="${tomcat.manifests}/default.license"
         fullpath="META-INF/LICENSE" />
-    </jar>
-    <jar jarfile="${tomcat.build}/lib/tomcat-i18n-de.jar"
-      manifest="${tomcat.manifests}/default.manifest">
+    </zip>
+    <zip destfile="${tomcat.build}/lib/tomcat-i18n-de.jar">
       <fileset dir="${tomcat.i18n}">
         <include name="**/LocalStrings_de.properties" />
       </fileset>
+      <zipfileset file="${tomcat.manifests}" fullpath="META-INF" />
+      <zipfileset file="${tomcat.manifests}/default.manifest"
+        fullpath="META-INF/MANIFEST.MF" />
       <zipfileset file="${tomcat.manifests}/default.notice"
         fullpath="META-INF/NOTICE" />
       <zipfileset file="${tomcat.manifests}/default.license"
         fullpath="META-INF/LICENSE" />
-    </jar>
-    <jar jarfile="${tomcat.build}/lib/tomcat-i18n-es.jar"
-      manifest="${tomcat.manifests}/default.manifest">
+    </zip>
+    <zip destfile="${tomcat.build}/lib/tomcat-i18n-es.jar">
       <fileset dir="${tomcat.i18n}">
         <include name="**/LocalStrings_es.properties" />
       </fileset>
+      <zipfileset file="${tomcat.manifests}" fullpath="META-INF" />
+      <zipfileset file="${tomcat.manifests}/default.manifest"
+        fullpath="META-INF/MANIFEST.MF" />
       <zipfileset file="${tomcat.manifests}/default.notice"
         fullpath="META-INF/NOTICE" />
       <zipfileset file="${tomcat.manifests}/default.license"
         fullpath="META-INF/LICENSE" />
-    </jar>
-    <jar jarfile="${tomcat.build}/lib/tomcat-i18n-fr.jar"
-      manifest="${tomcat.manifests}/default.manifest">
+    </zip>
+    <zip destfile="${tomcat.build}/lib/tomcat-i18n-fr.jar">
       <fileset dir="${tomcat.i18n}">
         <include name="**/LocalStrings_fr.properties" />
       </fileset>
+      <zipfileset file="${tomcat.manifests}" fullpath="META-INF" />
+      <zipfileset file="${tomcat.manifests}/default.manifest"
+        fullpath="META-INF/MANIFEST.MF" />
       <zipfileset file="${tomcat.manifests}/default.notice"
         fullpath="META-INF/NOTICE" />
       <zipfileset file="${tomcat.manifests}/default.license"
         fullpath="META-INF/LICENSE" />
-    </jar>
-    <jar jarfile="${tomcat.build}/lib/tomcat-i18n-ja.jar"
-      manifest="${tomcat.manifests}/default.manifest">
+    </zip>
+    <zip destfile="${tomcat.build}/lib/tomcat-i18n-ja.jar">
       <fileset dir="${tomcat.i18n}">
         <include name="**/LocalStrings_ja.properties" />
       </fileset>
+      <zipfileset file="${tomcat.manifests}" fullpath="META-INF" />
+      <zipfileset file="${tomcat.manifests}/default.manifest"
+        fullpath="META-INF/MANIFEST.MF" />
       <zipfileset file="${tomcat.manifests}/default.notice"
         fullpath="META-INF/NOTICE" />
       <zipfileset file="${tomcat.manifests}/default.license"
         fullpath="META-INF/LICENSE" />
-    </jar>
-    <jar jarfile="${tomcat.build}/lib/tomcat-i18n-ko.jar"
-      manifest="${tomcat.manifests}/default.manifest">
+    </zip>
+    <zip destfile="${tomcat.build}/lib/tomcat-i18n-ko.jar">
       <fileset dir="${tomcat.i18n}">
         <include name="**/LocalStrings_ko.properties" />
       </fileset>
+      <zipfileset file="${tomcat.manifests}" fullpath="META-INF" />
+      <zipfileset file="${tomcat.manifests}/default.manifest"
+        fullpath="META-INF/MANIFEST.MF" />
       <zipfileset file="${tomcat.manifests}/default.notice"
         fullpath="META-INF/NOTICE" />
       <zipfileset file="${tomcat.manifests}/default.license"
         fullpath="META-INF/LICENSE" />
-    </jar>
-    <jar jarfile="${tomcat.build}/lib/tomcat-i18n-pt-BR.jar"
-      manifest="${tomcat.manifests}/default.manifest">
+    </zip>
+    <zip destfile="${tomcat.build}/lib/tomcat-i18n-pt-BR.jar">
       <fileset dir="${tomcat.i18n}">
         <include name="**/LocalStrings_pt_BR.properties" />
       </fileset>
+      <zipfileset file="${tomcat.manifests}" fullpath="META-INF" />
+      <zipfileset file="${tomcat.manifests}/default.manifest"
+        fullpath="META-INF/MANIFEST.MF" />
       <zipfileset file="${tomcat.manifests}/default.notice"
         fullpath="META-INF/NOTICE" />
       <zipfileset file="${tomcat.manifests}/default.license"
         fullpath="META-INF/LICENSE" />
-    </jar>
-    <jar jarfile="${tomcat.build}/lib/tomcat-i18n-ru.jar"
-      manifest="${tomcat.manifests}/default.manifest">
+    </zip>
+    <zip destfile="${tomcat.build}/lib/tomcat-i18n-ru.jar">
       <fileset dir="${tomcat.i18n}">
         <include name="**/LocalStrings_ru.properties" />
       </fileset>
+      <zipfileset file="${tomcat.manifests}" fullpath="META-INF" />
+      <zipfileset file="${tomcat.manifests}/default.manifest"
+        fullpath="META-INF/MANIFEST.MF" />
       <zipfileset file="${tomcat.manifests}/default.notice"
         fullpath="META-INF/NOTICE" />
       <zipfileset file="${tomcat.manifests}/default.license"
         fullpath="META-INF/LICENSE" />
-    </jar>
-    <jar jarfile="${tomcat.build}/lib/tomcat-i18n-zh-CN.jar"
-      manifest="${tomcat.manifests}/default.manifest">
+    </zip>
+    <zip destfile="${tomcat.build}/lib/tomcat-i18n-zh-CN.jar">
       <fileset dir="${tomcat.i18n}">
         <include name="**/LocalStrings_zh_CN.properties" />
       </fileset>
+      <zipfileset file="${tomcat.manifests}" fullpath="META-INF" />
+      <zipfileset file="${tomcat.manifests}/default.manifest"
+        fullpath="META-INF/MANIFEST.MF" />
       <zipfileset file="${tomcat.manifests}/default.notice"
         fullpath="META-INF/NOTICE" />
       <zipfileset file="${tomcat.manifests}/default.license"
         fullpath="META-INF/LICENSE" />
-    </jar>
+    </zip>
 
   </target>
 

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

Reply via email to