Change the framework impl dependency as provided
The atomos.runtime artifact should not pull in
a default framework implemention. Users of
atomos.runtime must select the OSGi R8
framework they want to use
diff --git a/atomos-parent/pom.xml b/atomos-parent/pom.xml
index 02442f7..515a4f9 100644
--- a/atomos-parent/pom.xml
+++ b/atomos-parent/pom.xml
@@ -123,6 +123,12 @@
</dependency>
<dependency>
<groupId>org.osgi</groupId>
+ <artifactId>osgi.core</artifactId>
+ <version>8.0.0</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
<artifactId>osgi.annotation</artifactId>
<version>7.0.0</version>
<scope>provided</scope>
diff --git a/atomos.examples/atomos.examples.springloader/pom.xml b/atomos.examples/atomos.examples.springloader/pom.xml
index d2c8e6e..2bb511f 100644
--- a/atomos.examples/atomos.examples.springloader/pom.xml
+++ b/atomos.examples/atomos.examples.springloader/pom.xml
@@ -12,12 +12,30 @@
<profiles>
<profile>
+ <id>equinox</id>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.felix.atomos.osgi.frameworks.equinox</groupId>
+ <artifactId>atomos.osgi.framework</artifactId>
+ <version>${atomos.version}</version>
+ </dependency>
+ </dependencies>
+ <activation>
+ <activeByDefault>true</activeByDefault>
+ </activation>
+ </profile>
+ <profile>
<id>felix</id>
<properties>
<buildWithFelix>true</buildWithFelix>
</properties>
<dependencies>
<dependency>
+ <groupId>org.apache.felix.atomos.osgi.frameworks.felix</groupId>
+ <artifactId>atomos.osgi.framework</artifactId>
+ <version>${atomos.version}</version>
+ </dependency>
+ <dependency>
<groupId>org.apache.felix</groupId>
<artifactId>org.apache.felix.log</artifactId>
</dependency>
diff --git a/atomos.runtime/pom.xml b/atomos.runtime/pom.xml
index d4b0710..9bc0844 100644
--- a/atomos.runtime/pom.xml
+++ b/atomos.runtime/pom.xml
@@ -29,6 +29,11 @@
<artifactId>org.apache.felix.gogo.runtime</artifactId>
<scope>provided</scope>
</dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>osgi.core</artifactId>
+ <scope>provided</scope>
+ </dependency>
</dependencies>
<profiles>
<profile>
@@ -38,6 +43,7 @@
<groupId>org.apache.felix.atomos.osgi.frameworks.equinox</groupId>
<artifactId>atomos.osgi.framework</artifactId>
<version>${atomos.version}</version>
+ <scope>provided</scope>
</dependency>
</dependencies>
<activation>
@@ -54,6 +60,7 @@
<groupId>org.apache.felix.atomos.osgi.frameworks.felix</groupId>
<artifactId>atomos.osgi.framework</artifactId>
<version>${atomos.version}</version>
+ <scope>provided</scope>
</dependency>
</dependencies>
</profile>
@@ -62,26 +69,6 @@
<build>
<plugins>
<plugin>
- <groupId>org.apache.rat</groupId>
- <artifactId>apache-rat-plugin</artifactId>
- <executions>
- <execution>
- <phase>verify</phase>
- <goals>
- <goal>check</goal>
- </goals>
- </execution>
- </executions>
- <configuration>
- <includes>
- <include>src/**</include>
- </includes>
- <excludes>
- <exclude>src/main/resources/META-INF/**</exclude>
- </excludes>
- </configuration>
- </plugin>
- <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<executions>
diff --git a/atomos.substrate.config/pom.xml b/atomos.substrate.config/pom.xml
index ed2f7ec..8b882fc 100644
--- a/atomos.substrate.config/pom.xml
+++ b/atomos.substrate.config/pom.xml
@@ -26,6 +26,11 @@
</dependency>
<dependency>
<groupId>org.osgi</groupId>
+ <artifactId>osgi.core</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
<artifactId>org.osgi.service.component</artifactId>
</dependency>
<dependency>
diff --git a/atomos.tests/atomos.tests.classpath.service/pom.xml b/atomos.tests/atomos.tests.classpath.service/pom.xml
index 0960508..05f5dad 100644
--- a/atomos.tests/atomos.tests.classpath.service/pom.xml
+++ b/atomos.tests/atomos.tests.classpath.service/pom.xml
@@ -8,6 +8,36 @@
</parent>
<artifactId>org.apache.felix.atomos.tests.classpath.service</artifactId>
<name>atomos.tests.classpath.service</name>
+ <profiles>
+ <profile>
+ <id>equinox</id>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.felix.atomos.osgi.frameworks.equinox</groupId>
+ <artifactId>atomos.osgi.framework</artifactId>
+ <version>${atomos.version}</version>
+ <scope>provided</scope>
+ </dependency>
+ </dependencies>
+ <activation>
+ <activeByDefault>true</activeByDefault>
+ </activation>
+ </profile>
+ <profile>
+ <id>felix</id>
+ <properties>
+ <buildWithFelix>true</buildWithFelix>
+ </properties>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.felix.atomos.osgi.frameworks.felix</groupId>
+ <artifactId>atomos.osgi.framework</artifactId>
+ <version>${atomos.version}</version>
+ <scope>provided</scope>
+ </dependency>
+ </dependencies>
+ </profile>
+ </profiles>
<dependencies>
<dependency>
<groupId>org.apache.felix</groupId>
diff --git a/atomos.tests/atomos.tests.index.bundles/pom.xml b/atomos.tests/atomos.tests.index.bundles/pom.xml
index 5106c9f..cd5ec00 100644
--- a/atomos.tests/atomos.tests.index.bundles/pom.xml
+++ b/atomos.tests/atomos.tests.index.bundles/pom.xml
@@ -8,6 +8,36 @@
</parent>
<artifactId>org.apache.felix.atomos.tests.index.bundles</artifactId>
<name>atomos.tests.index.bundles</name>
+ <profiles>
+ <profile>
+ <id>equinox</id>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.felix.atomos.osgi.frameworks.equinox</groupId>
+ <artifactId>atomos.osgi.framework</artifactId>
+ <version>${atomos.version}</version>
+ <scope>provided</scope>
+ </dependency>
+ </dependencies>
+ <activation>
+ <activeByDefault>true</activeByDefault>
+ </activation>
+ </profile>
+ <profile>
+ <id>felix</id>
+ <properties>
+ <buildWithFelix>true</buildWithFelix>
+ </properties>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.felix.atomos.osgi.frameworks.felix</groupId>
+ <artifactId>atomos.osgi.framework</artifactId>
+ <version>${atomos.version}</version>
+ <scope>provided</scope>
+ </dependency>
+ </dependencies>
+ </profile>
+ </profiles>
<dependencies>
<dependency>
<groupId>org.apache.felix</groupId>
diff --git a/atomos.tests/atomos.tests.modulepath.service/pom.xml b/atomos.tests/atomos.tests.modulepath.service/pom.xml
index 88763f0..0c57c4a 100644
--- a/atomos.tests/atomos.tests.modulepath.service/pom.xml
+++ b/atomos.tests/atomos.tests.modulepath.service/pom.xml
@@ -8,9 +8,36 @@
</parent>
<artifactId>org.apache.felix.atomos.tests.modulepath.service</artifactId>
<name>atomos.tests.modulepath.service</name>
- <properties>
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- </properties>
+ <profiles>
+ <profile>
+ <id>equinox</id>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.felix.atomos.osgi.frameworks.equinox</groupId>
+ <artifactId>atomos.osgi.framework</artifactId>
+ <version>${atomos.version}</version>
+ <scope>provided</scope>
+ </dependency>
+ </dependencies>
+ <activation>
+ <activeByDefault>true</activeByDefault>
+ </activation>
+ </profile>
+ <profile>
+ <id>felix</id>
+ <properties>
+ <buildWithFelix>true</buildWithFelix>
+ </properties>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.felix.atomos.osgi.frameworks.felix</groupId>
+ <artifactId>atomos.osgi.framework</artifactId>
+ <version>${atomos.version}</version>
+ <scope>provided</scope>
+ </dependency>
+ </dependencies>
+ </profile>
+ </profiles>
<dependencies>
<dependency>
<groupId>org.apache.felix</groupId>
diff --git a/atomos.tests/atomos.tests.testbundles/atomos.tests.testbundles.service.impl.activator/pom.xml b/atomos.tests/atomos.tests.testbundles/atomos.tests.testbundles.service.impl.activator/pom.xml
index 96d2e55..3b7a2cf 100644
--- a/atomos.tests/atomos.tests.testbundles/atomos.tests.testbundles.service.impl.activator/pom.xml
+++ b/atomos.tests/atomos.tests.testbundles/atomos.tests.testbundles.service.impl.activator/pom.xml
@@ -12,9 +12,10 @@
<dependencies>
<dependency>
- <groupId>org.apache.felix</groupId>
- <artifactId>org.apache.felix.atomos.runtime</artifactId>
+ <groupId>org.apache.felix.atomos.osgi.frameworks.felix</groupId>
+ <artifactId>atomos.osgi.framework</artifactId>
<version>${atomos.version}</version>
+ <scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.felix.atomos.tests</groupId>
diff --git a/atomos.tests/atomos.tests.testbundles/atomos.tests.testbundles.service.user/pom.xml b/atomos.tests/atomos.tests.testbundles/atomos.tests.testbundles.service.user/pom.xml
index 83447b6..b81a6d3 100644
--- a/atomos.tests/atomos.tests.testbundles/atomos.tests.testbundles.service.user/pom.xml
+++ b/atomos.tests/atomos.tests.testbundles/atomos.tests.testbundles.service.user/pom.xml
@@ -26,6 +26,7 @@
<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.service.component.annotations</artifactId>
+ <scope>provided</scope>
</dependency>
</dependencies>
<profiles>
diff --git a/atomos.tests/atomos.tests.testbundles/atomos.tests.testbundles.service.user/src/main/java/module-info.java b/atomos.tests/atomos.tests.testbundles/atomos.tests.testbundles.service.user/src/main/java/module-info.java
index 290081d..063f087 100644
--- a/atomos.tests/atomos.tests.testbundles/atomos.tests.testbundles.service.user/src/main/java/module-info.java
+++ b/atomos.tests/atomos.tests.testbundles/atomos.tests.testbundles.service.user/src/main/java/module-info.java
@@ -14,6 +14,6 @@
open module org.apache.felix.atomos.tests.testbundles.service.user
{
requires org.apache.felix.atomos.tests.testbundles.service.contract;
- requires atomos.osgi.framework;
requires static org.osgi.service.component.annotations;
+ requires static osgi.annotation;
}
diff --git a/atomos.tests/atomos.tests.testbundles/atomos.tests.testbundles.service.user/src/main/java/org/apache/felix/atomos/tests/testbundles/service/user/EchoUser.java b/atomos.tests/atomos.tests.testbundles/atomos.tests.testbundles.service.user/src/main/java/org/apache/felix/atomos/tests/testbundles/service/user/EchoUser.java
index 357ed25..b3f79b3 100644
--- a/atomos.tests/atomos.tests.testbundles/atomos.tests.testbundles.service.user/src/main/java/org/apache/felix/atomos/tests/testbundles/service/user/EchoUser.java
+++ b/atomos.tests/atomos.tests.testbundles/atomos.tests.testbundles.service.user/src/main/java/org/apache/felix/atomos/tests/testbundles/service/user/EchoUser.java
@@ -14,13 +14,14 @@
package org.apache.felix.atomos.tests.testbundles.service.user;
import org.apache.felix.atomos.tests.testbundles.service.contract.Echo;
+import org.osgi.annotation.bundle.Requirement;
import org.osgi.service.component.annotations.Activate;
import org.osgi.service.component.annotations.Component;
import org.osgi.service.component.annotations.Reference;
@Component(service = EchoUser.class, property = {
"echo.reference:Boolean=true" }, immediate = true)
-@org.osgi.annotation.bundle.Requirement(namespace = "osgi.ee", filter = "(&(osgi.ee=JavaSE)(version=1.8))")
+@Requirement(namespace = "osgi.ee", filter = "(&(osgi.ee=JavaSE)(version=1.8))")
public class EchoUser
{
@Activate
diff --git a/atomos.tests/atomos.tests.testbundles/atomos.tests.testbundles.service.user/src/main/java/org/apache/felix/atomos/tests/testbundles/service/user/EchoUser2.java b/atomos.tests/atomos.tests.testbundles/atomos.tests.testbundles.service.user/src/main/java/org/apache/felix/atomos/tests/testbundles/service/user/EchoUser2.java
index 0cc2863..aff1191 100644
--- a/atomos.tests/atomos.tests.testbundles/atomos.tests.testbundles.service.user/src/main/java/org/apache/felix/atomos/tests/testbundles/service/user/EchoUser2.java
+++ b/atomos.tests/atomos.tests.testbundles/atomos.tests.testbundles.service.user/src/main/java/org/apache/felix/atomos/tests/testbundles/service/user/EchoUser2.java
@@ -16,13 +16,14 @@
import java.util.Map;
import org.apache.felix.atomos.tests.testbundles.service.contract.Echo;
+import org.osgi.annotation.bundle.Requirement;
import org.osgi.service.component.annotations.Activate;
import org.osgi.service.component.annotations.Component;
import org.osgi.service.component.annotations.Reference;
@Component(service = EchoUser2.class, property = {
"echo.reference:Boolean=true" }, immediate = true)
-@org.osgi.annotation.bundle.Requirement(namespace = "osgi.ee", filter = "(&(osgi.ee=JavaSE)(version=1.8))")
+@Requirement(namespace = "osgi.ee", filter = "(&(osgi.ee=JavaSE)(version=1.8))")
public class EchoUser2
{
@Activate