use SOURCE_DATE_EPOCH for ant based projects

unfortunately ant as deployed on the baseline has a bug and expects
SOURCE_DATE_EPOCH to be in milliseconds, and if set in an environment
variable would also override the ant.tstamp.now property even when
explicitly provided at the commandline, so to avoid bogus timestamps
unset it if it was exported in the environment (default build doesn't
export it, but the user may export it to override or provide a value
e.g. when not building from source.

for ant.tstamp.now to work for setting the tstamp value, ant 1.10.2 or
later is required

Change-Id: I2dd53cb99281f46d58a8db35baf71627ed5422f1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207246
Tested-by: Jenkins
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
This commit is contained in:
Christian Lohmaier
2026-07-14 15:14:56 +02:00
parent 65297c52ac
commit 23a4062410
27 changed files with 172 additions and 18 deletions
+2 -1
View File
@@ -16,10 +16,11 @@ $(eval $(call gb_ExternalProject_register_targets,java_websocket,\
$(call gb_ExternalProject_get_state_target,java_websocket,build) :
$(call gb_Trace_StartRange,java_websocket,EXTERNAL)
$(call gb_ExternalProject_run,build,\
unset MSYS_NO_PATHCONV && JAVA_HOME=$(JAVA_HOME_FOR_BUILD) \
unset MSYS_NO_PATHCONV SOURCE_DATE_EPOCH && JAVA_HOME=$(JAVA_HOME_FOR_BUILD) \
$(ICECREAM_RUN) "$(ANT)" \
$(if $(verbose),-v,-q) \
-f build.xml \
$(if $(SOURCE_DATE_EPOCH),-Dant.tstamp.now=$(SOURCE_DATE_EPOCH)) \
-Dbuild.label="build-$(LIBO_VERSION_MAJOR).$(LIBO_VERSION_MINOR).$(LIBO_VERSION_MICRO).$(LIBO_VERSION_PATCH)" \
-Dant.build.javac.source=$(JAVA_SOURCE_VER) \
-Dant.build.javac.target=$(JAVA_TARGET_VER) \
@@ -24,6 +24,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,java_websocket,\
external/java_websocket/patches/0001-cid-1546341-Resource-leak-on-an-exceptional-path.patch \
external/java_websocket/patches/0001-cid-1545249-Bad-bit-shift-operation.patch \
external/java_websocket/patches/0001-cid-1546344-Dm-Dubious-method-used.patch \
external/java_websocket/patches/java-websocket-jar-timestamps.patch.1 \
))
# vim: set noet sw=4 ts=4:
@@ -0,0 +1,20 @@
diff -ur java_websocket.org/build.xml java_websocket/build.xml
--- java_websocket.org/build.xml 2026-06-24 15:32:09.431913892 +0000
+++ java_websocket/build.xml 2026-06-24 15:33:15.528712683 +0000
@@ -1,4 +1,7 @@
<project default="all">
+ <tstamp>
+ <format property="jar.timestamp" pattern="yyyy-MM-dd'T'HH:mm:ssXXX" timezone="UTC"/>
+ </tstamp>
<target name="all" depends="jar" />
<target name="compile">
@@ -11,7 +14,7 @@
<target name="jar" depends="compile">
<mkdir dir="dist"/>
- <jar destfile="dist/java_websocket.jar">
+ <jar destfile="dist/java_websocket.jar" modificationtime="${jar.timestamp}">
<fileset dir="build/classes" includes="**/*.class" />
</jar>
</target>