You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by cz...@apache.org on 2012/02/08 10:10:59 UTC
svn commit: r1241825 -
/sling/trunk/maven/maven-sling-plugin/src/main/java/org/apache/sling/maven/bundlesupport/BundleInstallFileMojo.java
Author: cziegeler
Date: Wed Feb 8 09:10:58 2012
New Revision: 1241825
URL: http://svn.apache.org/viewvc?rev=1241825&view=rev
Log:
SLING-2404 : maven-sling-plugin install-file goal needs to support Maven artifacts that use classifiers in their coordinates. Applied patch from Craig S. Dickson
Modified:
sling/trunk/maven/maven-sling-plugin/src/main/java/org/apache/sling/maven/bundlesupport/BundleInstallFileMojo.java
Modified: sling/trunk/maven/maven-sling-plugin/src/main/java/org/apache/sling/maven/bundlesupport/BundleInstallFileMojo.java
URL: http://svn.apache.org/viewvc/sling/trunk/maven/maven-sling-plugin/src/main/java/org/apache/sling/maven/bundlesupport/BundleInstallFileMojo.java?rev=1241825&r1=1241824&r2=1241825&view=diff
==============================================================================
--- sling/trunk/maven/maven-sling-plugin/src/main/java/org/apache/sling/maven/bundlesupport/BundleInstallFileMojo.java (original)
+++ sling/trunk/maven/maven-sling-plugin/src/main/java/org/apache/sling/maven/bundlesupport/BundleInstallFileMojo.java Wed Feb 8 09:10:58 2012
@@ -74,7 +74,13 @@ public class BundleInstallFileMojo exten
private String packaging = "jar";
/**
- * A string of the form groupId:artifactId:version[:packaging].
+ * The classifier of the artifact to install
+ * @parameter expression="${sling.classifier}"
+ */
+ private String classifier;
+
+ /**
+ * A string of the form groupId:artifactId:version[:packaging[:classifier]].
* @parameter expression="${sling.artifact}"
*/
private String artifact;
@@ -128,7 +134,7 @@ public class BundleInstallFileMojo exten
* @readonly
*/
private ArtifactRepository localRepository;
-
+
@Override
protected String getBundleFileName() throws MojoExecutionException {
String fileName = bundleFileName;
@@ -139,7 +145,7 @@ public class BundleInstallFileMojo exten
throw new MojoExecutionException("Must provide either sling.file or sling.artifact parameters");
}
}
-
+
return fileName;
}
@@ -150,17 +156,19 @@ public class BundleInstallFileMojo exten
}
if (artifactId == null) {
String[] tokens = StringUtils.split(artifact, ":");
- if (tokens.length != 3 && tokens.length != 4) {
+ if (tokens.length != 3 && tokens.length != 4 && tokens.length != 5) {
throw new MojoExecutionException("Invalid artifact, you must specify "
- + "groupId:artifactId:version[:packaging] " + artifact);
+ + "groupId:artifactId:version[:packaging[:classifier]] " + artifact);
}
groupId = tokens[0];
artifactId = tokens[1];
version = tokens[2];
- if (tokens.length == 4)
+ if (tokens.length >= 4)
packaging = tokens[3];
+ if (tokens.length == 5)
+ classifier = tokens[4];
}
- Artifact packageArtifact = artifactFactory.createBuildArtifact(groupId, artifactId, version, packaging);
+ Artifact packageArtifact = artifactFactory.createArtifactWithClassifier(groupId, artifactId, version, packaging, classifier);
if (pomRemoteRepositories == null) {
pomRemoteRepositories = new ArrayList();