X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=features-parent%2Fpom.xml;h=131b5d7ce1000246b13e0d9f2a4f2f8089bbcfea;hb=refs%2Fheads%2Fstable%2Fcarbon;hp=5b359524cf527575342af82723cd85959a095a5f;hpb=acde8d725e94c53f3bf826f6b5f7ed50b43e6890;p=odlparent.git diff --git a/features-parent/pom.xml b/features-parent/pom.xml index 5b359524c..131b5d7ce 100644 --- a/features-parent/pom.xml +++ b/features-parent/pom.xml @@ -23,13 +23,13 @@ org.opendaylight.odlparent odlparent - 1.6.0-SNAPSHOT + 1.8.5-SNAPSHOT ../odlparent - org.opendaylight.odlparent features-parent pom + ODL :: odlparent :: ${project.artifactId} features.xml @@ -49,6 +49,7 @@ maven-dependency-plugin + 2.10 generate-resources @@ -136,23 +137,48 @@ args[2] = dependencyVersion return "mvn:" + args.join("/") } - throw new IllegalArgumentException("Feature dependency $groupId:$artifactId is not dependecy of project.") + throw new IllegalArgumentException("Feature dependency $groupId:$artifactId is not a dependency in the project pom.xml.") } - - def updateMavenDependency = { dep -> - def mvnUrl = dep.text() - if(mvnUrl.startsWith("mvn:")) { - def components = mvnUrl.substring(4).split("/") - if(components[2] == versionPlaceholder) { - dep.value = updatedURLFromProject(components) - } - } + def updateMavenDependency = { dep -> + def mvnUrl = dep.text() + def prefix = "" + if (mvnUrl.startsWith("wrap:")) { + prefix = "wrap:" + mvnUrl = mvnUrl.substring(5) + } + if (mvnUrl.startsWith("mvn:") && mvnUrl.indexOf(versionPlaceholder) >= 0) { + // Process property place-holders + def dollarIndex; + while ((dollarIndex = mvnUrl.indexOf("\${")) >= 0) { + def closingBrace = mvnUrl.indexOf("}", dollarIndex); + if (closingBrace > dollarIndex) { + def propKey = mvnUrl.substring(dollarIndex + 2, closingBrace); + def propVal = project.properties[propKey]; + mvnUrl = mvnUrl.replace("\${${propKey}}", propVal); + } else { + println "[WARN] Malformed Maven URL: ${mvnUrl}"; + break; + } + } + def components = mvnUrl.substring(4).split("/") + if (components[2].startsWith(versionPlaceholder)) { + def suffix = ""; + if (components[2].length() > versionPlaceholder.length()) { + suffix = components[2].substring(versionPlaceholder.length()) + components[2] = versionPlaceholder + } + dep.value = prefix + updatedURLFromProject(components) + suffix + } + } } def featureFile = new File(project.basedir,featureFilePath) def root = new XmlParser().parse(featureFile) + println "[INFO] Updating repository declarations" + root.repository.each updateMavenDependency + root.feature.each { feature -> println "[INFO] Processing feature: ${feature.@name}" feature.bundle.each updateMavenDependency @@ -200,6 +226,7 @@ org.codehaus.mojo build-helper-maven-plugin + 1.12 generate-resources @@ -232,8 +259,8 @@ - org.apache.maven.plugins maven-resources-plugin + 3.0.1 filter @@ -245,10 +272,16 @@ - org.apache.maven.plugins maven-surefire-plugin + ${maven.surefire.version} ${skip.karaf.featureTest} + + + org.opendaylight.odlparent + opendaylight-karaf-empty + 1.8.5-SNAPSHOT + org.opendaylight.odlparent:features-test @@ -296,6 +329,12 @@ + + + org.apache.servicemix.tooling + depends-maven-plugin + maven-dependency-plugin @@ -312,11 +351,9 @@ build-helper-maven-plugin - org.apache.maven.plugins maven-resources-plugin - org.apache.maven.plugins maven-surefire-plugin @@ -327,8 +364,32 @@ org.opendaylight.odlparent features-test - 1.6.0-SNAPSHOT + 1.8.5-SNAPSHOT + test + + + + org.opendaylight.odlparent + opendaylight-karaf-empty + 1.8.5-SNAPSHOT + zip test + + + ${odl.site.url}/${project.groupId}/${stream}/${project.artifactId}/ + + + + opendaylight-site + ${nexus.site.url}/${project.artifactId}/ + +