You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by tj...@apache.org on 2014/06/30 18:55:06 UTC
svn commit: r1606837 [5/27] - in /aries/branches/subsystemsR6: ./
application/ application/application-api/ application/application-bundle/
application/application-converters/
application/application-default-local-platform/
application/application-depl...
Modified: aries/branches/subsystemsR6/application/application-itests/src/test/java/org/apache/aries/application/runtime/itests/OBRResolverTest.java
URL: http://svn.apache.org/viewvc/aries/branches/subsystemsR6/application/application-itests/src/test/java/org/apache/aries/application/runtime/itests/OBRResolverTest.java?rev=1606837&r1=1606836&r2=1606837&view=diff
==============================================================================
--- aries/branches/subsystemsR6/application/application-itests/src/test/java/org/apache/aries/application/runtime/itests/OBRResolverTest.java (original)
+++ aries/branches/subsystemsR6/application/application-itests/src/test/java/org/apache/aries/application/runtime/itests/OBRResolverTest.java Mon Jun 30 16:54:57 2014
@@ -18,9 +18,6 @@
*/
package org.apache.aries.application.runtime.itests;
-import static org.apache.aries.itest.ExtraOptions.mavenBundle;
-import static org.apache.aries.itest.ExtraOptions.paxLogging;
-import static org.apache.aries.itest.ExtraOptions.testOptions;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import static org.osgi.framework.Constants.BUNDLE_MANIFESTVERSION;
@@ -28,6 +25,7 @@ import static org.osgi.framework.Constan
import static org.osgi.framework.Constants.BUNDLE_VERSION;
import static org.osgi.framework.Constants.EXPORT_PACKAGE;
import static org.osgi.framework.Constants.IMPORT_PACKAGE;
+import static org.ops4j.pax.exam.CoreOptions.*;
import java.io.File;
import java.io.FileInputStream;
@@ -63,297 +61,289 @@ import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.ops4j.pax.exam.Configuration;
import org.ops4j.pax.exam.Option;
-import org.ops4j.pax.exam.container.def.PaxRunnerOptions;
-import org.ops4j.pax.exam.junit.MavenConfiguredJUnit4TestRunner;
+import org.ops4j.pax.exam.junit.PaxExam;
+import org.ops4j.pax.exam.spi.reactors.ExamReactorStrategy;
+import org.ops4j.pax.exam.spi.reactors.PerClass;
import org.osgi.framework.Bundle;
-@RunWith(MavenConfiguredJUnit4TestRunner.class)
-public class OBRResolverTest extends AbstractIntegrationTest
-{
- public static final String CORE_BUNDLE_BY_VALUE = "core.bundle.by.value";
- public static final String CORE_BUNDLE_BY_REFERENCE = "core.bundle.by.reference";
- public static final String TRANSITIVE_BUNDLE_BY_VALUE = "transitive.bundle.by.value";
- public static final String TRANSITIVE_BUNDLE_BY_REFERENCE = "transitive.bundle.by.reference";
- public static final String BUNDLE_IN_FRAMEWORK = "org.apache.aries.util";
-
-
- /* Use @Before not @BeforeClass so as to ensure that these resources
- * are created in the paxweb temp directory, and not in the svn tree
- */
- @Before
- public static void createApplications() throws Exception
- {
- ZipFixture bundle = ArchiveFixture.newJar().manifest()
- .attribute(BUNDLE_SYMBOLICNAME, CORE_BUNDLE_BY_VALUE)
- .attribute(BUNDLE_MANIFESTVERSION, "2")
- .attribute(IMPORT_PACKAGE, "p.q.r, x.y.z, javax.naming, " + BUNDLE_IN_FRAMEWORK)
- .attribute(BUNDLE_VERSION, "1.0.0").end();
-
-
- FileOutputStream fout = new FileOutputStream(CORE_BUNDLE_BY_VALUE + ".jar");
- bundle.writeOut(fout);
- fout.close();
-
- bundle = ArchiveFixture.newJar().manifest()
- .attribute(BUNDLE_SYMBOLICNAME, TRANSITIVE_BUNDLE_BY_VALUE)
- .attribute(BUNDLE_MANIFESTVERSION, "2")
- .attribute(EXPORT_PACKAGE, "p.q.r")
- .attribute(BUNDLE_VERSION, "1.0.0").end();
-
- fout = new FileOutputStream(TRANSITIVE_BUNDLE_BY_VALUE + ".jar");
- bundle.writeOut(fout);
- fout.close();
-
- bundle = ArchiveFixture.newJar().manifest()
- .attribute(BUNDLE_SYMBOLICNAME, TRANSITIVE_BUNDLE_BY_REFERENCE)
- .attribute(BUNDLE_MANIFESTVERSION, "2")
- .attribute(EXPORT_PACKAGE, "x.y.z")
- .attribute(BUNDLE_VERSION, "1.0.0").end();
-
- fout = new FileOutputStream(TRANSITIVE_BUNDLE_BY_REFERENCE + ".jar");
- bundle.writeOut(fout);
- fout.close();
-
- bundle = ArchiveFixture.newJar().manifest()
- .attribute(BUNDLE_SYMBOLICNAME, CORE_BUNDLE_BY_REFERENCE)
- .attribute(BUNDLE_MANIFESTVERSION, "2")
- .attribute(EXPORT_PACKAGE, "d.e.f")
- .attribute(BUNDLE_VERSION, "1.0.0").end();
-
- fout = new FileOutputStream(CORE_BUNDLE_BY_REFERENCE + ".jar");
- bundle.writeOut(fout);
- fout.close();
-
- bundle = ArchiveFixture.newJar().manifest()
- .attribute(BUNDLE_SYMBOLICNAME, CORE_BUNDLE_BY_REFERENCE)
- .attribute(BUNDLE_MANIFESTVERSION, "2")
- .attribute(EXPORT_PACKAGE, "d.e.f").end();
-
- fout = new FileOutputStream(CORE_BUNDLE_BY_REFERENCE + "_0.0.0.jar");
- bundle.writeOut(fout);
- fout.close();
-
- ZipFixture testEba = ArchiveFixture.newZip()
- .binary("META-INF/APPLICATION.MF",
- OBRResolverTest.class.getClassLoader().getResourceAsStream("obr/APPLICATION.MF"))
- .end()
- .binary(CORE_BUNDLE_BY_VALUE + ".jar", new FileInputStream(CORE_BUNDLE_BY_VALUE + ".jar")).end()
- .binary(TRANSITIVE_BUNDLE_BY_VALUE + ".jar", new FileInputStream(TRANSITIVE_BUNDLE_BY_VALUE + ".jar")).end();
-
- fout = new FileOutputStream("blog.eba");
- testEba.writeOut(fout);
- fout.close();
- }
-
- @After
- public void clearRepository() {
- RepositoryAdmin repositoryAdmin = context().getService(RepositoryAdmin.class);
- Repository[] repos = repositoryAdmin.listRepositories();
- if ((repos != null) && (repos.length >0)) {
- for (Repository repo : repos) {
- repositoryAdmin.removeRepository(repo.getURI());
- }
- }
- }
- @Test(expected=ResolverException.class)
- public void testBlogAppResolveFail() throws ResolverException, Exception
- {
- // provision against the local runtime
- System.setProperty(AppConstants.PROVISON_EXCLUDE_LOCAL_REPO_SYSPROP, "false");
- generateOBRRepoXML(TRANSITIVE_BUNDLE_BY_REFERENCE + ".jar", CORE_BUNDLE_BY_REFERENCE + "_0.0.0.jar");
-
- RepositoryAdmin repositoryAdmin = context().getService(RepositoryAdmin.class);
-
- Repository[] repos = repositoryAdmin.listRepositories();
- for (Repository repo : repos) {
- repositoryAdmin.removeRepository(repo.getURI());
+@RunWith(PaxExam.class)
+@ExamReactorStrategy(PerClass.class)
+public class OBRResolverTest extends AbstractIntegrationTest {
+
+ public static final String CORE_BUNDLE_BY_VALUE = "core.bundle.by.value";
+ public static final String CORE_BUNDLE_BY_REFERENCE = "core.bundle.by.reference";
+ public static final String TRANSITIVE_BUNDLE_BY_VALUE = "transitive.bundle.by.value";
+ public static final String TRANSITIVE_BUNDLE_BY_REFERENCE = "transitive.bundle.by.reference";
+ public static final String BUNDLE_IN_FRAMEWORK = "org.apache.aries.util";
+
+
+ /* Use @Before not @BeforeClass so as to ensure that these resources
+ * are created in the paxweb temp directory, and not in the svn tree
+ */
+ @Before
+ public void createApplications() throws Exception {
+ ZipFixture bundle = ArchiveFixture.newJar().manifest()
+ .attribute(BUNDLE_SYMBOLICNAME, CORE_BUNDLE_BY_VALUE)
+ .attribute(BUNDLE_MANIFESTVERSION, "2")
+ .attribute(IMPORT_PACKAGE, "p.q.r, x.y.z, javax.naming, " + BUNDLE_IN_FRAMEWORK)
+ .attribute(BUNDLE_VERSION, "1.0.0").end();
+
+
+ FileOutputStream fout = new FileOutputStream(CORE_BUNDLE_BY_VALUE + ".jar");
+ bundle.writeOut(fout);
+ fout.close();
+
+ bundle = ArchiveFixture.newJar().manifest()
+ .attribute(BUNDLE_SYMBOLICNAME, TRANSITIVE_BUNDLE_BY_VALUE)
+ .attribute(BUNDLE_MANIFESTVERSION, "2")
+ .attribute(EXPORT_PACKAGE, "p.q.r")
+ .attribute(BUNDLE_VERSION, "1.0.0").end();
+
+ fout = new FileOutputStream(TRANSITIVE_BUNDLE_BY_VALUE + ".jar");
+ bundle.writeOut(fout);
+ fout.close();
+
+ bundle = ArchiveFixture.newJar().manifest()
+ .attribute(BUNDLE_SYMBOLICNAME, TRANSITIVE_BUNDLE_BY_REFERENCE)
+ .attribute(BUNDLE_MANIFESTVERSION, "2")
+ .attribute(EXPORT_PACKAGE, "x.y.z")
+ .attribute(BUNDLE_VERSION, "1.0.0").end();
+
+ fout = new FileOutputStream(TRANSITIVE_BUNDLE_BY_REFERENCE + ".jar");
+ bundle.writeOut(fout);
+ fout.close();
+
+ bundle = ArchiveFixture.newJar().manifest()
+ .attribute(BUNDLE_SYMBOLICNAME, CORE_BUNDLE_BY_REFERENCE)
+ .attribute(BUNDLE_MANIFESTVERSION, "2")
+ .attribute(EXPORT_PACKAGE, "d.e.f")
+ .attribute(BUNDLE_VERSION, "1.0.0").end();
+
+ fout = new FileOutputStream(CORE_BUNDLE_BY_REFERENCE + ".jar");
+ bundle.writeOut(fout);
+ fout.close();
+
+ bundle = ArchiveFixture.newJar().manifest()
+ .attribute(BUNDLE_SYMBOLICNAME, CORE_BUNDLE_BY_REFERENCE)
+ .attribute(BUNDLE_MANIFESTVERSION, "2")
+ .attribute(EXPORT_PACKAGE, "d.e.f").end();
+
+ fout = new FileOutputStream(CORE_BUNDLE_BY_REFERENCE + "_0.0.0.jar");
+ bundle.writeOut(fout);
+ fout.close();
+
+ ZipFixture testEba = ArchiveFixture.newZip()
+ .binary("META-INF/APPLICATION.MF",
+ OBRResolverTest.class.getClassLoader().getResourceAsStream("obr/APPLICATION.MF"))
+ .end()
+ .binary(CORE_BUNDLE_BY_VALUE + ".jar", new FileInputStream(CORE_BUNDLE_BY_VALUE + ".jar")).end()
+ .binary(TRANSITIVE_BUNDLE_BY_VALUE + ".jar", new FileInputStream(TRANSITIVE_BUNDLE_BY_VALUE + ".jar")).end();
+
+ fout = new FileOutputStream("blog.eba");
+ testEba.writeOut(fout);
+ fout.close();
}
-
- repositoryAdmin.addRepository(new File("repository.xml").toURI().toURL());
- AriesApplicationManager manager = context().getService(AriesApplicationManager.class);
- AriesApplication app = manager.createApplication(FileSystem.getFSRoot(new File("blog.eba")));
- //installing requires a valid url for the bundle in repository.xml.
-
- app = manager.resolve(app);
- }
- /**
- * Test the resolution should fail because the required package org.apache.aries.util is provided by the local runtime,
- * which is not included when provisioning.
- *
- * @throws Exception
- */
- @Test(expected=ResolverException.class)
- public void testProvisionExcludeLocalRepo() throws Exception {
- // do not provision against the local runtime
- System.setProperty(AppConstants.PROVISON_EXCLUDE_LOCAL_REPO_SYSPROP, "true");
- generateOBRRepoXML(TRANSITIVE_BUNDLE_BY_REFERENCE + ".jar", CORE_BUNDLE_BY_REFERENCE + ".jar");
-
- RepositoryAdmin repositoryAdmin = context().getService(RepositoryAdmin.class);
-
- Repository[] repos = repositoryAdmin.listRepositories();
- for (Repository repo : repos) {
- repositoryAdmin.removeRepository(repo.getURI());
+ @After
+ public void clearRepository() {
+ RepositoryAdmin repositoryAdmin = context().getService(RepositoryAdmin.class);
+ Repository[] repos = repositoryAdmin.listRepositories();
+ if ((repos != null) && (repos.length > 0)) {
+ for (Repository repo : repos) {
+ repositoryAdmin.removeRepository(repo.getURI());
+ }
+ }
}
-
- repositoryAdmin.addRepository(new File("repository.xml").toURI().toURL());
- AriesApplicationManager manager = context().getService(AriesApplicationManager.class);
- AriesApplication app = manager.createApplication(FileSystem.getFSRoot(new File("blog.eba")));
- //installing requires a valid url for the bundle in repository.xml.
-
- app = manager.resolve(app);
- }
-
- @Test
- public void test_resolve_self_contained_app_in_isolation() throws Exception {
- assertEquals(2, createAndResolveSelfContainedApp("org.osgi.framework").size());
- }
-
- @Test(expected=ResolverException.class)
- public void test_resolve_non_self_contained_app_in_isolation() throws Exception {
- createAndResolveSelfContainedApp("org.osgi.service.blueprint");
- }
-
- private Collection<ModelledResource> createAndResolveSelfContainedApp(String extraImport) throws Exception {
- FileOutputStream fout = new FileOutputStream(new File("a.bundle.jar"));
- ArchiveFixture.newJar()
- .manifest()
- .attribute(BUNDLE_SYMBOLICNAME, "a.bundle")
- .attribute(BUNDLE_VERSION, "1.0.0")
- .attribute(BUNDLE_MANIFESTVERSION, "2")
- .attribute(IMPORT_PACKAGE, "a.pack.age")
- .end().writeOut(fout);
- fout.close();
-
- fout = new FileOutputStream(new File("b.bundle.jar"));
- ArchiveFixture.newJar()
- .manifest()
- .attribute(BUNDLE_SYMBOLICNAME, "b.bundle")
- .attribute(BUNDLE_VERSION, "1.0.0")
- .attribute(BUNDLE_MANIFESTVERSION, "2")
- .attribute(IMPORT_PACKAGE, extraImport)
- .attribute(EXPORT_PACKAGE, "a.pack.age")
- .end().writeOut(fout);
- fout.close();
-
- ModelledResourceManager mrm = context().getService(ModelledResourceManager.class);
- ModelledResource aBundle = mrm.getModelledResource(FileSystem.getFSRoot(new File("a.bundle.jar")));
- ModelledResource bBundle = mrm.getModelledResource(FileSystem.getFSRoot(new File("b.bundle.jar")));
-
- AriesApplicationResolver resolver = context().getService(AriesApplicationResolver.class);
- return resolver.resolveInIsolation("test.app", "1.0.0",
- Arrays.asList(aBundle, bBundle),
- Arrays.<Content>asList(ContentFactory.parseContent("a.bundle", "1.0.0"), ContentFactory.parseContent("b.bundle", "1.0.0")));
- }
-
- @Test
- public void testBlogApp() throws Exception
- {
- // provision against the local runtime
- System.setProperty(AppConstants.PROVISON_EXCLUDE_LOCAL_REPO_SYSPROP, "false");
- generateOBRRepoXML(TRANSITIVE_BUNDLE_BY_REFERENCE + ".jar", CORE_BUNDLE_BY_REFERENCE + ".jar");
-
- RepositoryAdmin repositoryAdmin = context().getService(RepositoryAdmin.class);
-
- Repository[] repos = repositoryAdmin.listRepositories();
- for (Repository repo : repos) {
- repositoryAdmin.removeRepository(repo.getURI());
+ @Test(expected = ResolverException.class)
+ public void testBlogAppResolveFail() throws ResolverException, Exception {
+ // provision against the local runtime
+ System.setProperty(AppConstants.PROVISON_EXCLUDE_LOCAL_REPO_SYSPROP, "false");
+ generateOBRRepoXML(TRANSITIVE_BUNDLE_BY_REFERENCE + ".jar", CORE_BUNDLE_BY_REFERENCE + "_0.0.0.jar");
+
+ RepositoryAdmin repositoryAdmin = context().getService(RepositoryAdmin.class);
+
+ Repository[] repos = repositoryAdmin.listRepositories();
+ for (Repository repo : repos) {
+ repositoryAdmin.removeRepository(repo.getURI());
+ }
+
+ repositoryAdmin.addRepository(new File("repository.xml").toURI().toURL());
+
+ AriesApplicationManager manager = context().getService(AriesApplicationManager.class);
+ AriesApplication app = manager.createApplication(FileSystem.getFSRoot(new File("blog.eba")));
+ //installing requires a valid url for the bundle in repository.xml.
+
+ app = manager.resolve(app);
+ }
+
+ /**
+ * Test the resolution should fail because the required package org.apache.aries.util is provided by the local runtime,
+ * which is not included when provisioning.
+ *
+ * @throws Exception
+ */
+ @Test(expected = ResolverException.class)
+ public void testProvisionExcludeLocalRepo() throws Exception {
+ // do not provision against the local runtime
+ System.setProperty(AppConstants.PROVISON_EXCLUDE_LOCAL_REPO_SYSPROP, "true");
+ generateOBRRepoXML(TRANSITIVE_BUNDLE_BY_REFERENCE + ".jar", CORE_BUNDLE_BY_REFERENCE + ".jar");
+
+ RepositoryAdmin repositoryAdmin = context().getService(RepositoryAdmin.class);
+
+ Repository[] repos = repositoryAdmin.listRepositories();
+ for (Repository repo : repos) {
+ repositoryAdmin.removeRepository(repo.getURI());
+ }
+
+ repositoryAdmin.addRepository(new File("repository.xml").toURI().toURL());
+
+ AriesApplicationManager manager = context().getService(AriesApplicationManager.class);
+ AriesApplication app = manager.createApplication(FileSystem.getFSRoot(new File("blog.eba")));
+ //installing requires a valid url for the bundle in repository.xml.
+
+ app = manager.resolve(app);
}
-
- repositoryAdmin.addRepository(new File("repository.xml").toURI().toURL());
- AriesApplicationManager manager = context().getService(AriesApplicationManager.class);
- AriesApplication app = manager.createApplication(FileSystem.getFSRoot(new File("blog.eba")));
- //installing requires a valid url for the bundle in repository.xml.
-
- app = manager.resolve(app);
-
- DeploymentMetadata depMeta = app.getDeploymentMetadata();
-
- List<DeploymentContent> provision = depMeta.getApplicationProvisionBundles();
-
- assertEquals(provision.toString(), 3, provision.size());
-
- List<String> bundleSymbolicNames = new ArrayList<String>();
-
- for (DeploymentContent dep : provision) {
- bundleSymbolicNames.add(dep.getContentName());
+ @Test
+ public void test_resolve_self_contained_app_in_isolation() throws Exception {
+ assertEquals(2, createAndResolveSelfContainedApp("org.osgi.framework").size());
}
-
- assertTrue("Bundle " + TRANSITIVE_BUNDLE_BY_REFERENCE + " not found.", bundleSymbolicNames.contains(TRANSITIVE_BUNDLE_BY_REFERENCE));
- assertTrue("Bundle " + TRANSITIVE_BUNDLE_BY_VALUE + " not found.", bundleSymbolicNames.contains(TRANSITIVE_BUNDLE_BY_VALUE));
- assertTrue("Bundle " + BUNDLE_IN_FRAMEWORK + " not found.", bundleSymbolicNames.contains(BUNDLE_IN_FRAMEWORK));
-
- AriesApplicationContext ctx = manager.install(app);
- ctx.start();
-
- Set<Bundle> bundles = ctx.getApplicationContent();
-
- assertEquals("Number of bundles provisioned in the app", 4, bundles.size());
-
- ctx.stop();
- manager.uninstall(ctx);
- }
-
-
- private void generateOBRRepoXML(String ... bundleFiles) throws Exception
- {
- Set<ModelledResource> mrs = new HashSet<ModelledResource>();
- FileOutputStream fout = new FileOutputStream("repository.xml");
- RepositoryGenerator repositoryGenerator = context().getService(RepositoryGenerator.class);
- ModelledResourceManager modelledResourceManager = context().getService(ModelledResourceManager.class);
- for (String fileName : bundleFiles) {
- File bundleFile = new File(fileName);
- IDirectory jarDir = FileSystem.getFSRoot(bundleFile);
- mrs.add(modelledResourceManager.getModelledResource(bundleFile.toURI().toString(), jarDir));
+
+ @Test(expected = ResolverException.class)
+ public void test_resolve_non_self_contained_app_in_isolation() throws Exception {
+ createAndResolveSelfContainedApp("org.osgi.service.blueprint");
+ }
+
+ private Collection<ModelledResource> createAndResolveSelfContainedApp(String extraImport) throws Exception {
+ FileOutputStream fout = new FileOutputStream(new File("a.bundle.jar"));
+ ArchiveFixture.newJar()
+ .manifest()
+ .attribute(BUNDLE_SYMBOLICNAME, "a.bundle")
+ .attribute(BUNDLE_VERSION, "1.0.0")
+ .attribute(BUNDLE_MANIFESTVERSION, "2")
+ .attribute(IMPORT_PACKAGE, "a.pack.age")
+ .end().writeOut(fout);
+ fout.close();
+
+ fout = new FileOutputStream(new File("b.bundle.jar"));
+ ArchiveFixture.newJar()
+ .manifest()
+ .attribute(BUNDLE_SYMBOLICNAME, "b.bundle")
+ .attribute(BUNDLE_VERSION, "1.0.0")
+ .attribute(BUNDLE_MANIFESTVERSION, "2")
+ .attribute(IMPORT_PACKAGE, extraImport)
+ .attribute(EXPORT_PACKAGE, "a.pack.age")
+ .end().writeOut(fout);
+ fout.close();
+
+ ModelledResourceManager mrm = context().getService(ModelledResourceManager.class);
+ ModelledResource aBundle = mrm.getModelledResource(FileSystem.getFSRoot(new File("a.bundle.jar")));
+ ModelledResource bBundle = mrm.getModelledResource(FileSystem.getFSRoot(new File("b.bundle.jar")));
+
+ AriesApplicationResolver resolver = context().getService(AriesApplicationResolver.class);
+ return resolver.resolveInIsolation("test.app", "1.0.0",
+ Arrays.asList(aBundle, bBundle),
+ Arrays.<Content>asList(ContentFactory.parseContent("a.bundle", "1.0.0"), ContentFactory.parseContent("b.bundle", "1.0.0")));
}
- repositoryGenerator.generateRepository("Test repo description", mrs, fout);
- fout.close();
+
+ @Test
+ public void testBlogApp() throws Exception {
+ // provision against the local runtime
+ System.setProperty(AppConstants.PROVISON_EXCLUDE_LOCAL_REPO_SYSPROP, "false");
+ generateOBRRepoXML(TRANSITIVE_BUNDLE_BY_REFERENCE + ".jar", CORE_BUNDLE_BY_REFERENCE + ".jar");
+
+ RepositoryAdmin repositoryAdmin = context().getService(RepositoryAdmin.class);
+
+ Repository[] repos = repositoryAdmin.listRepositories();
+ for (Repository repo : repos) {
+ repositoryAdmin.removeRepository(repo.getURI());
+ }
+
+ repositoryAdmin.addRepository(new File("repository.xml").toURI().toURL());
+
+ AriesApplicationManager manager = context().getService(AriesApplicationManager.class);
+ AriesApplication app = manager.createApplication(FileSystem.getFSRoot(new File("blog.eba")));
+ //installing requires a valid url for the bundle in repository.xml.
+
+ app = manager.resolve(app);
+
+ DeploymentMetadata depMeta = app.getDeploymentMetadata();
+
+ List<DeploymentContent> provision = depMeta.getApplicationProvisionBundles();
+
+ assertEquals(provision.toString(), 3, provision.size());
+
+ List<String> bundleSymbolicNames = new ArrayList<String>();
+
+ for (DeploymentContent dep : provision) {
+ bundleSymbolicNames.add(dep.getContentName());
+ }
+
+ assertTrue("Bundle " + TRANSITIVE_BUNDLE_BY_REFERENCE + " not found.", bundleSymbolicNames.contains(TRANSITIVE_BUNDLE_BY_REFERENCE));
+ assertTrue("Bundle " + TRANSITIVE_BUNDLE_BY_VALUE + " not found.", bundleSymbolicNames.contains(TRANSITIVE_BUNDLE_BY_VALUE));
+ assertTrue("Bundle " + BUNDLE_IN_FRAMEWORK + " not found.", bundleSymbolicNames.contains(BUNDLE_IN_FRAMEWORK));
+
+ AriesApplicationContext ctx = manager.install(app);
+ ctx.start();
+
+ Set<Bundle> bundles = ctx.getApplicationContent();
+
+ assertEquals("Number of bundles provisioned in the app", 4, bundles.size());
+
+ ctx.stop();
+ manager.uninstall(ctx);
}
- private static Option[] generalConfiguration() {
- return testOptions(
- paxLogging("DEBUG"),
-
- // Bundles
- mavenBundle("org.apache.aries.blueprint", "org.apache.aries.blueprint"),
- mavenBundle("org.ow2.asm", "asm-all"),
- mavenBundle("org.apache.aries.proxy", "org.apache.aries.proxy"),
- mavenBundle("org.apache.aries", "org.apache.aries.util"),
- mavenBundle("org.apache.aries.application", "org.apache.aries.application.api"),
- mavenBundle("org.apache.aries.application", "org.apache.aries.application.utils"),
- mavenBundle("org.apache.aries.application", "org.apache.aries.application.modeller"),
- mavenBundle("org.apache.aries.application", "org.apache.aries.application.default.local.platform"),
- mavenBundle("org.apache.felix", "org.apache.felix.bundlerepository"),
- mavenBundle("org.apache.aries.application", "org.apache.aries.application.resolver.obr"),
- mavenBundle("org.apache.aries.application", "org.apache.aries.application.deployment.management"),
- mavenBundle("org.apache.aries.application", "org.apache.aries.application.management"),
- mavenBundle("org.apache.aries.application", "org.apache.aries.application.runtime"),
- mavenBundle("org.apache.aries.application", "org.apache.aries.application.runtime.itest.interfaces"),
- mavenBundle("org.osgi", "org.osgi.compendium")
-
- /* For debugging, uncomment the next two lines */
- // vmOption ("-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=7777"),
- // waitForFrameworkStartup(),
-
- /* For debugging, uncomment the next two lines and add these imports:
- import static org.ops4j.pax.exam.CoreOptions.waitForFrameworkStartup;
- import static org.ops4j.pax.exam.container.def.PaxRunnerOptions.vmOption;
- */
-
- );
- }
-
- @org.ops4j.pax.exam.junit.Configuration
- public static Option[] configuration()
- {
- return testOptions(
- generalConfiguration(),
- PaxRunnerOptions.rawPaxRunnerOption("config", "classpath:ss-runner.properties")
- );
- }
+ private void generateOBRRepoXML(String... bundleFiles) throws Exception {
+ Set<ModelledResource> mrs = new HashSet<ModelledResource>();
+ FileOutputStream fout = new FileOutputStream("repository.xml");
+ RepositoryGenerator repositoryGenerator = context().getService(RepositoryGenerator.class);
+ ModelledResourceManager modelledResourceManager = context().getService(ModelledResourceManager.class);
+ for (String fileName : bundleFiles) {
+ File bundleFile = new File(fileName);
+ IDirectory jarDir = FileSystem.getFSRoot(bundleFile);
+ mrs.add(modelledResourceManager.getModelledResource(bundleFile.toURI().toString(), jarDir));
+ }
+ repositoryGenerator.generateRepository("Test repo description", mrs, fout);
+ fout.close();
+ }
+
+ @Configuration
+ public static Option[] configuration() {
+ return options(
+
+ // framework / core bundles
+ mavenBundle("org.osgi", "org.osgi.core").versionAsInProject(),
+ mavenBundle("org.osgi", "org.osgi.compendium").versionAsInProject(),
+ mavenBundle("org.ops4j.pax.logging", "pax-logging-api").versionAsInProject(),
+ mavenBundle("org.ops4j.pax.logging", "pax-logging-service").versionAsInProject(),
+
+ // Logging
+ systemProperty("org.ops4j.pax.logging.DefaultServiceLog.level").value("INFO"),
+
+ // Bundles
+ junitBundles(),
+ mavenBundle("org.apache.aries.testsupport", "org.apache.aries.testsupport.unit").versionAsInProject(),
+
+ // Bundles
+ mavenBundle("org.apache.aries.blueprint", "org.apache.aries.blueprint").versionAsInProject(),
+ mavenBundle("org.ow2.asm", "asm-all").versionAsInProject(),
+ mavenBundle("org.apache.aries.proxy", "org.apache.aries.proxy").versionAsInProject(),
+ mavenBundle("org.apache.aries", "org.apache.aries.util").versionAsInProject(),
+ mavenBundle("org.apache.aries.application", "org.apache.aries.application.api").versionAsInProject(),
+ mavenBundle("org.apache.aries.application", "org.apache.aries.application.utils").versionAsInProject(),
+ mavenBundle("org.apache.aries.application", "org.apache.aries.application.modeller").versionAsInProject(),
+ mavenBundle("org.apache.aries.application", "org.apache.aries.application.default.local.platform").versionAsInProject(),
+ mavenBundle("org.apache.felix", "org.apache.felix.bundlerepository").versionAsInProject(),
+ mavenBundle("org.apache.aries.application", "org.apache.aries.application.resolver.obr").versionAsInProject(),
+ mavenBundle("org.apache.aries.application", "org.apache.aries.application.deployment.management").versionAsInProject(),
+ mavenBundle("org.apache.aries.application", "org.apache.aries.application.management").versionAsInProject(),
+ mavenBundle("org.apache.aries.application", "org.apache.aries.application.runtime").versionAsInProject(),
+ mavenBundle("org.apache.aries.application", "org.apache.aries.application.runtime.itest.interfaces").versionAsInProject());
+ }
}
\ No newline at end of file
Modified: aries/branches/subsystemsR6/application/application-itests/src/test/java/org/apache/aries/application/runtime/itests/UpdateAppTest.java
URL: http://svn.apache.org/viewvc/aries/branches/subsystemsR6/application/application-itests/src/test/java/org/apache/aries/application/runtime/itests/UpdateAppTest.java?rev=1606837&r1=1606836&r2=1606837&view=diff
==============================================================================
--- aries/branches/subsystemsR6/application/application-itests/src/test/java/org/apache/aries/application/runtime/itests/UpdateAppTest.java (original)
+++ aries/branches/subsystemsR6/application/application-itests/src/test/java/org/apache/aries/application/runtime/itests/UpdateAppTest.java Mon Jun 30 16:54:57 2014
@@ -18,14 +18,11 @@
*/
package org.apache.aries.application.runtime.itests;
-import static org.apache.aries.itest.ExtraOptions.mavenBundle;
-import static org.apache.aries.itest.ExtraOptions.paxLogging;
-import static org.apache.aries.itest.ExtraOptions.testOptions;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
-import static org.ops4j.pax.exam.CoreOptions.systemProperty;
+import static org.ops4j.pax.exam.CoreOptions.*;
import java.io.File;
import java.io.FileOutputStream;
@@ -55,243 +52,241 @@ import org.apache.aries.util.filesystem.
import org.apache.aries.util.manifest.ManifestHeaderProcessor;
import org.apache.felix.bundlerepository.RepositoryAdmin;
import org.junit.Before;
+import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.ops4j.pax.exam.Configuration;
import org.ops4j.pax.exam.Option;
-import org.ops4j.pax.exam.container.def.PaxRunnerOptions;
-import org.ops4j.pax.exam.junit.MavenConfiguredJUnit4TestRunner;
+import org.ops4j.pax.exam.junit.PaxExam;
+import org.ops4j.pax.exam.spi.reactors.ExamReactorStrategy;
+import org.ops4j.pax.exam.spi.reactors.PerClass;
import org.osgi.framework.Bundle;
import org.osgi.framework.BundleContext;
-@RunWith(MavenConfiguredJUnit4TestRunner.class)
+@RunWith(PaxExam.class)
+@ExamReactorStrategy(PerClass.class)
public class UpdateAppTest extends AbstractIntegrationTest {
- private static final String SAMPLE_APP_NAME = "org.apache.aries.sample2";
- /* Use @Before not @BeforeClass so as to ensure that these resources
- * are created in the paxweb temp directory, and not in the svn tree
- */
- static boolean createdApplications = false;
-
- @Before
- public void createApplications() throws Exception {
-
- if (createdApplications) {
- return;
- }
-
- ZipFixture testEba = ArchiveFixture.newZip()
- .binary("META-INF/APPLICATION.MF",
- UpdateAppTest.class.getClassLoader().getResourceAsStream("isolated/APPLICATION.MF"))
- .jar("sample.jar")
- .manifest().symbolicName("org.apache.aries.isolated.sample")
- .attribute("Bundle-Version", "1.0.0")
- .end()
- .binary("org/apache/aries/isolated/sample/HelloWorld.class",
- UpdateAppTest.class.getClassLoader().getResourceAsStream("org/apache/aries/isolated/sample/HelloWorld.class"))
- .binary("org/apache/aries/isolated/sample/HelloWorldImpl.class",
- UpdateAppTest.class.getClassLoader().getResourceAsStream("org/apache/aries/isolated/sample/HelloWorldImpl.class"))
- .binary("OSGI-INF/blueprint/aries.xml",
- UpdateAppTest.class.getClassLoader().getResourceAsStream("isolated/sample-blueprint.xml"))
- .end();
-
- FileOutputStream fout = new FileOutputStream("test.eba");
- testEba.writeOut(fout);
- fout.close();
-
- ZipFixture sample2 = ArchiveFixture.newJar()
- .manifest().symbolicName("org.apache.aries.isolated.sample")
- .attribute("Bundle-Version", "2.0.0")
- .end()
- .binary("org/apache/aries/isolated/sample/HelloWorld.class",
- IsolatedRuntimeTest.class.getClassLoader().getResourceAsStream("org/apache/aries/isolated/sample/HelloWorld.class"))
- .binary("org/apache/aries/isolated/sample/HelloWorldImpl.class",
- IsolatedRuntimeTest.class.getClassLoader().getResourceAsStream("org/apache/aries/isolated/sample/HelloWorldImpl.class"))
- .binary("OSGI-INF/blueprint/aries.xml",
- IsolatedRuntimeTest.class.getClassLoader().getResourceAsStream("isolated/sample2-blueprint.xml"))
- .end();
-
- fout = new FileOutputStream("sample_2.0.0.jar");
- sample2.writeOut(fout);
- fout.close();
-
- createdApplications = true;
- }
-
- @Test
- public void testFullUpdate() throws Exception {
- AriesApplicationManager manager = context().getService(AriesApplicationManager.class);
- AriesApplication app = setupApp();
-
- updateApp(manager, app);
-
- assertAppMessage("hello brave new world");
- }
-
- @Test
- public void testFineUpdate() throws Exception {
- AriesApplicationManager manager = context().getService(AriesApplicationManager.class);
- AriesApplication app = setupApp();
-
- BundleContext oldCtx = IsolationTestUtils.findIsolatedAppBundleContext(bundleContext, SAMPLE_APP_NAME);
-
- installMockUpdateStrategy();
- updateApp(manager, app);
-
- BundleContext newCtx = IsolationTestUtils.findIsolatedAppBundleContext(bundleContext, SAMPLE_APP_NAME);
- assertAppMessage("hello brave new world");
-
- assertTrue("We bounced the app where the update was supposed to do an update in place", oldCtx == newCtx);
- }
-
- @Test
- public void testUpdateThenStart() throws Exception
- {
- AriesApplicationManager manager = context().getService(AriesApplicationManager.class);
- AriesApplication app = manager.createApplication(FileSystem.getFSRoot(new File("test.eba")));
- AriesApplicationContext ctx = manager.install(app);
- app = ctx.getApplication();
-
- BundleContext oldCtx = IsolationTestUtils.findIsolatedAppBundleContext(bundleContext, SAMPLE_APP_NAME);
-
- installMockUpdateStrategy();
- ctx = updateApp(manager, app);
-
- BundleContext newCtx = IsolationTestUtils.findIsolatedAppBundleContext(bundleContext, SAMPLE_APP_NAME);
-
- assertNull("App is not started yet but HelloWorld service is already there",
- IsolationTestUtils.findHelloWorldService(bundleContext, SAMPLE_APP_NAME));
-
- ctx.start();
-
- assertAppMessage("hello brave new world");
-
- assertTrue("We bounced the app where the update was supposed to do an update in place", oldCtx == newCtx);
- }
-
- private void installMockUpdateStrategy()
- {
- bundleContext.registerService(UpdateStrategy.class.getName(), new UpdateStrategy() {
-
- public boolean allowsUpdate(DeploymentMetadata newMetadata, DeploymentMetadata oldMetadata) {
- return true;
- }
-
- public void update(UpdateInfo info) throws UpdateException {
- BundleFramework fwk = info.getAppFramework();
-
- Bundle old = null;
- for (Bundle b : fwk.getBundles()) {
- if (b.getSymbolicName().equals("org.apache.aries.isolated.sample")) {
- old = b;
- break;
- }
- }
-
- if (old == null) throw new RuntimeException("Could not find old bundle");
-
- try {
- info.unregister(old);
- fwk.uninstall(old);
-
- // only contains one element at most
- Map<DeploymentContent, BundleSuggestion> suggestions =
- info.suggestBundle(info.getNewMetadata().getApplicationDeploymentContents());
-
- BundleSuggestion toInstall = suggestions.values().iterator().next();
-
- Bundle newBundle = fwk.install(toInstall, info.getApplication());
- info.register(newBundle);
- if (info.startBundles()) fwk.start(newBundle);
-
- } catch (Exception e) {
- throw new RuntimeException(e);
+
+ private static final String SAMPLE_APP_NAME = "org.apache.aries.sample2";
+ /* Use @Before not @BeforeClass so as to ensure that these resources
+ * are created in the paxweb temp directory, and not in the svn tree
+ */
+ static boolean createdApplications = false;
+
+ @Before
+ public void createApplications() throws Exception {
+
+ if (createdApplications) {
+ return;
}
- }
-
- }, new Hashtable<String, String>());
- }
-
- private AriesApplication setupApp() throws Exception {
- AriesApplicationManager manager = context().getService(AriesApplicationManager.class);
- AriesApplication app = manager.createApplication(FileSystem.getFSRoot(new File("test.eba")));
- AriesApplicationContext ctx = manager.install(app);
- app = ctx.getApplication();
-
- ctx.start();
- assertAppMessage("hello world");
-
- return app;
- }
-
- private AriesApplicationContext updateApp(AriesApplicationManager manager, AriesApplication app) throws Exception {
- IsolationTestUtils.prepareSampleBundleV2(bundleContext,
- context().getService(RepositoryGenerator.class),
- context().getService(RepositoryAdmin.class),
- context().getService(ModellingManager.class));
-
- AriesApplication newApp = manager.resolve(app, new ResolveConstraint() {
- public String getBundleName() {
- return "org.apache.aries.isolated.sample";
- }
-
- public VersionRange getVersionRange() {
- return ManifestHeaderProcessor.parseVersionRange("[2.0.0,2.0.0]", true);
- }
- });
-
- return manager.update(app, newApp.getDeploymentMetadata());
- }
-
- private void assertAppMessage(String message) throws Exception {
- HelloWorld hw = IsolationTestUtils.findHelloWorldService(bundleContext, SAMPLE_APP_NAME);
- assertNotNull(hw);
- assertEquals(message, hw.getMessage());
- }
-
- private static Option[] generalConfiguration() {
- return testOptions(
- paxLogging("DEBUG"),
-
- // do not provision against the local runtime
- systemProperty(AppConstants.PROVISON_EXCLUDE_LOCAL_REPO_SYSPROP).value("true"),
- // Bundles
-
- mavenBundle("org.apache.aries.blueprint", "org.apache.aries.blueprint"),
- mavenBundle("org.ow2.asm", "asm-all"),
- mavenBundle("org.apache.aries.proxy", "org.apache.aries.proxy"),
- mavenBundle("org.apache.aries.transaction", "org.apache.aries.transaction.blueprint"),
- mavenBundle("org.apache.aries", "org.apache.aries.util"),
- mavenBundle("org.apache.aries.application", "org.apache.aries.application.api"),
- mavenBundle("org.apache.aries.application", "org.apache.aries.application.utils"),
- mavenBundle("org.apache.aries.application", "org.apache.aries.application.modeller"),
- mavenBundle("org.apache.aries.application", "org.apache.aries.application.default.local.platform"),
- mavenBundle("org.apache.felix", "org.apache.felix.bundlerepository"),
- mavenBundle("org.apache.aries.application", "org.apache.aries.application.resolver.obr"),
- mavenBundle("org.apache.aries.application", "org.apache.aries.application.deployment.management"),
- mavenBundle("org.apache.aries.application", "org.apache.aries.application.management"),
- mavenBundle("org.apache.aries.application", "org.apache.aries.application.runtime.framework"),
- mavenBundle("org.apache.aries.application", "org.apache.aries.application.runtime.framework.management"),
- mavenBundle("org.apache.aries.application", "org.apache.aries.application.runtime.repository"),
- mavenBundle("org.apache.aries.application", "org.apache.aries.application.runtime.isolated"),
- mavenBundle("org.osgi", "org.osgi.compendium"),
- mavenBundle("org.apache.geronimo.specs","geronimo-jta_1.1_spec")
-
- // new VMOption("-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5011"),
-
- /*
- * and add these imports:
- import static org.ops4j.pax.exam.CoreOptions.waitForFrameworkStartup;
- import static org.ops4j.pax.exam.container.def.PaxRunnerOptions.vmOption;
- */
- );
- }
-
- @org.ops4j.pax.exam.junit.Configuration
- public static Option[] configuration()
- {
- return testOptions(
- generalConfiguration(),
- PaxRunnerOptions.rawPaxRunnerOption("config", "classpath:ss-runner.properties")
- );
- }
+
+ ZipFixture testEba = ArchiveFixture.newZip()
+ .binary("META-INF/APPLICATION.MF",
+ UpdateAppTest.class.getClassLoader().getResourceAsStream("isolated/APPLICATION.MF"))
+ .jar("sample.jar")
+ .manifest().symbolicName("org.apache.aries.isolated.sample")
+ .attribute("Bundle-Version", "1.0.0")
+ .end()
+ .binary("org/apache/aries/isolated/sample/HelloWorld.class",
+ UpdateAppTest.class.getClassLoader().getResourceAsStream("org/apache/aries/isolated/sample/HelloWorld.class"))
+ .binary("org/apache/aries/isolated/sample/HelloWorldImpl.class",
+ UpdateAppTest.class.getClassLoader().getResourceAsStream("org/apache/aries/isolated/sample/HelloWorldImpl.class"))
+ .binary("OSGI-INF/blueprint/aries.xml",
+ UpdateAppTest.class.getClassLoader().getResourceAsStream("isolated/sample-blueprint.xml"))
+ .end();
+
+ FileOutputStream fout = new FileOutputStream("test.eba");
+ testEba.writeOut(fout);
+ fout.close();
+
+ ZipFixture sample2 = ArchiveFixture.newJar()
+ .manifest().symbolicName("org.apache.aries.isolated.sample")
+ .attribute("Bundle-Version", "2.0.0")
+ .end()
+ .binary("org/apache/aries/isolated/sample/HelloWorld.class",
+ IsolatedRuntimeTest.class.getClassLoader().getResourceAsStream("org/apache/aries/isolated/sample/HelloWorld.class"))
+ .binary("org/apache/aries/isolated/sample/HelloWorldImpl.class",
+ IsolatedRuntimeTest.class.getClassLoader().getResourceAsStream("org/apache/aries/isolated/sample/HelloWorldImpl.class"))
+ .binary("OSGI-INF/blueprint/aries.xml",
+ IsolatedRuntimeTest.class.getClassLoader().getResourceAsStream("isolated/sample2-blueprint.xml"))
+ .end();
+
+ fout = new FileOutputStream("sample_2.0.0.jar");
+ sample2.writeOut(fout);
+ fout.close();
+
+ createdApplications = true;
+ }
+
+ @Test
+ @Ignore
+ public void testFullUpdate() throws Exception {
+ AriesApplicationManager manager = context().getService(AriesApplicationManager.class);
+ AriesApplication app = setupApp();
+
+ updateApp(manager, app);
+
+ assertAppMessage("hello brave new world");
+ }
+
+ @Test
+ @Ignore
+ public void testFineUpdate() throws Exception {
+ AriesApplicationManager manager = context().getService(AriesApplicationManager.class);
+ AriesApplication app = setupApp();
+
+ BundleContext oldCtx = IsolationTestUtils.findIsolatedAppBundleContext(bundleContext, SAMPLE_APP_NAME);
+
+ installMockUpdateStrategy();
+ updateApp(manager, app);
+
+ BundleContext newCtx = IsolationTestUtils.findIsolatedAppBundleContext(bundleContext, SAMPLE_APP_NAME);
+ assertAppMessage("hello brave new world");
+
+ assertTrue("We bounced the app where the update was supposed to do an update in place", oldCtx == newCtx);
+ }
+
+ @Test
+ @Ignore
+ public void testUpdateThenStart() throws Exception {
+ AriesApplicationManager manager = context().getService(AriesApplicationManager.class);
+ AriesApplication app = manager.createApplication(FileSystem.getFSRoot(new File("test.eba")));
+ AriesApplicationContext ctx = manager.install(app);
+ app = ctx.getApplication();
+
+ BundleContext oldCtx = IsolationTestUtils.findIsolatedAppBundleContext(bundleContext, SAMPLE_APP_NAME);
+
+ installMockUpdateStrategy();
+ ctx = updateApp(manager, app);
+
+ BundleContext newCtx = IsolationTestUtils.findIsolatedAppBundleContext(bundleContext, SAMPLE_APP_NAME);
+
+ assertNull("App is not started yet but HelloWorld service is already there",
+ IsolationTestUtils.findHelloWorldService(bundleContext, SAMPLE_APP_NAME));
+
+ ctx.start();
+
+ assertAppMessage("hello brave new world");
+
+ assertTrue("We bounced the app where the update was supposed to do an update in place", oldCtx == newCtx);
+ }
+
+ private void installMockUpdateStrategy() {
+ bundleContext.registerService(UpdateStrategy.class.getName(), new UpdateStrategy() {
+
+ public boolean allowsUpdate(DeploymentMetadata newMetadata, DeploymentMetadata oldMetadata) {
+ return true;
+ }
+
+ public void update(UpdateInfo info) throws UpdateException {
+ BundleFramework fwk = info.getAppFramework();
+
+ Bundle old = null;
+ for (Bundle b : fwk.getBundles()) {
+ if (b.getSymbolicName().equals("org.apache.aries.isolated.sample")) {
+ old = b;
+ break;
+ }
+ }
+
+ if (old == null) throw new RuntimeException("Could not find old bundle");
+
+ try {
+ info.unregister(old);
+ fwk.uninstall(old);
+
+ // only contains one element at most
+ Map<DeploymentContent, BundleSuggestion> suggestions =
+ info.suggestBundle(info.getNewMetadata().getApplicationDeploymentContents());
+
+ BundleSuggestion toInstall = suggestions.values().iterator().next();
+
+ Bundle newBundle = fwk.install(toInstall, info.getApplication());
+ info.register(newBundle);
+ if (info.startBundles()) fwk.start(newBundle);
+
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ }, new Hashtable<String, String>());
+ }
+
+ private AriesApplication setupApp() throws Exception {
+ AriesApplicationManager manager = context().getService(AriesApplicationManager.class);
+ AriesApplication app = manager.createApplication(FileSystem.getFSRoot(new File("test.eba")));
+ AriesApplicationContext ctx = manager.install(app);
+ app = ctx.getApplication();
+
+ ctx.start();
+ assertAppMessage("hello world");
+
+ return app;
+ }
+
+ private AriesApplicationContext updateApp(AriesApplicationManager manager, AriesApplication app) throws Exception {
+ IsolationTestUtils.prepareSampleBundleV2(bundleContext,
+ context().getService(RepositoryGenerator.class),
+ context().getService(RepositoryAdmin.class),
+ context().getService(ModellingManager.class));
+
+ AriesApplication newApp = manager.resolve(app, new ResolveConstraint() {
+ public String getBundleName() {
+ return "org.apache.aries.isolated.sample";
+ }
+
+ public VersionRange getVersionRange() {
+ return ManifestHeaderProcessor.parseVersionRange("[2.0.0,2.0.0]", true);
+ }
+ });
+
+ return manager.update(app, newApp.getDeploymentMetadata());
+ }
+
+ private void assertAppMessage(String message) throws Exception {
+ HelloWorld hw = IsolationTestUtils.findHelloWorldService(bundleContext, SAMPLE_APP_NAME);
+ assertNotNull(hw);
+ assertEquals(message, hw.getMessage());
+ }
+
+ @Configuration
+ public static Option[] configuration() {
+ return options(
+
+ // framework / core bundles
+ mavenBundle("org.osgi", "org.osgi.core").versionAsInProject(),
+ mavenBundle("org.osgi", "org.osgi.compendium").versionAsInProject(),
+ mavenBundle("org.ops4j.pax.logging", "pax-logging-api").versionAsInProject(),
+ mavenBundle("org.ops4j.pax.logging", "pax-logging-service").versionAsInProject(),
+
+ // Logging
+ systemProperty("org.ops4j.pax.logging.DefaultServiceLog.level").value("INFO"),
+
+ // do not provision against the local runtime
+ systemProperty(AppConstants.PROVISON_EXCLUDE_LOCAL_REPO_SYSPROP).value("true"),
+
+ // Bundles
+ junitBundles(),
+ mavenBundle("org.apache.aries.testsupport", "org.apache.aries.testsupport.unit").versionAsInProject(),
+ mavenBundle("org.apache.aries.blueprint", "org.apache.aries.blueprint").versionAsInProject(),
+ mavenBundle("org.ow2.asm", "asm-all").versionAsInProject(),
+ mavenBundle("org.apache.aries.proxy", "org.apache.aries.proxy").versionAsInProject(),
+ mavenBundle("org.apache.aries.transaction", "org.apache.aries.transaction.blueprint").versionAsInProject(),
+ mavenBundle("org.apache.aries", "org.apache.aries.util").versionAsInProject(),
+ mavenBundle("org.apache.aries.application", "org.apache.aries.application.api").versionAsInProject(),
+ mavenBundle("org.apache.aries.application", "org.apache.aries.application.utils").versionAsInProject(),
+ mavenBundle("org.apache.aries.application", "org.apache.aries.application.modeller").versionAsInProject(),
+ mavenBundle("org.apache.aries.application", "org.apache.aries.application.default.local.platform").versionAsInProject(),
+ mavenBundle("org.apache.felix", "org.apache.felix.bundlerepository").versionAsInProject(),
+ mavenBundle("org.apache.aries.application", "org.apache.aries.application.resolver.obr").versionAsInProject(),
+ mavenBundle("org.apache.aries.application", "org.apache.aries.application.deployment.management").versionAsInProject(),
+ mavenBundle("org.apache.aries.application", "org.apache.aries.application.management").versionAsInProject(),
+ mavenBundle("org.apache.aries.application", "org.apache.aries.application.runtime.framework").versionAsInProject(),
+ mavenBundle("org.apache.aries.application", "org.apache.aries.application.runtime.framework.management").versionAsInProject(),
+ mavenBundle("org.apache.aries.application", "org.apache.aries.application.runtime.repository").versionAsInProject(),
+ mavenBundle("org.apache.aries.application", "org.apache.aries.application.runtime.isolated").versionAsInProject(),
+ mavenBundle("org.apache.geronimo.specs", "geronimo-jta_1.1_spec").versionAsInProject());
+ }
}
Modified: aries/branches/subsystemsR6/application/application-itests/src/test/java/org/apache/aries/isolated/config/HelloWorldManagedServiceImpl.java
URL: http://svn.apache.org/viewvc/aries/branches/subsystemsR6/application/application-itests/src/test/java/org/apache/aries/isolated/config/HelloWorldManagedServiceImpl.java?rev=1606837&r1=1606836&r2=1606837&view=diff
==============================================================================
--- aries/branches/subsystemsR6/application/application-itests/src/test/java/org/apache/aries/isolated/config/HelloWorldManagedServiceImpl.java (original)
+++ aries/branches/subsystemsR6/application/application-itests/src/test/java/org/apache/aries/isolated/config/HelloWorldManagedServiceImpl.java Mon Jun 30 16:54:57 2014
@@ -46,7 +46,7 @@ public class HelloWorldManagedServiceImp
Properties props = new Properties();
props.put(Constants.SERVICE_PID, "helloworld-mn");
this.context = context;
- this.msRegistration = context.registerService(ManagedService.class.getName(), this, props);
+ this.msRegistration = context.registerService(ManagedService.class.getName(), this, (Dictionary) props);
this.hwRegistration = null;
//manually call our update to make sure the HW service is exposed out
Modified: aries/branches/subsystemsR6/application/application-management/pom.xml
URL: http://svn.apache.org/viewvc/aries/branches/subsystemsR6/application/application-management/pom.xml?rev=1606837&r1=1606836&r2=1606837&view=diff
==============================================================================
--- aries/branches/subsystemsR6/application/application-management/pom.xml (original)
+++ aries/branches/subsystemsR6/application/application-management/pom.xml Mon Jun 30 16:54:57 2014
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
@@ -17,12 +18,14 @@
under the License.
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
<modelVersion>4.0.0</modelVersion>
+
<parent>
<groupId>org.apache.aries</groupId>
- <artifactId>java6-parent</artifactId>
- <version>1.0.0</version>
- <relativePath />
+ <artifactId>parent</artifactId>
+ <version>2.0.0-SNAPSHOT</version>
+ <relativePath>../../parent/pom.xml</relativePath>
</parent>
<groupId>org.apache.aries.application</groupId>
@@ -34,11 +37,11 @@
Implementation of the application management API
</description>
- <scm>
- <connection>scm:svn:http://svn.apache.org/repos/asf/aries/trunk/application/application-management</connection>
- <developerConnection>scm:svn:https://svn.apache.org/repos/asf/aries/trunk/application/application-management</developerConnection>
- <url>http://svn.apache.org/viewvc/aries/trunk/application/application-management</url>
- </scm>
+ <scm>
+ <connection>scm:svn:http://svn.apache.org/repos/asf/aries/trunk/application/application-management</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/aries/trunk/application/application-management</developerConnection>
+ <url>http://svn.apache.org/viewvc/aries/trunk/application/application-management</url>
+ </scm>
<properties>
<aries.osgi.export.pkg>
@@ -54,6 +57,7 @@
org.apache.aries.application.management.internal;
org.apache.aries.application.management.repository
</aries.osgi.private.pkg>
+ <lastReleaseVersion>1.0.0</lastReleaseVersion>
</properties>
<dependencies>
@@ -99,12 +103,12 @@
<scope>test</scope>
</dependency>
</dependencies>
+
<build>
<plugins>
<plugin>
<groupId>org.apache.aries.versioning</groupId>
<artifactId>org.apache.aries.versioning.plugin</artifactId>
- <version>0.1.0</version>
<executions>
<execution>
<id>default-verify</id>
@@ -112,12 +116,10 @@
<goals>
<goal>version-check</goal>
</goals>
- <configuration>
- <oldArtifact>org.apache.aries.application:org.apache.aries.application.management:1.0.0</oldArtifact>
- </configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
+
</project>
Modified: aries/branches/subsystemsR6/application/application-modeller-common-test/pom.xml
URL: http://svn.apache.org/viewvc/aries/branches/subsystemsR6/application/application-modeller-common-test/pom.xml?rev=1606837&r1=1606836&r2=1606837&view=diff
==============================================================================
--- aries/branches/subsystemsR6/application/application-modeller-common-test/pom.xml (original)
+++ aries/branches/subsystemsR6/application/application-modeller-common-test/pom.xml Mon Jun 30 16:54:57 2014
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
@@ -17,12 +18,14 @@
under the License.
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
<modelVersion>4.0.0</modelVersion>
+
<parent>
<groupId>org.apache.aries</groupId>
- <artifactId>java5-parent</artifactId>
- <version>1.0.0</version>
- <relativePath />
+ <artifactId>parent</artifactId>
+ <version>2.0.0-SNAPSHOT</version>
+ <relativePath>../../parent/pom.xml</relativePath>
</parent>
<groupId>org.apache.aries.application</groupId>
@@ -34,11 +37,11 @@
Modelling utilities for working with Aries Applications (distribution for offline use).
</description>
- <scm>
- <connection>scm:svn:http://svn.apache.org/repos/asf/aries/trunk/application/application-modeller-common-test</connection>
- <developerConnection>scm:svn:https://svn.apache.org/repos/asf/aries/trunk/application/application-modeller-common-test</developerConnection>
- <url>http://svn.apache.org/viewvc/aries/trunk/application/application-modeller-common-test</url>
- </scm>
+ <scm>
+ <connection>scm:svn:http://svn.apache.org/repos/asf/aries/trunk/application/application-modeller-common-test</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/aries/trunk/application/application-modeller-common-test</developerConnection>
+ <url>http://svn.apache.org/viewvc/aries/trunk/application/application-modeller-common-test</url>
+ </scm>
<dependencies>
<dependency>
Modified: aries/branches/subsystemsR6/application/application-modeller-standalone/pom.xml
URL: http://svn.apache.org/viewvc/aries/branches/subsystemsR6/application/application-modeller-standalone/pom.xml?rev=1606837&r1=1606836&r2=1606837&view=diff
==============================================================================
--- aries/branches/subsystemsR6/application/application-modeller-standalone/pom.xml (original)
+++ aries/branches/subsystemsR6/application/application-modeller-standalone/pom.xml Mon Jun 30 16:54:57 2014
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
@@ -17,12 +18,14 @@
under the License.
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
<modelVersion>4.0.0</modelVersion>
+
<parent>
<groupId>org.apache.aries</groupId>
- <artifactId>java5-parent</artifactId>
- <version>1.0.0</version>
- <relativePath />
+ <artifactId>parent</artifactId>
+ <version>2.0.0-SNAPSHOT</version>
+ <relativePath>../../parent/pom.xml</relativePath>
</parent>
<groupId>org.apache.aries.application</groupId>
@@ -34,11 +37,11 @@
Modelling utilities for working with Aries Applications (distribution for offline use).
</description>
- <scm>
- <connection>scm:svn:http://svn.apache.org/repos/asf/aries/trunk/application/application-modeller-standalone</connection>
- <developerConnection>scm:svn:https://svn.apache.org/repos/asf/aries/trunk/application/application-modeller-standalone</developerConnection>
- <url>http://svn.apache.org/viewvc/aries/trunk/application/application-modeller-standalone</url>
- </scm>
+ <scm>
+ <connection>scm:svn:http://svn.apache.org/repos/asf/aries/trunk/application/application-modeller-standalone</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/aries/trunk/application/application-modeller-standalone</developerConnection>
+ <url>http://svn.apache.org/viewvc/aries/trunk/application/application-modeller-standalone</url>
+ </scm>
<dependencies>
<dependency>
Modified: aries/branches/subsystemsR6/application/application-modeller/pom.xml
URL: http://svn.apache.org/viewvc/aries/branches/subsystemsR6/application/application-modeller/pom.xml?rev=1606837&r1=1606836&r2=1606837&view=diff
==============================================================================
--- aries/branches/subsystemsR6/application/application-modeller/pom.xml (original)
+++ aries/branches/subsystemsR6/application/application-modeller/pom.xml Mon Jun 30 16:54:57 2014
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
@@ -17,12 +18,14 @@
under the License.
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
<modelVersion>4.0.0</modelVersion>
+
<parent>
<groupId>org.apache.aries</groupId>
- <artifactId>java5-parent</artifactId>
- <version>1.0.0</version>
- <relativePath />
+ <artifactId>parent</artifactId>
+ <version>2.0.0-SNAPSHOT</version>
+ <relativePath>../../parent/pom.xml</relativePath>
</parent>
<groupId>org.apache.aries.application</groupId>
@@ -34,11 +37,11 @@
Modelling utilities for working with Aries Applications.
</description>
- <scm>
- <connection>scm:svn:http://svn.apache.org/repos/asf/aries/trunk/application/application-modeller</connection>
- <developerConnection>scm:svn:https://svn.apache.org/repos/asf/aries/trunk/application/application-modeller</developerConnection>
- <url>http://svn.apache.org/viewvc/aries/trunk/application/application-modeller</url>
- </scm>
+ <scm>
+ <connection>scm:svn:http://svn.apache.org/repos/asf/aries/trunk/application/application-modeller</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/aries/trunk/application/application-modeller</developerConnection>
+ <url>http://svn.apache.org/viewvc/aries/trunk/application/application-modeller</url>
+ </scm>
<properties>
<aries.osgi.private.pkg>
@@ -52,7 +55,7 @@
org.apache.aries.application.modelling.utils;provide:=true,
*
</aries.osgi.import.pkg>
-
+ <lastReleaseVersion>1.0.0</lastReleaseVersion>
</properties>
<dependencies>
@@ -91,8 +94,7 @@
<artifactId>org.apache.aries.blueprint.core</artifactId>
<version>1.2.0</version>
</dependency>
-
-
+
<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.core</artifactId>
@@ -119,12 +121,12 @@
<version>1.0.0</version>
</dependency>
</dependencies>
+
<build>
<plugins>
<plugin>
<groupId>org.apache.aries.versioning</groupId>
<artifactId>org.apache.aries.versioning.plugin</artifactId>
- <version>0.1.0</version>
<executions>
<execution>
<id>default-verify</id>
@@ -132,14 +134,10 @@
<goals>
<goal>version-check</goal>
</goals>
- <configuration>
- <oldArtifact>org.apache.aries.application:org.apache.aries.application.modeller:1.0.0</oldArtifact>
- </configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
-
</project>
Modified: aries/branches/subsystemsR6/application/application-noop-resolver/pom.xml
URL: http://svn.apache.org/viewvc/aries/branches/subsystemsR6/application/application-noop-resolver/pom.xml?rev=1606837&r1=1606836&r2=1606837&view=diff
==============================================================================
--- aries/branches/subsystemsR6/application/application-noop-resolver/pom.xml (original)
+++ aries/branches/subsystemsR6/application/application-noop-resolver/pom.xml Mon Jun 30 16:54:57 2014
@@ -1,26 +1,31 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to you under the Apache License, Version
- 2.0 (the "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0 Unless required by
- applicable law or agreed to in writing, software distributed under the
- License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
- CONDITIONS OF ANY KIND, either express or implied. See the License for
- the specific language governing permissions and limitations under the
- License.
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
<modelVersion>4.0.0</modelVersion>
+
<parent>
<groupId>org.apache.aries</groupId>
- <artifactId>java6-parent</artifactId>
- <version>1.0.0</version>
- <relativePath />
+ <artifactId>parent</artifactId>
+ <version>2.0.0-SNAPSHOT</version>
+ <relativePath>../../parent/pom.xml</relativePath>
</parent>
<groupId>org.apache.aries.application</groupId>
@@ -32,11 +37,11 @@
Dummy implementation of the AriesApplicationResolver
</description>
- <scm>
- <connection>scm:svn:http://svn.apache.org/repos/asf/aries/trunk/application/application-noop-resolver</connection>
- <developerConnection>scm:svn:https://svn.apache.org/repos/asf/aries/trunk/application/application-noop-resolver</developerConnection>
- <url>http://svn.apache.org/viewvc/aries/trunk/application/application-noop-resolver</url>
- </scm>
+ <scm>
+ <connection>scm:svn:http://svn.apache.org/repos/asf/aries/trunk/application/application-noop-resolver</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/aries/trunk/application/application-noop-resolver</developerConnection>
+ <url>http://svn.apache.org/viewvc/aries/trunk/application/application-noop-resolver</url>
+ </scm>
<properties>
<aries.osgi.export.pkg>
@@ -48,7 +53,9 @@
<aries.osgi.private.pkg>
org.apache.aries.application.resolver.noop.impl
</aries.osgi.private.pkg>
+ <lastReleaseVersion>1.0.0</lastReleaseVersion>
</properties>
+
<dependencies>
<dependency>
<groupId>org.osgi</groupId>
@@ -61,12 +68,12 @@
<version>1.0.0</version>
</dependency>
</dependencies>
+
<build>
<plugins>
<plugin>
<groupId>org.apache.aries.versioning</groupId>
<artifactId>org.apache.aries.versioning.plugin</artifactId>
- <version>0.1.0</version>
<executions>
<execution>
<id>default-verify</id>
@@ -74,9 +81,6 @@
<goals>
<goal>version-check</goal>
</goals>
- <configuration>
- <oldArtifact>org.apache.aries.application:org.apache.aries.application.resolver.noop:1.0.0</oldArtifact>
- </configuration>
</execution>
</executions>
</plugin>
Modified: aries/branches/subsystemsR6/application/application-obr-resolver/pom.xml
URL: http://svn.apache.org/viewvc/aries/branches/subsystemsR6/application/application-obr-resolver/pom.xml?rev=1606837&r1=1606836&r2=1606837&view=diff
==============================================================================
--- aries/branches/subsystemsR6/application/application-obr-resolver/pom.xml (original)
+++ aries/branches/subsystemsR6/application/application-obr-resolver/pom.xml Mon Jun 30 16:54:57 2014
@@ -1,27 +1,33 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to you under the Apache License, Version
- 2.0 (the "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0 Unless required by
- applicable law or agreed to in writing, software distributed under the
- License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
- CONDITIONS OF ANY KIND, either express or implied. See the License for
- the specific language governing permissions and limitations under the
- License.
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
<modelVersion>4.0.0</modelVersion>
+
<parent>
<groupId>org.apache.aries</groupId>
- <artifactId>java6-parent</artifactId>
- <version>1.0.0</version>
- <relativePath />
+ <artifactId>parent</artifactId>
+ <version>2.0.0-SNAPSHOT</version>
+ <relativePath>../../parent/pom.xml</relativePath>
</parent>
+
<groupId>org.apache.aries.application</groupId>
<artifactId>org.apache.aries.application.resolver.obr</artifactId>
<packaging>bundle</packaging>
@@ -31,15 +37,14 @@
Implementation of the AriesApplicationResolver using OBR
</description>
- <scm>
- <connection>scm:svn:http://svn.apache.org/repos/asf/aries/trunk/application/application-obr-resolver</connection>
- <developerConnection>scm:svn:https://svn.apache.org/repos/asf/aries/trunk/application/application-obr-resolver</developerConnection>
- <url>http://svn.apache.org/viewvc/aries/trunk/application/application-obr-resolver</url>
- </scm>
+ <scm>
+ <connection>scm:svn:http://svn.apache.org/repos/asf/aries/trunk/application/application-obr-resolver</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/aries/trunk/application/application-obr-resolver</developerConnection>
+ <url>http://svn.apache.org/viewvc/aries/trunk/application/application-obr-resolver</url>
+ </scm>
<properties>
<!-- Export package versions are maintained in packageinfo files -->
-
<aries.osgi.export.pkg>
org.apache.aries.application.resolver.obr.ext;
</aries.osgi.export.pkg>
@@ -54,7 +59,9 @@
org.apache.aries.application.resolver.obr.impl;
org.apache.aries.application.resolver.internal;
</aries.osgi.private.pkg>
+ <lastReleaseVersion>1.0.0</lastReleaseVersion>
</properties>
+
<dependencies>
<dependency>
<groupId>org.osgi</groupId>
@@ -98,12 +105,12 @@
<scope>test</scope>
</dependency>
</dependencies>
+
<build>
<plugins>
<plugin>
<groupId>org.apache.aries.versioning</groupId>
<artifactId>org.apache.aries.versioning.plugin</artifactId>
- <version>0.1.0</version>
<executions>
<execution>
<id>default-verify</id>
@@ -111,9 +118,6 @@
<goals>
<goal>version-check</goal>
</goals>
- <configuration>
- <oldArtifact>org.apache.aries.application:org.apache.aries.application.resolver.obr:1.0.0</oldArtifact>
- </configuration>
</execution>
</executions>
</plugin>
Modified: aries/branches/subsystemsR6/application/application-obr-resolver/src/main/java/org/apache/aries/application/resolver/obr/impl/ApplicationResourceImpl.java
URL: http://svn.apache.org/viewvc/aries/branches/subsystemsR6/application/application-obr-resolver/src/main/java/org/apache/aries/application/resolver/obr/impl/ApplicationResourceImpl.java?rev=1606837&r1=1606836&r2=1606837&view=diff
==============================================================================
--- aries/branches/subsystemsR6/application/application-obr-resolver/src/main/java/org/apache/aries/application/resolver/obr/impl/ApplicationResourceImpl.java (original)
+++ aries/branches/subsystemsR6/application/application-obr-resolver/src/main/java/org/apache/aries/application/resolver/obr/impl/ApplicationResourceImpl.java Mon Jun 30 16:54:57 2014
@@ -66,6 +66,10 @@ public class ApplicationResourceImpl imp
{
return delgate.matchCase(dictionary);
}
+
+ public boolean matches(Map<java.lang.String,?> map) {
+ return delgate.matches(map);
+ }
public String toString()
{
Modified: aries/branches/subsystemsR6/application/application-resolve-transform-cm-itests/pom.xml
URL: http://svn.apache.org/viewvc/aries/branches/subsystemsR6/application/application-resolve-transform-cm-itests/pom.xml?rev=1606837&r1=1606836&r2=1606837&view=diff
==============================================================================
--- aries/branches/subsystemsR6/application/application-resolve-transform-cm-itests/pom.xml (original)
+++ aries/branches/subsystemsR6/application/application-resolve-transform-cm-itests/pom.xml Mon Jun 30 16:54:57 2014
@@ -1,38 +1,46 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to you under the Apache License, Version
- 2.0 (the "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0 Unless required by
- applicable law or agreed to in writing, software distributed under the
- License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
- CONDITIONS OF ANY KIND, either express or implied. See the License for
- the specific language governing permissions and limitations under the
- License.
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
<modelVersion>4.0.0</modelVersion>
+
<parent>
<groupId>org.apache.aries</groupId>
- <artifactId>java6-parent</artifactId>
- <version>1.0.0</version>
- <relativePath />
+ <artifactId>parent</artifactId>
+ <version>2.0.0-SNAPSHOT</version>
+ <relativePath>../../parent/pom.xml</relativePath>
</parent>
+
<groupId>org.apache.aries.application</groupId>
<artifactId>org.apache.aries.application.resolve.transform.cm.itests</artifactId>
<packaging>bundle</packaging>
<version>1.0.1-SNAPSHOT</version>
<name>Apache Aries Application Resolve CM Transform iTests</name>
<description>Apache Aries Application Resolve CM Transformer iTests</description>
- <scm>
- <connection>scm:svn:http://svn.apache.org/repos/asf/aries/trunk/application/application-resolve-transform-cm-itests</connection>
- <developerConnection>scm:svn:https://svn.apache.org/repos/asf/aries/trunk/application/application-resolve-transform-cm-itests</developerConnection>
- <url>http://svn.apache.org/viewvc/aries/trunk/application/application-resolve-transform-cm-itests</url>
- </scm>
+
+ <scm>
+ <connection>scm:svn:http://svn.apache.org/repos/asf/aries/trunk/application/application-resolve-transform-cm-itests</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/aries/trunk/application/application-resolve-transform-cm-itests</developerConnection>
+ <url>http://svn.apache.org/viewvc/aries/trunk/application/application-resolve-transform-cm-itests</url>
+ </scm>
+
<properties>
<aries.osgi.export.pkg>
</aries.osgi.export.pkg>
@@ -40,7 +48,9 @@
org.apache.aries.application.resolve.transform.cm.itests;
</aries.osgi.private.pkg>
</properties>
+
<dependencies>
+ <!-- application bundles -->
<dependency>
<groupId>org.apache.aries.application</groupId>
<artifactId>org.apache.aries.application.resolve.transform.cm</artifactId>
@@ -56,12 +66,25 @@
<artifactId>org.apache.aries.application.utils</artifactId>
<version>1.0.0</version>
</dependency>
+
+ <!-- framework and test bundles-->
<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.core</artifactId>
<scope>test</scope>
</dependency>
<dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.compendium</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse</groupId>
+ <artifactId>org.eclipse.osgi</artifactId>
+ <version>3.8.0.v20120529-1548</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
<groupId>org.apache.aries</groupId>
<artifactId>org.apache.aries.util</artifactId>
<version>1.0.0</version>
@@ -76,27 +99,17 @@
<dependency>
<groupId>org.apache.aries.proxy</groupId>
<artifactId>org.apache.aries.proxy</artifactId>
- <version>1.0.0</version>
+ <version>1.0.2-SNAPSHOT</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm-all</artifactId>
- <version>4.0</version>
+ <version>5.0.3</version>
<scope>test</scope>
</dependency>
- <dependency>
- <groupId>org.osgi</groupId>
- <artifactId>org.osgi.compendium</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.eclipse</groupId>
- <artifactId>osgi</artifactId>
- <version>3.5.0.v20090520</version>
- <type>jar</type>
- <scope>test</scope>
- </dependency>
+
+ <!-- logging -->
<dependency>
<groupId>org.ops4j.pax.logging</groupId>
<artifactId>pax-logging-api</artifactId>
@@ -107,28 +120,47 @@
<artifactId>pax-logging-service</artifactId>
<scope>test</scope>
</dependency>
+
+ <!-- pax exam -->
<dependency>
<groupId>org.ops4j.pax.exam</groupId>
<artifactId>pax-exam</artifactId>
+ <version>3.4.0</version>
<scope>test</scope>
</dependency>
- <dependency>
- <groupId>org.ops4j.pax.exam</groupId>
- <artifactId>pax-exam-junit</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.ops4j.pax.exam</groupId>
- <artifactId>pax-exam-container-default</artifactId>
- <scope>test</scope>
- </dependency>
+ <dependency>
+ <groupId>org.ops4j.pax.exam</groupId>
+ <artifactId>pax-exam-junit4</artifactId>
+ <version>3.4.0</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.ops4j.pax.exam</groupId>
+ <artifactId>pax-exam-container-forked</artifactId>
+ <version>3.4.0</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.ops4j.pax.exam</groupId>
+ <artifactId>pax-exam-link-mvn</artifactId>
+ <version>3.4.0</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.ops4j.pax.url</groupId>
+ <artifactId>pax-url-aether</artifactId>
+ <version>1.6.0</version>
+ <scope>test</scope>
+ </dependency>
+
<dependency>
<groupId>org.apache.aries.testsupport</groupId>
<artifactId>org.apache.aries.testsupport.unit</artifactId>
- <version>1.0.0</version>
+ <version>2.0.0-SNAPSHOT</version>
<scope>test</scope>
</dependency>
</dependencies>
+
<build>
<plugins>
<plugin>
@@ -150,18 +182,34 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <forkMode>pertest</forkMode>
- <excludes>
- <exclude>**/*$*</exclude>
- <exclude>**/Abstract*.java</exclude>
- </excludes>
- <includes>
- <include>**/Test*.java</include>
- <include>**/*Test.java</include>
- </includes>
- </configuration>
</plugin>
</plugins>
</build>
+
+ <profiles>
+ <profile>
+ <id>ci-build-profile</id>
+ <activation>
+ <property>
+ <name>maven.repo.local</name>
+ </property>
+ </activation>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <!--
+ when the local repo location has been specified, we need to pass
+ on this information to PAX mvn url
+ -->
+ <argLine>-Dorg.ops4j.pax.url.mvn.localRepository=${maven.repo.local}</argLine>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
+
</project>