You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by rs...@apache.org on 2008/05/14 10:11:24 UTC
svn commit: r656143 -
/incubator/tuscany/java/sca/itest/osgi-tuscany/tuscany-manifest/src/main/java/org/apache/tuscany/sca/manifest/ManifestBundleActivator.java
Author: rsivaram
Date: Wed May 14 01:11:23 2008
New Revision: 656143
URL: http://svn.apache.org/viewvc?rev=656143&view=rev
Log:
Add versions to 3rd party virtual bundles in osgi-tuscany
Modified:
incubator/tuscany/java/sca/itest/osgi-tuscany/tuscany-manifest/src/main/java/org/apache/tuscany/sca/manifest/ManifestBundleActivator.java
Modified: incubator/tuscany/java/sca/itest/osgi-tuscany/tuscany-manifest/src/main/java/org/apache/tuscany/sca/manifest/ManifestBundleActivator.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-tuscany/tuscany-manifest/src/main/java/org/apache/tuscany/sca/manifest/ManifestBundleActivator.java?rev=656143&r1=656142&r2=656143&view=diff
==============================================================================
--- incubator/tuscany/java/sca/itest/osgi-tuscany/tuscany-manifest/src/main/java/org/apache/tuscany/sca/manifest/ManifestBundleActivator.java (original)
+++ incubator/tuscany/java/sca/itest/osgi-tuscany/tuscany-manifest/src/main/java/org/apache/tuscany/sca/manifest/ManifestBundleActivator.java Wed May 14 01:11:23 2008
@@ -14,6 +14,8 @@
import java.util.jar.JarInputStream;
import java.util.jar.JarOutputStream;
import java.util.jar.Manifest;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
import java.util.zip.ZipEntry;
import org.osgi.framework.Bundle;
@@ -229,6 +231,7 @@
attributes.putValue("Bundle-ClassPath", bundleName);
String packages = getPackagesInJar(bundleName, jar);
+ String version = getJarVersion(bundleName);
attributes.remove(new Attributes.Name("Require-Bundle"));
attributes.remove(new Attributes.Name("Import-Package"));
@@ -236,7 +239,7 @@
if (attributes.getValue("Bundle-SymbolicName") == null)
attributes.putValue("Bundle-SymbolicName", bundleName);
if (attributes.getValue("Bundle-Version") == null)
- attributes.putValue("Bundle-Version", "1.0.0");
+ attributes.putValue("Bundle-Version", version);
// Existing export statements in bundles may contain versions, so they should be used as is
// SDO exports are not sufficient, and should be changed
if (attributes.getValue("Export-Package") == null || bundleName.startsWith("tuscany-sdo-impl")) {
@@ -283,5 +286,19 @@
}
return pkgBuf.toString();
}
+
+ private String getJarVersion(String bundleName) {
+ Pattern pattern = Pattern.compile("-([0-9.]+)");
+ Matcher matcher = pattern.matcher(bundleName);
+ String version = "1.0.0";
+ if (matcher.find()) {
+ version = matcher.group();
+ if (version.endsWith("."))
+ version = version.substring(1, version.length()-1);
+ else
+ version = version.substring(1);
+ }
+ return version;
+ }
}