Author: bdelacretaz
Date: Mon Dec 21 15:52:15 2015
New Revision: 1721201
URL: http://svn.apache.org/viewvc?rev=1721201&view=rev
Log:
SLING-5379 - use BundleFileProcessor
Modified:
sling/trunk/tooling/maven/slingstart-maven-plugin/src/main/java/org/apache/sling/maven/slingstart/PreparePackageMojo.java
Modified:
sling/trunk/tooling/maven/slingstart-maven-plugin/src/main/java/org/apache/sling/maven/slingstart/PreparePackageMojo.java
URL:
http://svn.apache.org/viewvc/sling/trunk/tooling/maven/slingstart-maven-plugin/src/main/java/org/apache/sling/maven/slingstart/PreparePackageMojo.java?rev=1721201&r1=1721200&r2=1721201&view=diff
==============================================================================
---
sling/trunk/tooling/maven/slingstart-maven-plugin/src/main/java/org/apache/sling/maven/slingstart/PreparePackageMojo.java
(original)
+++
sling/trunk/tooling/maven/slingstart-maven-plugin/src/main/java/org/apache/sling/maven/slingstart/PreparePackageMojo.java
Mon Dec 21 15:52:15 2015
@@ -48,7 +48,7 @@ import org.apache.maven.plugins.annotati
import org.apache.maven.plugins.annotations.LifecyclePhase;
import org.apache.maven.plugins.annotations.Mojo;
import org.apache.maven.plugins.annotations.ResolutionScope;
-import org.apache.sling.commons.osgi.BundleUtil;
+import org.apache.sling.commons.osgi.BundleFileProcessor;
import org.apache.sling.provisioning.model.ArtifactGroup;
import org.apache.sling.provisioning.model.Configuration;
import org.apache.sling.provisioning.model.Feature;
@@ -87,6 +87,34 @@ public class PreparePackageMojo extends
private static final String PROPERTIES_FILE = "sling_install.properties";
+ /** BundleFileProcessor that can change the bundle symbolic name */
+ static class BSNRenamer extends BundleFileProcessor {
+ private final String newBSN;
+
+ BSNRenamer(File input, File outputFolder, String newBSN) {
+ super(input, outputFolder);
+ this.newBSN = newBSN;
+ }
+
+ protected Manifest processManifest(Manifest inputMF) {
+ Attributes inputAttrs = inputMF.getMainAttributes();
+ String orgBSN = inputAttrs.getValue("Bundle-SymbolicName");
+ Manifest newMF = new Manifest(inputMF);
+ Attributes outputAttrs = newMF.getMainAttributes();
+ outputAttrs.putValue("Bundle-SymbolicName", newBSN);
+ outputAttrs.putValue("X-Original-Bundle-SymbolicName", orgBSN);
+ return newMF;
+ }
+
+ protected String getTargetFilename(Manifest inputJarManifest) {
+ String bver =
inputJarManifest.getMainAttributes().getValue("Bundle-Version");
+ if (bver == null) {
+ bver = "0.0.0";
+ }
+ return newBSN + "-" + bver + ".jar";
+ }
+ }
+
/**
* To look up Archiver/UnArchiver implementations
*/
@@ -238,7 +266,7 @@ public class PreparePackageMojo extends
if (newBSN != null) {
try {
getTmpDir().mkdirs();
- artifactFile = BundleUtil.renameBSN(artifactFile,
newBSN, getTmpDir());
+ artifactFile = new BSNRenamer(artifactFile,
getTmpDir(), newBSN).process();
} catch (IOException e) {
throw new MojoExecutionException("Unable to rename
bundle BSN to " + newBSN + " for " + artifactFile, e);
}