Accepting request 1204170 from Java:packages

4.3.0

OBS-URL: https://build.opensuse.org/request/show/1204170
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xmvn?expand=0&rev=23
This commit is contained in:
Ana Guerrero 2024-09-27 15:11:58 +00:00 committed by Git OBS Bridge
commit d5928046af
17 changed files with 96 additions and 206 deletions

View File

@ -1,26 +0,0 @@
From f75806e845cc26725a0aaf8de0ad6808a98c0f60 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fridrich=20=C5=A0trba?= <fridrich.strba@bluewin.ch>
Date: Wed, 13 Sep 2023 18:30:26 +0200
Subject: [PATCH] Do not leave a stray options file in the generated javadoc
tree
---
.../src/main/java/org/fedoraproject/xmvn/mojo/JavadocMojo.java | 2 ++
1 file changed, 2 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 f90b6b99..644c3930 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
@@ -435,6 +435,8 @@ public class JavadocMojo
StandardOpenOption.TRUNCATE_EXISTING );
invokeJavadoc( outputDir );
+
+ Files.deleteIfExists( outputDir.resolve( "args" ) );
}
catch ( IOException | InterruptedException e )
{
--
2.42.0

View File

@ -1,68 +0,0 @@
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
super( id );
this.basePackageName = basePackageName;
this.metadataDir = metadataDir;
- metadata.setUuid( UUID.randomUUID().toString() );
+ UUID guid = UUID.randomUUID();
+ if ( System.getenv( "SOURCE_DATE_EPOCH" ) != null )
+ {
+ guid = UUID.nameUUIDFromBytes( ( System.getenv( "SOURCE_DATE_EPOCH" ) + id + basePackageName + metadataDir.toString() ).getBytes() );
+ }
+ metadata.setUuid( guid.toString() );
}
/**
@@ -71,11 +76,16 @@ public class JavaPackage
private PackageMetadata getSplitMetadata( String namespace )
{
PackageMetadata splitMetadata = new PackageMetadata();
- splitMetadata.setUuid( UUID.randomUUID().toString() );
splitMetadata.setProperties( metadata.getProperties() );
List<ArtifactMetadata> allArtifacts = metadata.getArtifacts();
List<ArtifactMetadata> splitArtifacts =
allArtifacts.stream().filter( a -> namespace.equals( a.getNamespace() ) ).collect( Collectors.toList() );
+ UUID guid = UUID.randomUUID();
+ if ( System.getenv( "SOURCE_DATE_EPOCH" ) != null )
+ {
+ guid = UUID.nameUUIDFromBytes( ( System.getenv( "SOURCE_DATE_EPOCH" ) + splitArtifacts.toString() ).getBytes() );
+ }
+ splitMetadata.setUuid( guid.toString() );
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

View File

@ -1,51 +0,0 @@
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

View File

@ -1,35 +0,0 @@
From 3c2036e15f127c4ab90eb2312af27e13711d5a24 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fridrich=20=C5=A0trba?= <fridrich.strba@bluewin.ch>
Date: Wed, 18 Sep 2024 18:31:24 +0200
Subject: [PATCH 4/4] Reproducible manifest modification time
---
.../org/fedoraproject/xmvn/tools/install/JarUtils.java | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/xmvn-tools/xmvn-install/src/main/java/org/fedoraproject/xmvn/tools/install/JarUtils.java b/xmvn-tools/xmvn-install/src/main/java/org/fedoraproject/xmvn/tools/install/JarUtils.java
index 815d19a6..844510b6 100644
--- a/xmvn-tools/xmvn-install/src/main/java/org/fedoraproject/xmvn/tools/install/JarUtils.java
+++ b/xmvn-tools/xmvn-install/src/main/java/org/fedoraproject/xmvn/tools/install/JarUtils.java
@@ -249,12 +249,17 @@ public final class JarUtils
try ( ZipFile jar = new ZipFile( backupPath.toFile() );
ZipArchiveOutputStream os = new ZipArchiveOutputStream( targetJar.toFile() ) )
{
- try ( InputStream mfIs = jar.getInputStream( jar.getEntry( MANIFEST_PATH ) ) )
+ ZipArchiveEntry jarEntry = jar.getEntry( MANIFEST_PATH );
+ try ( InputStream mfIs = jar.getInputStream( jarEntry ) )
{
Manifest mf = new Manifest( mfIs );
updateManifest( artifact, mf );
// write manifest
ZipArchiveEntry newManifestEntry = new ZipArchiveEntry( MANIFEST_PATH );
+ if ( jarEntry != null )
+ {
+ newManifestEntry.setTime( jarEntry.getTime() );
+ }
os.putArchiveEntry( newManifestEntry );
mf.write( os );
os.closeArchiveEntry();
--
2.46.0

BIN
xmvn-4.2.0.tar.xz (Stored with Git LFS)

Binary file not shown.

3
xmvn-4.3.0.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a0aed0f5bcdba5d03f086f8aaeef269a74832bd646d361068c09d1bc25c6da83
size 138460

BIN
xmvn-build.tar.xz (Stored with Git LFS)

Binary file not shown.

View File

@ -1,3 +1,20 @@
-------------------------------------------------------------------
Fri Sep 27 11:35:05 UTC 2024 - Fridrich Strba <fstrba@suse.com>
- Upgrade to version 4.3.0
* Changes:
+ Fix typo in JavadocMojo
+ Reproducible javadoc
+ Reproducible manifest injection
+ Deprecate UUIDs
+ Implement MetadataResult.getPackageMetadataMap()
- Removed patches:
* 0001-Do-not-leave-a-stray-options-file-in-the-generated-j.patch
* 0002-Make-metadata-UUIDs-reproducible-if-SOURCE_DATE_EPOC.patch
* 0003-Reproducible-javadoc-notimestamp-option-and-some-aut.patch
* 0004-Reproducible-manifest-modification-time.patch
+ integrated upstream or similar functionality was added
-------------------------------------------------------------------
Wed Sep 18 16:33:37 UTC 2024 - Fridrich Strba <fstrba@suse.com>

View File

@ -20,7 +20,7 @@
%global subname connector
%bcond_with tests
Name: %{parent}-%{subname}
Version: 4.2.0
Version: 4.3.0
Release: 0
Summary: XMvn Connector for Maven Resolver
License: Apache-2.0
@ -28,10 +28,6 @@ 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: 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
Patch3: 0004-Reproducible-manifest-modification-time.patch
BuildRequires: %{parent}-api = %{version}
BuildRequires: %{parent}-core = %{version}
BuildRequires: ant

View File

@ -1,3 +1,20 @@
-------------------------------------------------------------------
Fri Sep 27 11:35:05 UTC 2024 - Fridrich Strba <fstrba@suse.com>
- Upgrade to version 4.3.0
* Changes:
+ Fix typo in JavadocMojo
+ Reproducible javadoc
+ Reproducible manifest injection
+ Deprecate UUIDs
+ Implement MetadataResult.getPackageMetadataMap()
- Removed patches:
* 0001-Do-not-leave-a-stray-options-file-in-the-generated-j.patch
* 0002-Make-metadata-UUIDs-reproducible-if-SOURCE_DATE_EPOC.patch
* 0003-Reproducible-javadoc-notimestamp-option-and-some-aut.patch
* 0004-Reproducible-manifest-modification-time.patch
+ integrated upstream or similar functionality was added
-------------------------------------------------------------------
Wed Sep 18 16:33:37 UTC 2024 - Fridrich Strba <fstrba@suse.com>

View File

@ -19,17 +19,13 @@
%global parent xmvn
%global subname mojo
Name: %{parent}-%{subname}
Version: 4.2.0
Version: 4.3.0
Release: 0
Summary: XMvn MOJO
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: 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
Patch3: 0004-Reproducible-manifest-modification-time.patch
BuildRequires: %{parent}-api = %{version}
BuildRequires: %{parent}-core = %{version}
BuildRequires: fdupes

View File

@ -1,3 +1,20 @@
-------------------------------------------------------------------
Fri Sep 27 11:35:05 UTC 2024 - Fridrich Strba <fstrba@suse.com>
- Upgrade to version 4.3.0
* Changes:
+ Fix typo in JavadocMojo
+ Reproducible javadoc
+ Reproducible manifest injection
+ Deprecate UUIDs
+ Implement MetadataResult.getPackageMetadataMap()
- Removed patches:
* 0001-Do-not-leave-a-stray-options-file-in-the-generated-j.patch
* 0002-Make-metadata-UUIDs-reproducible-if-SOURCE_DATE_EPOC.patch
* 0003-Reproducible-javadoc-notimestamp-option-and-some-aut.patch
* 0004-Reproducible-manifest-modification-time.patch
+ integrated upstream or similar functionality was added
-------------------------------------------------------------------
Wed Sep 18 16:33:37 UTC 2024 - Fridrich Strba <fstrba@suse.com>

View File

@ -19,17 +19,13 @@
%global parent xmvn
%global subname parent
Name: %{parent}-%{subname}
Version: 4.2.0
Version: 4.3.0
Release: 0
Summary: XMvn Parent POM
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: 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
Patch3: 0004-Reproducible-manifest-modification-time.patch
BuildRequires: javapackages-local
BuildRequires: xmvn-resolve
BuildRequires: mvn(org.apache.maven.plugins:maven-compiler-plugin)

View File

@ -1,3 +1,20 @@
-------------------------------------------------------------------
Fri Sep 27 11:35:05 UTC 2024 - Fridrich Strba <fstrba@suse.com>
- Upgrade to version 4.3.0
* Changes:
+ Fix typo in JavadocMojo
+ Reproducible javadoc
+ Reproducible manifest injection
+ Deprecate UUIDs
+ Implement MetadataResult.getPackageMetadataMap()
- Removed patches:
* 0001-Do-not-leave-a-stray-options-file-in-the-generated-j.patch
* 0002-Make-metadata-UUIDs-reproducible-if-SOURCE_DATE_EPOC.patch
* 0003-Reproducible-javadoc-notimestamp-option-and-some-aut.patch
* 0004-Reproducible-manifest-modification-time.patch
+ integrated upstream or similar functionality was added
-------------------------------------------------------------------
Wed Sep 18 16:33:37 UTC 2024 - Fridrich Strba <fstrba@suse.com>

View File

@ -19,7 +19,7 @@
%global parent xmvn
%global subname tools
Name: %{parent}-%{subname}
Version: 4.2.0
Version: 4.3.0
Release: 0
Summary: Local Extensions for Apache Maven
License: Apache-2.0
@ -27,10 +27,6 @@ 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: 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
Patch3: 0004-Reproducible-manifest-modification-time.patch
BuildRequires: ant
BuildRequires: apache-commons-compress
BuildRequires: apache-commons-io
@ -164,6 +160,7 @@ build-jar-repository -s lib \
atinject \
beust-jcommander \
commons-compress \
commons-io \
objectweb-asm/asm \
org.eclipse.sisu.inject \
org.eclipse.sisu.plexus \

View File

@ -1,3 +1,20 @@
-------------------------------------------------------------------
Fri Sep 27 11:35:05 UTC 2024 - Fridrich Strba <fstrba@suse.com>
- Upgrade to version 4.3.0
* Changes:
+ Fix typo in JavadocMojo
+ Reproducible javadoc
+ Reproducible manifest injection
+ Deprecate UUIDs
+ Implement MetadataResult.getPackageMetadataMap()
- Removed patches:
* 0001-Do-not-leave-a-stray-options-file-in-the-generated-j.patch
* 0002-Make-metadata-UUIDs-reproducible-if-SOURCE_DATE_EPOC.patch
* 0003-Reproducible-javadoc-notimestamp-option-and-some-aut.patch
* 0004-Reproducible-manifest-modification-time.patch
+ integrated upstream or similar functionality was added
-------------------------------------------------------------------
Thu May 4 17:05:12 UTC 2023 - Fridrich Strba <fstrba@suse.com>

View File

@ -17,7 +17,7 @@
Name: xmvn
Version: 4.2.0
Version: 4.3.0
Release: 0
Summary: Local Extensions for Apache Maven
License: Apache-2.0