You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by ro...@apache.org on 2018/07/16 20:03:38 UTC
svn commit: r1836064 - in /aries/trunk/spi-fly/spi-fly-dynamic-bundle: ./
src/main/java/org/apache/aries/spifly/dynamic/
src/test/java/org/apache/aries/spifly/dynamic/
Author: rotty3000
Date: Mon Jul 16 20:03:38 2018
New Revision: 1836064
URL: http://svn.apache.org/viewvc?rev=1836064&view=rev
Log:
ARIES-1814 Solve the start order limitations with SPI Fly by changing the verification approach to rely on uses constraints instead of package attributes
Signed-off-by: Raymond Auge <ro...@apache.org>
Modified:
aries/trunk/spi-fly/spi-fly-dynamic-bundle/pom.xml
aries/trunk/spi-fly/spi-fly-dynamic-bundle/src/main/java/org/apache/aries/spifly/dynamic/ClientWeavingHook.java
aries/trunk/spi-fly/spi-fly-dynamic-bundle/src/test/java/org/apache/aries/spifly/dynamic/ClientWeavingHookGenericCapabilityTest.java
aries/trunk/spi-fly/spi-fly-dynamic-bundle/src/test/java/org/apache/aries/spifly/dynamic/ClientWeavingHookOSGi43Test.java
aries/trunk/spi-fly/spi-fly-dynamic-bundle/src/test/java/org/apache/aries/spifly/dynamic/ClientWeavingHookTest.java
Modified: aries/trunk/spi-fly/spi-fly-dynamic-bundle/pom.xml
URL: http://svn.apache.org/viewvc/aries/trunk/spi-fly/spi-fly-dynamic-bundle/pom.xml?rev=1836064&r1=1836063&r2=1836064&view=diff
==============================================================================
--- aries/trunk/spi-fly/spi-fly-dynamic-bundle/pom.xml (original)
+++ aries/trunk/spi-fly/spi-fly-dynamic-bundle/pom.xml Mon Jul 16 20:03:38 2018
@@ -124,7 +124,8 @@
</Private-Package>
<Embed-Dependency>org.apache.aries.spifly.*;scope=compile;inline=true</Embed-Dependency>
<Provide-Capability>
- osgi.extender;osgi.extender=osgi.serviceloader.registrar;version:Version=1.0,osgi.extender;osgi.extender=osgi.serviceloader.processor;version:Version=1.0
+ osgi.extender;osgi.extender=osgi.serviceloader.registrar;version:Version=1.0,
+ osgi.extender;osgi.extender=osgi.serviceloader.processor;version:Version=1.0;uses:="org.apache.aries.spifly"
</Provide-Capability>
</instructions>
</configuration>
Modified: aries/trunk/spi-fly/spi-fly-dynamic-bundle/src/main/java/org/apache/aries/spifly/dynamic/ClientWeavingHook.java
URL: http://svn.apache.org/viewvc/aries/trunk/spi-fly/spi-fly-dynamic-bundle/src/main/java/org/apache/aries/spifly/dynamic/ClientWeavingHook.java?rev=1836064&r1=1836063&r2=1836064&view=diff
==============================================================================
--- aries/trunk/spi-fly/spi-fly-dynamic-bundle/src/main/java/org/apache/aries/spifly/dynamic/ClientWeavingHook.java (original)
+++ aries/trunk/spi-fly/spi-fly-dynamic-bundle/src/main/java/org/apache/aries/spifly/dynamic/ClientWeavingHook.java Mon Jul 16 20:03:38 2018
@@ -38,13 +38,7 @@ public class ClientWeavingHook implement
ClientWeavingHook(BundleContext context, DynamicWeavingActivator dwActivator) {
activator = dwActivator;
- Bundle b = context.getBundle();
- String bver = b.getVersion().toString();
- String bsn = b.getSymbolicName();
-
- addedImport = Util.class.getPackage().getName() +
- ";bundle-symbolic-name=" + bsn +
- ";bundle-version=" + bver;
+ addedImport = Util.class.getPackage().getName();
}
@Override
Modified: aries/trunk/spi-fly/spi-fly-dynamic-bundle/src/test/java/org/apache/aries/spifly/dynamic/ClientWeavingHookGenericCapabilityTest.java
URL: http://svn.apache.org/viewvc/aries/trunk/spi-fly/spi-fly-dynamic-bundle/src/test/java/org/apache/aries/spifly/dynamic/ClientWeavingHookGenericCapabilityTest.java?rev=1836064&r1=1836063&r2=1836064&view=diff
==============================================================================
--- aries/trunk/spi-fly/spi-fly-dynamic-bundle/src/test/java/org/apache/aries/spifly/dynamic/ClientWeavingHookGenericCapabilityTest.java (original)
+++ aries/trunk/spi-fly/spi-fly-dynamic-bundle/src/test/java/org/apache/aries/spifly/dynamic/ClientWeavingHookGenericCapabilityTest.java Mon Jul 16 20:03:38 2018
@@ -101,10 +101,9 @@ public class ClientWeavingHookGenericCap
Assert.assertEquals("Precondition", 0, wc.getDynamicImports().size());
wh.weave(wc);
Assert.assertEquals(1, wc.getDynamicImports().size());
- String di1 = "org.apache.aries.spifly;bundle-symbolic-name=spifly;bundle-version=1.9.4";
- String di2 = "org.apache.aries.spifly;bundle-version=1.9.4;bundle-symbolic-name=spifly";
+ String di1 = "org.apache.aries.spifly";
String di = wc.getDynamicImports().get(0);
- Assert.assertTrue("Weaving should have added a dynamic import", di1.equals(di) || di2.equals(di));
+ Assert.assertTrue("Weaving should have added a dynamic import", di1.equals(di));
// Invoke the woven class and check that it properly sets the TCCL so that the
// META-INF/services/org.apache.aries.mytest.MySPI file from impl1 is visible.
@@ -158,10 +157,9 @@ public class ClientWeavingHookGenericCap
Assert.assertEquals("Precondition", 0, wc.getDynamicImports().size());
wh.weave(wc);
Assert.assertEquals(1, wc.getDynamicImports().size());
- String di1 = "org.apache.aries.spifly;bundle-symbolic-name=spifly;bundle-version=1.9.4";
- String di2 = "org.apache.aries.spifly;bundle-version=1.9.4;bundle-symbolic-name=spifly";
+ String di1 = "org.apache.aries.spifly";
String di = wc.getDynamicImports().get(0);
- Assert.assertTrue("Weaving should have added a dynamic import", di1.equals(di) || di2.equals(di));
+ Assert.assertTrue("Weaving should have added a dynamic import", di1.equals(di));
// Invoke the woven class and check that it properly sets the TCCL so that the
// META-INF/services/org.apache.aries.mytest.MySPI file from impl1 is visible.
@@ -201,10 +199,9 @@ public class ClientWeavingHookGenericCap
Assert.assertEquals("Precondition", 0, wc.getDynamicImports().size());
wh.weave(wc);
Assert.assertEquals(1, wc.getDynamicImports().size());
- String di1 = "org.apache.aries.spifly;bundle-symbolic-name=spifly;bundle-version=1.9.4";
- String di2 = "org.apache.aries.spifly;bundle-version=1.9.4;bundle-symbolic-name=spifly";
+ String di1 = "org.apache.aries.spifly";
String di = wc.getDynamicImports().get(0);
- Assert.assertTrue("Weaving should have added a dynamic import", di1.equals(di) || di2.equals(di));
+ Assert.assertTrue("Weaving should have added a dynamic import", di1.equals(di));
// Invoke the woven class and check that it properly sets the TCCL so that the
// META-INF/services/org.apache.aries.mytest.MySPI file from impl1 is visible.
Modified: aries/trunk/spi-fly/spi-fly-dynamic-bundle/src/test/java/org/apache/aries/spifly/dynamic/ClientWeavingHookOSGi43Test.java
URL: http://svn.apache.org/viewvc/aries/trunk/spi-fly/spi-fly-dynamic-bundle/src/test/java/org/apache/aries/spifly/dynamic/ClientWeavingHookOSGi43Test.java?rev=1836064&r1=1836063&r2=1836064&view=diff
==============================================================================
--- aries/trunk/spi-fly/spi-fly-dynamic-bundle/src/test/java/org/apache/aries/spifly/dynamic/ClientWeavingHookOSGi43Test.java (original)
+++ aries/trunk/spi-fly/spi-fly-dynamic-bundle/src/test/java/org/apache/aries/spifly/dynamic/ClientWeavingHookOSGi43Test.java Mon Jul 16 20:03:38 2018
@@ -96,10 +96,9 @@ public class ClientWeavingHookOSGi43Test
Assert.assertEquals("Precondition", 0, wc.getDynamicImports().size());
wh.weave(wc);
Assert.assertEquals(1, wc.getDynamicImports().size());
- String di1 = "org.apache.aries.spifly;bundle-symbolic-name=spifly;bundle-version=1.9.4";
- String di2 = "org.apache.aries.spifly;bundle-version=1.9.4;bundle-symbolic-name=spifly";
+ String di1 = "org.apache.aries.spifly";
String di = wc.getDynamicImports().get(0);
- Assert.assertTrue("Weaving should have added a dynamic import", di1.equals(di) || di2.equals(di));
+ Assert.assertTrue("Weaving should have added a dynamic import", di1.equals(di));
// Invoke the woven class and check that it properly sets the TCCL so that the
// META-INF/services/org.apache.aries.mytest.MySPI file from impl1 is visible.
Modified: aries/trunk/spi-fly/spi-fly-dynamic-bundle/src/test/java/org/apache/aries/spifly/dynamic/ClientWeavingHookTest.java
URL: http://svn.apache.org/viewvc/aries/trunk/spi-fly/spi-fly-dynamic-bundle/src/test/java/org/apache/aries/spifly/dynamic/ClientWeavingHookTest.java?rev=1836064&r1=1836063&r2=1836064&view=diff
==============================================================================
--- aries/trunk/spi-fly/spi-fly-dynamic-bundle/src/test/java/org/apache/aries/spifly/dynamic/ClientWeavingHookTest.java (original)
+++ aries/trunk/spi-fly/spi-fly-dynamic-bundle/src/test/java/org/apache/aries/spifly/dynamic/ClientWeavingHookTest.java Mon Jul 16 20:03:38 2018
@@ -18,25 +18,6 @@
*/
package org.apache.aries.spifly.dynamic;
-import org.apache.aries.mytest.MySPI;
-import org.apache.aries.spifly.BaseActivator;
-import org.apache.aries.spifly.SpiFlyConstants;
-import org.apache.aries.spifly.Streams;
-import org.easymock.EasyMock;
-import org.easymock.IAnswer;
-import org.junit.After;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.BundleReference;
-import org.osgi.framework.Version;
-import org.osgi.framework.hooks.weaving.WeavingHook;
-import org.osgi.framework.hooks.weaving.WovenClass;
-import org.osgi.framework.wiring.BundleRevision;
-import org.osgi.framework.wiring.BundleWiring;
-
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
@@ -62,6 +43,25 @@ import java.util.concurrent.ConcurrentHa
import javax.xml.parsers.DocumentBuilderFactory;
+import org.apache.aries.mytest.MySPI;
+import org.apache.aries.spifly.BaseActivator;
+import org.apache.aries.spifly.SpiFlyConstants;
+import org.apache.aries.spifly.Streams;
+import org.easymock.EasyMock;
+import org.easymock.IAnswer;
+import org.junit.After;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.osgi.framework.Bundle;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.BundleReference;
+import org.osgi.framework.Version;
+import org.osgi.framework.hooks.weaving.WeavingHook;
+import org.osgi.framework.hooks.weaving.WovenClass;
+import org.osgi.framework.wiring.BundleRevision;
+import org.osgi.framework.wiring.BundleWiring;
+
public class ClientWeavingHookTest {
DynamicWeavingActivator activator;
@@ -103,10 +103,9 @@ public class ClientWeavingHookTest {
Assert.assertEquals("Precondition", 0, wc.getDynamicImports().size());
wh.weave(wc);
Assert.assertEquals(1, wc.getDynamicImports().size());
- String di1 = "org.apache.aries.spifly;bundle-symbolic-name=spifly;bundle-version=1.9.4";
- String di2 = "org.apache.aries.spifly;bundle-version=1.9.4;bundle-symbolic-name=spifly";
+ String di1 = "org.apache.aries.spifly";
String di = wc.getDynamicImports().get(0);
- Assert.assertTrue("Weaving should have added a dynamic import", di1.equals(di) || di2.equals(di));
+ Assert.assertTrue("Weaving should have added a dynamic import", di1.equals(di));
// Invoke the woven class and check that it properly sets the TCCL so that the
// META-INF/services/org.apache.aries.mytest.MySPI file from impl1 is visible.
@@ -140,10 +139,9 @@ public class ClientWeavingHookTest {
Assert.assertEquals("Precondition", 0, wc.getDynamicImports().size());
wh.weave(wc);
Assert.assertEquals(1, wc.getDynamicImports().size());
- String di1 = "org.apache.aries.spifly;bundle-symbolic-name=spifly;bundle-version=1.9.4";
- String di2 = "org.apache.aries.spifly;bundle-version=1.9.4;bundle-symbolic-name=spifly";
+ String di1 = "org.apache.aries.spifly";
String di = wc.getDynamicImports().get(0);
- Assert.assertTrue("Weaving should have added a dynamic import", di1.equals(di) || di2.equals(di));
+ Assert.assertTrue("Weaving should have added a dynamic import", di1.equals(di));
// Invoke the woven class and check that it properly sets the TCCL so that the
// META-INF/services/org.apache.aries.mytest.MySPI file from impl1 is visible.
@@ -181,10 +179,9 @@ public class ClientWeavingHookTest {
Assert.assertEquals("Precondition", 0, wc.getDynamicImports().size());
wh.weave(wc);
Assert.assertEquals(1, wc.getDynamicImports().size());
- String di1 = "org.apache.aries.spifly;bundle-symbolic-name=spifly;bundle-version=1.9.4";
- String di2 = "org.apache.aries.spifly;bundle-version=1.9.4;bundle-symbolic-name=spifly";
+ String di1 = "org.apache.aries.spifly";
String di = wc.getDynamicImports().get(0);
- Assert.assertTrue("Weaving should have added a dynamic import", di1.equals(di) || di2.equals(di));
+ Assert.assertTrue("Weaving should have added a dynamic import", di1.equals(di));
// Invoke the woven class and check that it properly sets the TCCL so that the
// META-INF/services/org.apache.aries.mytest.MySPI file from impl1 is visible.