From fa4de67d690423739343bc1a24f3e4536d65a900 Mon Sep 17 00:00:00 2001 From: Mikolaj Izdebski Date: Fri, 28 Mar 2014 19:38:30 +0100 Subject: [PATCH 3/3] Override extensions of skipped artifacts Artifacts which are not installed must set their exiension to "pom", otherwise XMvn Installed would fail with "POM artifact has extension different from 'pom': jar". This limitation is fixed in XMvn 2.x. --- .../java/org/fedoraproject/maven/rpminstall/plugin/InstallMojo.java | 3 ++- .../main/java/org/fedoraproject/maven/rpminstall/plugin/Utils.java | 5 ++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/xmvn-mojo/src/main/java/org/fedoraproject/maven/rpminstall/plugin/InstallMojo.java b/xmvn-mojo/src/main/java/org/fedoraproject/maven/rpminstall/plugin/InstallMojo.java index bbff4c2..3a25171 100644 --- a/xmvn-mojo/src/main/java/org/fedoraproject/maven/rpminstall/plugin/InstallMojo.java +++ b/xmvn-mojo/src/main/java/org/fedoraproject/maven/rpminstall/plugin/InstallMojo.java @@ -125,7 +125,7 @@ public class InstallMojo { for ( MavenProject project : reactorProjects ) { - Artifact mainArtifact = aetherArtifact( project.getArtifact() ); + Artifact mainArtifact = aetherArtifact( project.getArtifact(), null ); mainArtifact = mainArtifact.setFile( project.getArtifact().getFile() ); logger.debug( "Installing main artifact " + mainArtifact ); logger.debug( "Artifact file is " + mainArtifact.getFile() ); @@ -134,6 +134,7 @@ public class InstallMojo { logger.info( "Skipping installation of artifact " + mainArtifact.getFile() + ": artifact file is not a regular file" ); + mainArtifact = aetherArtifact( project.getArtifact(), "pom" ); mainArtifact = mainArtifact.setFile( null ); } diff --git a/xmvn-mojo/src/main/java/org/fedoraproject/maven/rpminstall/plugin/Utils.java b/xmvn-mojo/src/main/java/org/fedoraproject/maven/rpminstall/plugin/Utils.java index 623e414..31d7da9 100644 --- a/xmvn-mojo/src/main/java/org/fedoraproject/maven/rpminstall/plugin/Utils.java +++ b/xmvn-mojo/src/main/java/org/fedoraproject/maven/rpminstall/plugin/Utils.java @@ -35,7 +35,7 @@ import org.fedoraproject.maven.utils.ArtifactUtils; */ class Utils { - public static Artifact aetherArtifact( org.apache.maven.artifact.Artifact mavenArtifact ) + public static Artifact aetherArtifact( org.apache.maven.artifact.Artifact mavenArtifact, String overrideExtension ) { String groupId = mavenArtifact.getGroupId(); String artifactId = mavenArtifact.getArtifactId(); @@ -50,6 +50,9 @@ class Utils File artifactFile = mavenArtifact.getFile(); + if ( overrideExtension != null ) + extension = overrideExtension; + Artifact artifact = new DefaultArtifact( groupId, artifactId, classifier, extension, version ); artifact = ArtifactUtils.setStereotype( artifact, stereotype ); artifact = artifact.setFile( artifactFile ); -- 1.8.5.3