From 924c65a78ab165e47e22e332e43cabf5375e5f9f Mon Sep 17 00:00:00 2001 From: Stanislav Ochotnicky Date: Mon, 7 Oct 2013 17:37:24 +0200 Subject: [PATCH] Apply patch for rhbz#1015596 --- ...-into-account-during-dependency-extr.patch | 132 ++++++++++++++++++ xmvn.spec | 8 +- 2 files changed, 139 insertions(+), 1 deletion(-) create mode 100644 0001-Take-stereotypes-into-account-during-dependency-extr.patch diff --git a/0001-Take-stereotypes-into-account-during-dependency-extr.patch b/0001-Take-stereotypes-into-account-during-dependency-extr.patch new file mode 100644 index 0000000..bb21672 --- /dev/null +++ b/0001-Take-stereotypes-into-account-during-dependency-extr.patch @@ -0,0 +1,132 @@ +From 552733c90772f5e1a698aa6c2bef3cff41dc11a5 Mon Sep 17 00:00:00 2001 +From: Mikolaj Izdebski +Date: Mon, 7 Oct 2013 16:31:54 +0200 +Subject: [PATCH] Take stereotypes into account during dependency extraction + +--- + .../dependency/impl/BuildDependencyVisitor.java | 16 ++++++---- + .../dependency/impl/RuntimeDependencyVisitor.java | 10 +++--- + .../fedoraproject/maven/utils/ArtifactUtils.java | 37 ++++++++++++++++++++++ + 3 files changed, 53 insertions(+), 10 deletions(-) + +diff --git a/xmvn-core/src/main/java/org/fedoraproject/maven/dependency/impl/BuildDependencyVisitor.java b/xmvn-core/src/main/java/org/fedoraproject/maven/dependency/impl/BuildDependencyVisitor.java +index 04dff90..0d47850 100644 +--- a/xmvn-core/src/main/java/org/fedoraproject/maven/dependency/impl/BuildDependencyVisitor.java ++++ b/xmvn-core/src/main/java/org/fedoraproject/maven/dependency/impl/BuildDependencyVisitor.java +@@ -75,9 +75,11 @@ class BuildDependencyVisitor + if ( !buildScopes.contains( dependency.getScope() ) ) + return; + +- result.addDependencyArtifact( new DefaultArtifact( dependency.getGroupId(), dependency.getArtifactId(), +- dependency.getClassifier(), dependency.getType(), +- dependency.getVersion() ) ); ++ result.addDependencyArtifact( ArtifactUtils.createTypedArtifact( dependency.getGroupId(), ++ dependency.getArtifactId(), ++ dependency.getType(), ++ dependency.getClassifier(), ++ dependency.getVersion() ) ); + } + + @Override +@@ -111,8 +113,10 @@ class BuildDependencyVisitor + if ( !runtimeScopes.contains( dependency.getScope() ) ) + return; + +- result.addDependencyArtifact( new DefaultArtifact( dependency.getGroupId(), dependency.getArtifactId(), +- dependency.getClassifier(), dependency.getType(), +- dependency.getVersion() ) ); ++ result.addDependencyArtifact( ArtifactUtils.createTypedArtifact( dependency.getGroupId(), ++ dependency.getArtifactId(), ++ dependency.getType(), ++ dependency.getClassifier(), ++ dependency.getVersion() ) ); + } + } +diff --git a/xmvn-core/src/main/java/org/fedoraproject/maven/dependency/impl/RuntimeDependencyVisitor.java b/xmvn-core/src/main/java/org/fedoraproject/maven/dependency/impl/RuntimeDependencyVisitor.java +index 6ef22b9..4bcc8ad 100644 +--- a/xmvn-core/src/main/java/org/fedoraproject/maven/dependency/impl/RuntimeDependencyVisitor.java ++++ b/xmvn-core/src/main/java/org/fedoraproject/maven/dependency/impl/RuntimeDependencyVisitor.java +@@ -19,8 +19,8 @@ import java.util.Arrays; + import java.util.List; + + import org.apache.maven.model.Dependency; +-import org.eclipse.aether.artifact.DefaultArtifact; + import org.fedoraproject.maven.model.AbstractModelVisitor; ++import org.fedoraproject.maven.utils.ArtifactUtils; + + /** + * @author Mikolaj Izdebski +@@ -43,8 +43,10 @@ class RuntimeDependencyVisitor + if ( !scopes.contains( dependency.getScope() ) ) + return; + +- result.addDependencyArtifact( new DefaultArtifact( dependency.getGroupId(), dependency.getArtifactId(), +- dependency.getClassifier(), dependency.getType(), +- dependency.getVersion() ) ); ++ result.addDependencyArtifact( ArtifactUtils.createTypedArtifact( dependency.getGroupId(), ++ dependency.getArtifactId(), ++ dependency.getType(), ++ dependency.getClassifier(), ++ dependency.getVersion() ) ); + } + } +diff --git a/xmvn-core/src/main/java/org/fedoraproject/maven/utils/ArtifactUtils.java b/xmvn-core/src/main/java/org/fedoraproject/maven/utils/ArtifactUtils.java +index b6ef806..b4a4062 100644 +--- a/xmvn-core/src/main/java/org/fedoraproject/maven/utils/ArtifactUtils.java ++++ b/xmvn-core/src/main/java/org/fedoraproject/maven/utils/ArtifactUtils.java +@@ -23,10 +23,13 @@ import java.util.HashMap; + import java.util.Iterator; + import java.util.Map; + ++import org.codehaus.plexus.util.StringUtils; + import org.codehaus.plexus.util.xml.Xpp3Dom; + import org.codehaus.plexus.util.xml.pull.XmlSerializer; + import org.eclipse.aether.artifact.Artifact; ++import org.eclipse.aether.artifact.ArtifactType; + import org.eclipse.aether.artifact.DefaultArtifact; ++import org.eclipse.aether.artifact.DefaultArtifactType; + + /** + * @author Mikolaj Izdebski +@@ -179,4 +182,38 @@ public class ArtifactUtils + Xpp3Dom dom = toXpp3Dom( artifact, tag ); + dom.writeToSerializer( namespace, serializer ); + } ++ ++ private static final Map stereotypes = new HashMap<>(); ++ ++ private static void addStereotype( String type, String extension, String classifier ) ++ { ++ stereotypes.put( type, new DefaultArtifactType( type, extension, classifier, "java" ) ); ++ } ++ ++ // The list was taken from MavenRepositorySystemUtils in maven-aether-provider. ++ static ++ { ++ addStereotype( "maven-plugin", "jar", "" ); ++ addStereotype( "ejb", "jar", "" ); ++ addStereotype( "ejb-client", "jar", "client" ); ++ addStereotype( "test-jar", "jar", "tests" ); ++ addStereotype( "javadoc", "jar", "javadoc" ); ++ addStereotype( "java-source", "jar", "sources" ); ++ } ++ ++ public static Artifact createTypedArtifact( String groupId, String artifactId, String type, String classifier, ++ String version ) ++ { ++ String extension = type; ++ ++ ArtifactType artifactType = stereotypes.get( type ); ++ if ( artifactType != null ) ++ { ++ extension = artifactType.getExtension(); ++ if ( StringUtils.isEmpty( classifier ) ) ++ classifier = artifactType.getClassifier(); ++ } ++ ++ return new DefaultArtifact( groupId, artifactId, classifier, extension, version ); ++ } + } +-- +1.8.3.1 + diff --git a/xmvn.spec b/xmvn.spec index 4d3c919..3c80722 100644 --- a/xmvn.spec +++ b/xmvn.spec @@ -1,12 +1,14 @@ Name: xmvn Version: 1.1.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Local Extensions for Apache Maven License: ASL 2.0 URL: http://mizdebsk.fedorapeople.org/xmvn BuildArch: noarch Source0: https://fedorahosted.org/released/%{name}/%{name}-%{version}.tar.xz +Patch1: 0001-Take-stereotypes-into-account-during-dependency-extr.patch + BuildRequires: maven >= 3.1.0 BuildRequires: maven-local BuildRequires: beust-jcommander @@ -32,6 +34,7 @@ This package provides %{summary}. %prep %setup -q +%patch1 -p1 # remove dependency plugin maven-binaries execution # we provide apache-maven by symlink @@ -141,6 +144,9 @@ end %doc LICENSE NOTICE %changelog +* Mon Oct 07 2013 Stanislav Ochotnicky - 1.1.0-2 +- Apply patch for rhbz#1015596 + * Tue Oct 01 2013 Stanislav Ochotnicky - 1.1.0-1 - Update to upstream version 1.1.0