diff --git a/.gitignore b/.gitignore index ff2718f..e63b8cf 100644 --- a/.gitignore +++ b/.gitignore @@ -43,3 +43,4 @@ /xmvn-2.5.0.tar.xz /xmvn-3.0.0.tar.xz /xmvn-3.1.0.tar.xz +/5d1e284.tar.gz diff --git a/0001-Prefer-namespaced-metadata-when-duplicates-are-found.patch b/0001-Prefer-namespaced-metadata-when-duplicates-are-found.patch deleted file mode 100644 index de58426..0000000 --- a/0001-Prefer-namespaced-metadata-when-duplicates-are-found.patch +++ /dev/null @@ -1,59 +0,0 @@ -From 1474fd57e606bdb00417524a7b648f7841b014c8 Mon Sep 17 00:00:00 2001 -From: Mikolaj Izdebski -Date: Fri, 28 Jun 2019 12:15:23 +0200 -Subject: [PATCH 1/3] Prefer namespaced metadata when duplicates are found - ---- - .../metadata/impl/DefaultMetadataResult.java | 33 +++++++++++-------- - 1 file changed, 19 insertions(+), 14 deletions(-) - -diff --git a/xmvn-core/src/main/java/org/fedoraproject/xmvn/metadata/impl/DefaultMetadataResult.java b/xmvn-core/src/main/java/org/fedoraproject/xmvn/metadata/impl/DefaultMetadataResult.java -index c8b63214..67bafef5 100644 ---- a/xmvn-core/src/main/java/org/fedoraproject/xmvn/metadata/impl/DefaultMetadataResult.java -+++ b/xmvn-core/src/main/java/org/fedoraproject/xmvn/metadata/impl/DefaultMetadataResult.java -@@ -94,23 +94,28 @@ class DefaultMetadataResult - } - - ArtifactMetadata otherMetadata = artifactMap.get( artifact ); -- if ( otherMetadata != null ) -+ -+ if ( otherMetadata == null ) -+ { -+ artifactMap.put( artifact, metadata ); -+ continue; -+ } -+ -+ duplicateArtifacts.add( artifact ); -+ -+ if ( ignoreDuplicates ) - { -- duplicateArtifacts.add( artifact ); -- -- if ( ignoreDuplicates ) -- { -- artifactMap.remove( artifact ); -- logger.warn( "Ignoring metadata for artifact {} as it has duplicate metadata", artifact ); -- continue; -- } -- else -- { -- logger.warn( "Duplicate metadata for artifact {}", artifact ); -- } -+ artifactMap.remove( artifact ); -+ logger.warn( "Ignoring metadata for artifact {} as it has duplicate metadata", artifact ); -+ continue; - } - -- artifactMap.put( artifact, metadata ); -+ logger.warn( "Duplicate metadata for artifact {}", artifact ); -+ -+ if ( otherMetadata.getNamespace().isEmpty() || !metadata.getNamespace().isEmpty() ) -+ { -+ artifactMap.put( artifact, metadata ); -+ } - } - } - --- -2.21.0 - diff --git a/0002-Make-xmvn-subst-honor-settings-for-ignoring-duplicat.patch b/0002-Make-xmvn-subst-honor-settings-for-ignoring-duplicat.patch deleted file mode 100644 index ee57d31..0000000 --- a/0002-Make-xmvn-subst-honor-settings-for-ignoring-duplicat.patch +++ /dev/null @@ -1,81 +0,0 @@ -From 4957492864d6a88a814bfd6f21798b52a4e70515 Mon Sep 17 00:00:00 2001 -From: Mikolaj Izdebski -Date: Sat, 29 Jun 2019 14:00:13 +0200 -Subject: [PATCH 2/3] Make xmvn-subst honor settings for ignoring duplicate - metadata - ---- - .../xmvn/tools/subst/SubstCli.java | 25 +++++++++++++------ - 1 file changed, 17 insertions(+), 8 deletions(-) - -diff --git a/xmvn-tools/xmvn-subst/src/main/java/org/fedoraproject/xmvn/tools/subst/SubstCli.java b/xmvn-tools/xmvn-subst/src/main/java/org/fedoraproject/xmvn/tools/subst/SubstCli.java -index 423b5e61..30b1ac63 100644 ---- a/xmvn-tools/xmvn-subst/src/main/java/org/fedoraproject/xmvn/tools/subst/SubstCli.java -+++ b/xmvn-tools/xmvn-subst/src/main/java/org/fedoraproject/xmvn/tools/subst/SubstCli.java -@@ -23,6 +23,7 @@ import java.util.ArrayList; - import java.util.List; - - import org.fedoraproject.xmvn.config.Configurator; -+import org.fedoraproject.xmvn.config.ResolverSettings; - import org.fedoraproject.xmvn.locator.ServiceLocator; - import org.fedoraproject.xmvn.locator.ServiceLocatorFactory; - import org.fedoraproject.xmvn.metadata.MetadataRequest; -@@ -34,26 +35,34 @@ import org.fedoraproject.xmvn.metadata.MetadataResult; - */ - public class SubstCli - { -- private final List configuredMetadataRepos; -- - private MetadataResolver metadataResolver; - -+ private ResolverSettings resolverSettings; -+ - public SubstCli( Configurator configurator, MetadataResolver metadataResolver ) - { - this.metadataResolver = metadataResolver; -- configuredMetadataRepos = configurator.getConfiguration().getResolverSettings().getMetadataRepositories(); -+ resolverSettings = configurator.getConfiguration().getResolverSettings(); -+ } -+ -+ private MetadataResult resolveMetadata( List repos ) -+ { -+ MetadataRequest request = new MetadataRequest( repos ); -+ request.setIgnoreDuplicates( resolverSettings.isIgnoreDuplicateMetadata() ); -+ MetadataResult result = metadataResolver.resolveMetadata( request ); -+ return result; - } - - private void run( SubstCliRequest cliRequest ) - { -- List metadataResolvers = new ArrayList<>(); -+ List metadataResults = new ArrayList<>(); - - if ( cliRequest.getRoot() != null ) - { - List metadataRepos = new ArrayList<>(); - Path root = Paths.get( cliRequest.getRoot() ); - -- for ( String configuredRepo : configuredMetadataRepos ) -+ for ( String configuredRepo : resolverSettings.getMetadataRepositories() ) - { - Path repoPath = Paths.get( configuredRepo ); - if ( repoPath.isAbsolute() ) -@@ -62,12 +71,12 @@ public class SubstCli - } - } - -- metadataResolvers.add( metadataResolver.resolveMetadata( new MetadataRequest( metadataRepos ) ) ); -+ metadataResults.add( resolveMetadata( metadataRepos ) ); - } - -- metadataResolvers.add( metadataResolver.resolveMetadata( new MetadataRequest( configuredMetadataRepos ) ) ); -+ metadataResults.add( resolveMetadata( resolverSettings.getMetadataRepositories() ) ); - -- ArtifactVisitor visitor = new ArtifactVisitor( cliRequest.isDebug(), metadataResolvers ); -+ ArtifactVisitor visitor = new ArtifactVisitor( cliRequest.isDebug(), metadataResults ); - - visitor.setTypes( cliRequest.getTypes() ); - visitor.setFollowSymlinks( cliRequest.isFollowSymlinks() ); --- -2.21.0 - diff --git a/0003-Fix-requires-generation-for-self-depending-packages.patch b/0003-Fix-requires-generation-for-self-depending-packages.patch deleted file mode 100644 index d722c09..0000000 --- a/0003-Fix-requires-generation-for-self-depending-packages.patch +++ /dev/null @@ -1,115 +0,0 @@ -From a07c7079d6e7ed3f799454a827836b3ca3033e45 Mon Sep 17 00:00:00 2001 -From: Mikolaj Izdebski -Date: Mon, 1 Jul 2019 12:22:04 +0200 -Subject: [PATCH 3/3] Fix requires generation for self-depending packages - ---- - .../tools/install/impl/DefaultInstaller.java | 5 ++++ - .../tools/install/impl/InstallerTest.java | 9 +++++++ - .../test/resources/self-requires-resolved.xml | 25 +++++++++++++++++++ - .../src/test/resources/self-requires.xml | 24 ++++++++++++++++++ - 4 files changed, 63 insertions(+) - create mode 100644 xmvn-tools/xmvn-install/src/test/resources/self-requires-resolved.xml - create mode 100644 xmvn-tools/xmvn-install/src/test/resources/self-requires.xml - -diff --git a/xmvn-tools/xmvn-install/src/main/java/org/fedoraproject/xmvn/tools/install/impl/DefaultInstaller.java b/xmvn-tools/xmvn-install/src/main/java/org/fedoraproject/xmvn/tools/install/impl/DefaultInstaller.java -index e051e823..671d79d3 100644 ---- a/xmvn-tools/xmvn-install/src/main/java/org/fedoraproject/xmvn/tools/install/impl/DefaultInstaller.java -+++ b/xmvn-tools/xmvn-install/src/main/java/org/fedoraproject/xmvn/tools/install/impl/DefaultInstaller.java -@@ -275,6 +275,11 @@ public class DefaultInstaller - dependency.setNamespace( resolvedMetadata.getNamespace() ); - return; - } -+ } -+ -+ for ( String version : Arrays.asList( dependency.getRequestedVersion(), Artifact.DEFAULT_VERSION ) ) -+ { -+ Artifact dependencyArtifact = dependency.toArtifact().setVersion( version ); - - // Next try system artifact resolver - ResolutionRequest request = new ResolutionRequest( dependencyArtifact ); -diff --git a/xmvn-tools/xmvn-install/src/test/java/org/fedoraproject/xmvn/tools/install/impl/InstallerTest.java b/xmvn-tools/xmvn-install/src/test/java/org/fedoraproject/xmvn/tools/install/impl/InstallerTest.java -index 48db907d..ccbbf63d 100644 ---- a/xmvn-tools/xmvn-install/src/test/java/org/fedoraproject/xmvn/tools/install/impl/InstallerTest.java -+++ b/xmvn-tools/xmvn-install/src/test/java/org/fedoraproject/xmvn/tools/install/impl/InstallerTest.java -@@ -204,6 +204,15 @@ public class InstallerTest - installRoot.resolve( "usr/share/maven-metadata/test-pkg.xml" ) ); - } - -+ @Test -+ public void testSelfRequires() -+ throws Exception -+ { -+ install( "self-requires.xml" ); -+ assertMetadataEqual( getResource( "self-requires-resolved.xml" ), -+ installRoot.resolve( "usr/share/maven-metadata/test-pkg.xml" ) ); -+ } -+ - @Test - public void testSubpackage() - throws Exception -diff --git a/xmvn-tools/xmvn-install/src/test/resources/self-requires-resolved.xml b/xmvn-tools/xmvn-install/src/test/resources/self-requires-resolved.xml -new file mode 100644 -index 00000000..59e8ad61 ---- /dev/null -+++ b/xmvn-tools/xmvn-install/src/test/resources/self-requires-resolved.xml -@@ -0,0 +1,25 @@ -+ -+ -+ bfb4d47f-4bf2-49bc-bd85-1d3528e97746 -+ -+ -+ org.apache.maven.wagon -+ wagon-provider-api -+ 3.3.2 -+ ???example.jar -+ -+ -+ org.apache.maven.wagon -+ wagon-file -+ 3.3.2 -+ ???example.jar -+ -+ -+ org.apache.maven.wagon -+ wagon-provider-api -+ 3.3.2 -+ -+ -+ -+ -+ -diff --git a/xmvn-tools/xmvn-install/src/test/resources/self-requires.xml b/xmvn-tools/xmvn-install/src/test/resources/self-requires.xml -new file mode 100644 -index 00000000..16a78328 ---- /dev/null -+++ b/xmvn-tools/xmvn-install/src/test/resources/self-requires.xml -@@ -0,0 +1,24 @@ -+ -+ -+ -+ -+ org.apache.maven.wagon -+ wagon-provider-api -+ 3.3.2 -+ src/test/resources/example.jar -+ -+ -+ org.apache.maven.wagon -+ wagon-file -+ 3.3.2 -+ src/test/resources/example.jar -+ -+ -+ org.apache.maven.wagon -+ wagon-provider-api -+ 3.3.2 -+ -+ -+ -+ -+ -\ No newline at end of file --- -2.21.0 - diff --git a/sources b/sources index b8c592c..727b647 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (xmvn-3.1.0.tar.xz) = 3351f00c81039cc2f856ac59562bcd6f6bcef44b86e9e1b31eec9828ee1ade227b36ef29e2a4981193e7c69e8cea07b7f9616b678ac150dfaccc688e465f7478 +SHA512 (5d1e284.tar.gz) = 6f87dd21983059f41af9a6f16a48712f7f1bef146ce60530a9dea19cf2a611b09c98f7165a00585bce1441f6d7d362a9ade441069a36b5406fde7d23789f8263 diff --git a/xmvn.spec b/xmvn.spec index 4018f9c..daede35 100644 --- a/xmvn.spec +++ b/xmvn.spec @@ -4,18 +4,15 @@ Name: xmvn -Version: 3.1.0 -Release: 2%{?dist} +Version: 4.0.0~20191027.5d1e284 +Release: 1%{?dist} Summary: Local Extensions for Apache Maven License: ASL 2.0 URL: https://fedora-java.github.io/xmvn/ BuildArch: noarch -Source0: https://github.com/fedora-java/xmvn/releases/download/%{version}/xmvn-%{version}.tar.xz - -Patch1: 0001-Prefer-namespaced-metadata-when-duplicates-are-found.patch -Patch2: 0002-Make-xmvn-subst-honor-settings-for-ignoring-duplicat.patch -Patch3: 0003-Fix-requires-generation-for-self-depending-packages.patch +#Source0: https://github.com/fedora-java/xmvn/releases/download/%{version}/xmvn-%{version}.tar.xz +Source0: https://github.com/fedora-java/xmvn/archive/5d1e284.tar.gz BuildRequires: maven >= 3.5.0 BuildRequires: maven-local @@ -180,10 +177,7 @@ Summary: API documentation for %{name} This package provides %{summary}. %prep -%setup -q -%patch1 -p1 -%patch2 -p1 -%patch3 -p1 +%setup -q -n xmvn-5d1e284e74e4315040bfd231e0a5638b9199b7e6 # Bisect IT has no chances of working in local, offline mode, without # network access - it needs to access remote repositories. @@ -326,6 +320,9 @@ cp -P ${maven_home}/bin/m2.conf %{buildroot}%{_datadir}/%{name}/bin/ %doc LICENSE NOTICE %changelog +* Mon Oct 28 2019 Mikolaj Izdebski - 4.0.0~20191027.5d1e284-1 +- Update to upstream snapshot of 4.0.0 + * Fri Jun 28 2019 Mikolaj Izdebski - 3.1.0-2 - Prefer namespaced metadata when duplicates are found