You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by ff...@apache.org on 2014/02/27 10:31:14 UTC
git commit: [KARAF-2791]AddFeaturesToRepoMojo should support read
version from dependency features (cherry picked from commit
faa26adf58edac20cb80eb946dad4f1493dfdc41)
Repository: karaf
Updated Branches:
refs/heads/karaf-3.0.x 220e942a6 -> 3b41a0288
[KARAF-2791]AddFeaturesToRepoMojo should support read version from dependency features
(cherry picked from commit faa26adf58edac20cb80eb946dad4f1493dfdc41)
Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/3b41a028
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/3b41a028
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/3b41a028
Branch: refs/heads/karaf-3.0.x
Commit: 3b41a0288467e34ff4b6bb77324974b073eb441a
Parents: 220e942
Author: Freeman Fang <fr...@gmail.com>
Authored: Thu Feb 27 17:29:36 2014 +0800
Committer: Freeman Fang <fr...@gmail.com>
Committed: Thu Feb 27 17:30:55 2014 +0800
----------------------------------------------------------------------
.../tooling/features/AbstractFeatureMojo.java | 18 +++++++++++++++++-
.../karaf/tooling/features/model/Repository.java | 9 +++++++--
2 files changed, 24 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/karaf/blob/3b41a028/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/AbstractFeatureMojo.java
----------------------------------------------------------------------
diff --git a/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/AbstractFeatureMojo.java b/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/AbstractFeatureMojo.java
index 3d52f2d..5e9f1cb 100644
--- a/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/AbstractFeatureMojo.java
+++ b/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/AbstractFeatureMojo.java
@@ -26,6 +26,7 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
+import org.apache.felix.utils.version.VersionRange;
import org.apache.karaf.tooling.features.model.ArtifactRef;
import org.apache.karaf.tooling.features.model.Feature;
import org.apache.karaf.tooling.features.model.Repository;
@@ -34,6 +35,8 @@ import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.plugin.MojoExecutionException;
+import org.osgi.framework.Version;
+
/**
* Common functionality for mojos that need to reolve features
*/
@@ -185,6 +188,19 @@ public abstract class AbstractFeatureMojo extends MojoSupport {
if (version != null) {
// looking for a specific feature with name and version
f = featuresMap.get(feature + "/" + version);
+ if (f == null) {
+ //it's probably is a version range so try to use VersionRange Utils
+ VersionRange versionRange = new VersionRange(version);
+ for (String key : featuresMap.keySet()) {
+ String[] nameVersion = key.split("/");
+ if (feature.equals(nameVersion[0])) {
+ Version ver = new Version(featuresMap.get(key).getVersion());
+ if (versionRange.contains(ver)) {
+ f = featuresMap.get(key);
+ }
+ }
+ }
+ }
} else {
// looking for the first feature name (whatever the version is)
for (String key : featuresMap.keySet()) {
@@ -251,4 +267,4 @@ public abstract class AbstractFeatureMojo extends MojoSupport {
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/karaf/blob/3b41a028/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/model/Repository.java
----------------------------------------------------------------------
diff --git a/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/model/Repository.java b/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/model/Repository.java
index ad5152d..f3210e2 100644
--- a/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/model/Repository.java
+++ b/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/model/Repository.java
@@ -99,7 +99,12 @@ public class Repository {
NodeList featureNodes = e.getElementsByTagName("feature");
for (int j = 0; j < featureNodes.getLength(); j++) {
Element b = (Element) featureNodes.item(j);
- f.addDependency(b.getTextContent());
+ if (b.getAttribute("version") != null
+ && b.getAttribute("version").length() > 0) {
+ f.addDependency(b.getTextContent() + "/" + b.getAttribute("version"));
+ } else {
+ f.addDependency(b.getTextContent());
+ }
}
NodeList configNodes = e.getElementsByTagName("config");
for (int j = 0; j < configNodes.getLength(); j++) {
@@ -143,4 +148,4 @@ public class Repository {
return (value == null || value == 0) ? defaultValue : value;
}
-}
\ No newline at end of file
+}