Accepting request 1188393 from Java:packages
Reproducible javadoc timestamps in xmvn-mojo OBS-URL: https://build.opensuse.org/request/show/1188393 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xmvn?expand=0&rev=21
This commit is contained in:
commit
9f200ea70d
@ -1,19 +1,16 @@
|
||||
--- a/xmvn-tools/xmvn-install/src/main/java/org/fedoraproject/xmvn/tools/install/impl/DefaultArtifactInstaller.java
|
||||
+++ b/xmvn-tools/xmvn-install/src/main/java/org/fedoraproject/xmvn/tools/install/impl/DefaultArtifactInstaller.java
|
||||
@@ -185,7 +185,12 @@ class DefaultArtifactInstaller
|
||||
am.setNamespace( repo.getNamespace() );
|
||||
|
||||
// UUID
|
||||
- am.setUuid( UUID.randomUUID().toString() );
|
||||
+ UUID guid = UUID.randomUUID();
|
||||
+ if ( System.getenv( "SOURCE_DATE_EPOCH" ) != null )
|
||||
+ {
|
||||
+ guid = UUID.nameUUIDFromBytes( ( System.getenv( "SOURCE_DATE_EPOCH" ) + repo.getNamespace() + artifact.toString() ).getBytes() );
|
||||
+ }
|
||||
+ am.setUuid( guid.toString() );
|
||||
|
||||
// Compat version
|
||||
for ( String version : rule.getVersions() )
|
||||
From 2419d17ea3290e4d25f5629dbeac4df460ec8376 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Fridrich=20=C5=A0trba?= <fridrich.strba@bluewin.ch>
|
||||
Date: Wed, 20 Sep 2023 18:46:28 +0200
|
||||
Subject: [PATCH 2/3] Make metadata UUIDs reproducible if SOURCE_DATE_EPOCH is
|
||||
set
|
||||
|
||||
---
|
||||
.../xmvn/tools/install/JavaPackage.java | 14 ++++++++++++--
|
||||
.../install/impl/DefaultArtifactInstaller.java | 7 ++++++-
|
||||
2 files changed, 18 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/xmvn-tools/xmvn-install/src/main/java/org/fedoraproject/xmvn/tools/install/JavaPackage.java b/xmvn-tools/xmvn-install/src/main/java/org/fedoraproject/xmvn/tools/install/JavaPackage.java
|
||||
index 9835c5b8..0542c838 100644
|
||||
--- a/xmvn-tools/xmvn-install/src/main/java/org/fedoraproject/xmvn/tools/install/JavaPackage.java
|
||||
+++ b/xmvn-tools/xmvn-install/src/main/java/org/fedoraproject/xmvn/tools/install/JavaPackage.java
|
||||
@@ -58,7 +58,12 @@ public class JavaPackage
|
||||
@ -48,3 +45,24 @@
|
||||
splitMetadata.setArtifacts( splitArtifacts );
|
||||
splitMetadata.setSkippedArtifacts( metadata.getSkippedArtifacts() );
|
||||
return splitMetadata;
|
||||
diff --git a/xmvn-tools/xmvn-install/src/main/java/org/fedoraproject/xmvn/tools/install/impl/DefaultArtifactInstaller.java b/xmvn-tools/xmvn-install/src/main/java/org/fedoraproject/xmvn/tools/install/impl/DefaultArtifactInstaller.java
|
||||
index 0c83e664..c3fa1bdf 100644
|
||||
--- a/xmvn-tools/xmvn-install/src/main/java/org/fedoraproject/xmvn/tools/install/impl/DefaultArtifactInstaller.java
|
||||
+++ b/xmvn-tools/xmvn-install/src/main/java/org/fedoraproject/xmvn/tools/install/impl/DefaultArtifactInstaller.java
|
||||
@@ -185,7 +185,12 @@ class DefaultArtifactInstaller
|
||||
am.setNamespace( repo.getNamespace() );
|
||||
|
||||
// UUID
|
||||
- am.setUuid( UUID.randomUUID().toString() );
|
||||
+ UUID guid = UUID.randomUUID();
|
||||
+ if ( System.getenv( "SOURCE_DATE_EPOCH" ) != null )
|
||||
+ {
|
||||
+ guid = UUID.nameUUIDFromBytes( ( System.getenv( "SOURCE_DATE_EPOCH" ) + repo.getNamespace() + artifact.toString() ).getBytes() );
|
||||
+ }
|
||||
+ am.setUuid( guid.toString() );
|
||||
|
||||
// Compat version
|
||||
for ( String version : rule.getVersions() )
|
||||
--
|
||||
2.45.2
|
||||
|
@ -0,0 +1,51 @@
|
||||
From 586901a3aff9fd6885df1913a6a6d03f71a5037d Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Fridrich=20=C5=A0trba?= <fridrich.strba@bluewin.ch>
|
||||
Date: Thu, 18 Jul 2024 12:30:13 +0200
|
||||
Subject: [PATCH 3/3] Reproducible javadoc: notimestamp option and some
|
||||
auto-detection
|
||||
|
||||
---
|
||||
.../fedoraproject/xmvn/mojo/JavadocMojo.java | 20 +++++++++++++++++++
|
||||
1 file changed, 20 insertions(+)
|
||||
|
||||
diff --git a/xmvn-mojo/src/main/java/org/fedoraproject/xmvn/mojo/JavadocMojo.java b/xmvn-mojo/src/main/java/org/fedoraproject/xmvn/mojo/JavadocMojo.java
|
||||
index 644c3930..48f3a930 100644
|
||||
--- a/xmvn-mojo/src/main/java/org/fedoraproject/xmvn/mojo/JavadocMojo.java
|
||||
+++ b/xmvn-mojo/src/main/java/org/fedoraproject/xmvn/mojo/JavadocMojo.java
|
||||
@@ -102,6 +102,12 @@ public class JavadocMojo
|
||||
@Parameter( property = "xmvn.javadoc.ignoreJPMS" )
|
||||
private boolean ignoreJPMS;
|
||||
|
||||
+ @Parameter( defaultValue = "${project.build.outputTimestamp}" )
|
||||
+ protected String outputTimestamp;
|
||||
+
|
||||
+ @Parameter( property = "notimestamp", defaultValue = "false" )
|
||||
+ private boolean notimestamp;
|
||||
+
|
||||
private List<String> options = new ArrayList<>();
|
||||
|
||||
private static String quoted( Object obj )
|
||||
@@ -372,6 +378,20 @@ public class JavadocMojo
|
||||
addOpt( "-docencoding", docencoding, "UTF-8" );
|
||||
addOpt( "-doctitle", "Javadoc for package XXX" );
|
||||
|
||||
+ if ( !notimestamp && outputTimestamp != null && outputTimestamp.length() > 1 )
|
||||
+ {
|
||||
+ notimestamp = true;
|
||||
+ }
|
||||
+ if ( !notimestamp && System.getenv( "SOURCE_DATE_EPOCH" ) != null )
|
||||
+ {
|
||||
+ notimestamp = true;
|
||||
+ }
|
||||
+ if ( notimestamp )
|
||||
+ {
|
||||
+ addOpt( "-notimestamp" );
|
||||
+ }
|
||||
+
|
||||
+
|
||||
if ( !addOpt( "--release", release ) )
|
||||
{
|
||||
addOpt( "-source", source );
|
||||
--
|
||||
2.45.2
|
||||
|
@ -1,3 +1,16 @@
|
||||
-------------------------------------------------------------------
|
||||
Thu Jul 18 11:07:04 UTC 2024 - Fridrich Strba <fstrba@suse.com>
|
||||
|
||||
- Modified patch:
|
||||
* UUID.patch ->
|
||||
0002-Make-metadata-UUIDs-reproducible-if-SOURCE_DATE_EPOC.patch
|
||||
+ use version of the patch from our Pull Request to upstream
|
||||
- Added patch:
|
||||
* 0003-Reproducible-javadoc-notimestamp-option-and-some-aut.patch
|
||||
+ make javadoc reproducible if project.build.outputTimestamp
|
||||
is specified or if SOURCE_DATE_EPOCH environmental variable
|
||||
is set
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jan 30 09:25:00 UTC 2024 - Fridrich Strba <fstrba@suse.com>
|
||||
|
||||
|
@ -28,8 +28,9 @@ Group: Development/Tools/Building
|
||||
URL: https://fedora-java.github.io/xmvn/
|
||||
Source0: https://github.com/fedora-java/%{parent}/releases/download/%{version}/%{parent}-%{version}.tar.xz
|
||||
Source1: %{parent}-build.tar.xz
|
||||
Patch0: UUID.patch
|
||||
Patch1: 0001-Do-not-leave-a-stray-options-file-in-the-generated-j.patch
|
||||
Patch0: 0001-Do-not-leave-a-stray-options-file-in-the-generated-j.patch
|
||||
Patch1: 0002-Make-metadata-UUIDs-reproducible-if-SOURCE_DATE_EPOC.patch
|
||||
Patch2: 0003-Reproducible-javadoc-notimestamp-option-and-some-aut.patch
|
||||
BuildRequires: %{parent}-api = %{version}
|
||||
BuildRequires: %{parent}-core = %{version}
|
||||
BuildRequires: ant
|
||||
|
@ -1,3 +1,16 @@
|
||||
-------------------------------------------------------------------
|
||||
Thu Jul 18 11:07:04 UTC 2024 - Fridrich Strba <fstrba@suse.com>
|
||||
|
||||
- Modified patch:
|
||||
* UUID.patch ->
|
||||
0002-Make-metadata-UUIDs-reproducible-if-SOURCE_DATE_EPOC.patch
|
||||
+ use version of the patch from our Pull Request to upstream
|
||||
- Added patch:
|
||||
* 0003-Reproducible-javadoc-notimestamp-option-and-some-aut.patch
|
||||
+ make javadoc reproducible if project.build.outputTimestamp
|
||||
is specified or if SOURCE_DATE_EPOCH environmental variable
|
||||
is set
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed May 15 12:30:44 UTC 2024 - Fridrich Strba <fstrba@suse.com>
|
||||
|
||||
|
@ -26,8 +26,9 @@ License: Apache-2.0
|
||||
Group: Development/Tools/Building
|
||||
URL: https://fedora-java.github.io/xmvn/
|
||||
Source0: https://github.com/fedora-java/%{parent}/releases/download/%{version}/%{parent}-%{version}.tar.xz
|
||||
Patch0: UUID.patch
|
||||
Patch1: 0001-Do-not-leave-a-stray-options-file-in-the-generated-j.patch
|
||||
Patch0: 0001-Do-not-leave-a-stray-options-file-in-the-generated-j.patch
|
||||
Patch1: 0002-Make-metadata-UUIDs-reproducible-if-SOURCE_DATE_EPOC.patch
|
||||
Patch2: 0003-Reproducible-javadoc-notimestamp-option-and-some-aut.patch
|
||||
BuildRequires: %{parent}-api = %{version}
|
||||
BuildRequires: %{parent}-core = %{version}
|
||||
BuildRequires: fdupes
|
||||
|
@ -1,3 +1,16 @@
|
||||
-------------------------------------------------------------------
|
||||
Thu Jul 18 11:07:04 UTC 2024 - Fridrich Strba <fstrba@suse.com>
|
||||
|
||||
- Modified patch:
|
||||
* UUID.patch ->
|
||||
0002-Make-metadata-UUIDs-reproducible-if-SOURCE_DATE_EPOC.patch
|
||||
+ use version of the patch from our Pull Request to upstream
|
||||
- Added patch:
|
||||
* 0003-Reproducible-javadoc-notimestamp-option-and-some-aut.patch
|
||||
+ make javadoc reproducible if project.build.outputTimestamp
|
||||
is specified or if SOURCE_DATE_EPOCH environmental variable
|
||||
is set
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jan 30 09:25:00 UTC 2024 - Fridrich Strba <fstrba@suse.com>
|
||||
|
||||
|
@ -26,8 +26,9 @@ License: Apache-2.0
|
||||
Group: Development/Tools/Building
|
||||
URL: https://fedora-java.github.io/xmvn/
|
||||
Source0: https://github.com/fedora-java/%{parent}/releases/download/%{version}/%{parent}-%{version}.tar.xz
|
||||
Patch0: UUID.patch
|
||||
Patch1: 0001-Do-not-leave-a-stray-options-file-in-the-generated-j.patch
|
||||
Patch0: 0001-Do-not-leave-a-stray-options-file-in-the-generated-j.patch
|
||||
Patch1: 0002-Make-metadata-UUIDs-reproducible-if-SOURCE_DATE_EPOC.patch
|
||||
Patch2: 0003-Reproducible-javadoc-notimestamp-option-and-some-aut.patch
|
||||
BuildRequires: javapackages-local
|
||||
BuildRequires: xmvn-resolve
|
||||
BuildRequires: mvn(org.apache.maven.plugins:maven-compiler-plugin)
|
||||
|
@ -1,3 +1,16 @@
|
||||
-------------------------------------------------------------------
|
||||
Thu Jul 18 11:07:04 UTC 2024 - Fridrich Strba <fstrba@suse.com>
|
||||
|
||||
- Modified patch:
|
||||
* UUID.patch ->
|
||||
0002-Make-metadata-UUIDs-reproducible-if-SOURCE_DATE_EPOC.patch
|
||||
+ use version of the patch from our Pull Request to upstream
|
||||
- Added patch:
|
||||
* 0003-Reproducible-javadoc-notimestamp-option-and-some-aut.patch
|
||||
+ make javadoc reproducible if project.build.outputTimestamp
|
||||
is specified or if SOURCE_DATE_EPOCH environmental variable
|
||||
is set
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Feb 19 13:09:53 UTC 2024 - Fridrich Strba <fstrba@suse.com>
|
||||
|
||||
|
@ -27,8 +27,9 @@ Group: Development/Tools/Building
|
||||
URL: https://fedora-java.github.io/xmvn/
|
||||
Source0: https://github.com/fedora-java/xmvn/releases/download/%{version}/%{parent}-%{version}.tar.xz
|
||||
Source1: %{parent}-build.tar.xz
|
||||
Patch0: UUID.patch
|
||||
Patch1: 0001-Do-not-leave-a-stray-options-file-in-the-generated-j.patch
|
||||
Patch0: 0001-Do-not-leave-a-stray-options-file-in-the-generated-j.patch
|
||||
Patch1: 0002-Make-metadata-UUIDs-reproducible-if-SOURCE_DATE_EPOC.patch
|
||||
Patch2: 0003-Reproducible-javadoc-notimestamp-option-and-some-aut.patch
|
||||
BuildRequires: ant
|
||||
BuildRequires: apache-commons-compress
|
||||
BuildRequires: apache-commons-io
|
||||
|
Loading…
Reference in New Issue
Block a user