Separating onos-drivers to be delivered as a separate app from onos-openflow. Apps activated by default (via onos-setup-karaf or onos-install/onos-config) are now onos-drivers and onos-openflow.
Change-Id: I35c7cca79a4b72e966cbc2cebe72b109f2d92706
diff --git a/drivers/app.xml b/drivers/app.xml
new file mode 100644
index 0000000..ac4f5d6
--- /dev/null
+++ b/drivers/app.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright 2015 Open Networking Laboratory
+ ~
+ ~ Licensed 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.
+ -->
+<app name="org.onosproject.drivers" origin="ON.Lab" version="${feature.version}"
+ featuresRepo="mvn:${project.groupId}/${project.artifactId}/${project.version}/xml/features"
+ features="${project.artifactId}">
+ <description>${project.description}</description>
+ <artifact>mvn:${project.groupId}/${project.artifactId}/${project.version}</artifact>
+</app>
diff --git a/drivers/pom.xml b/drivers/pom.xml
index 8538f4a..bb07a78 100644
--- a/drivers/pom.xml
+++ b/drivers/pom.xml
@@ -30,7 +30,7 @@
<artifactId>onos-drivers</artifactId>
<packaging>bundle</packaging>
- <description>ONOS Default Device Drivers</description>
+ <description>Builtin device drivers</description>
<dependencies>
<dependency>
@@ -66,7 +66,10 @@
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
</plugin>
-
+ <plugin>
+ <groupId>org.onosproject</groupId>
+ <artifactId>onos-maven-plugin</artifactId>
+ </plugin>
</plugins>
</build>
</project>
diff --git a/features/features.xml b/features/features.xml
index bf7e17c..ce35e6d 100644
--- a/features/features.xml
+++ b/features/features.xml
@@ -68,9 +68,10 @@
</feature>
<feature name="onos-thirdparty-web" version="@FEATURE-VERSION"
- description="ONOS 3rd party dependencies">
+ description="ONOS 3rd party dependencies for web apps">
<feature>war</feature>
<feature>onos-thirdparty-base</feature>
+ <!-- FIXME: we should upgrade our jersey eventually -->
<bundle>mvn:com.sun.jersey/jersey-core/1.19</bundle>
<bundle>mvn:com.sun.jersey/jersey-server/1.19</bundle>
<bundle>mvn:com.sun.jersey/jersey-servlet/1.19</bundle>
@@ -120,29 +121,9 @@
<bundle>mvn:org.onosproject/onos-cli/@ONOS-VERSION</bundle>
</feature>
- <!-- ONOS OpenFlow provider app features -->
-
- <feature name="onos-openflow" version="@FEATURE-VERSION"
- description="ONOS OpenFlow API, Controller & Providers">
- <feature>onos-api</feature>
- <bundle>mvn:io.netty/netty/3.9.2.Final</bundle>
- <bundle>mvn:org.onosproject/onos-of-api/@ONOS-VERSION</bundle>
- <bundle>mvn:org.onosproject/onos-of-drivers/@ONOS-VERSION</bundle>
- <bundle>mvn:org.onosproject/onos-of-ctl/@ONOS-VERSION</bundle>
- <bundle>mvn:org.onosproject/onos-drivers/@ONOS-VERSION</bundle>
-
- <bundle>mvn:org.onosproject/onos-lldp-provider/@ONOS-VERSION</bundle>
- <bundle>mvn:org.onosproject/onos-host-provider/@ONOS-VERSION</bundle>
- <bundle>mvn:org.onosproject/onos-of-provider-device/@ONOS-VERSION</bundle>
- <bundle>mvn:org.onosproject/onos-of-provider-packet/@ONOS-VERSION</bundle>
- <bundle>mvn:org.onosproject/onos-of-provider-flow/@ONOS-VERSION</bundle>
- <bundle>mvn:org.onosproject/onos-of-provider-group/@ONOS-VERSION</bundle>
- </feature>
-
<!-- Deprecated! For standalone testing only. -->
-
<feature name="onos-core-trivial" version="@FEATURE-VERSION"
- description="ONOS core components">
+ description="ONOS trivial core components">
<feature>onos-api</feature>
<bundle>mvn:org.onosproject/onos-core-net/@ONOS-VERSION</bundle>
<bundle>mvn:org.onosproject/onos-core-common/@ONOS-VERSION</bundle>
diff --git a/providers/openflow/app/app.xml b/providers/openflow/app/app.xml
index afa63fa..e143328 100644
--- a/providers/openflow/app/app.xml
+++ b/providers/openflow/app/app.xml
@@ -15,8 +15,9 @@
~ limitations under the License.
-->
<app name="org.onosproject.openflow" origin="ON.Lab" version="${feature.version}"
- features="onos-openflow">
- <description>OpenFlow protocol southbound providers</description>
+ featuresRepo="mvn:${project.groupId}/${project.artifactId}/${project.version}/xml/features"
+ features="${project.artifactId}">
+ <description>${project.description}</description>
<artifact>mvn:${project.groupId}/onos-of-api/${project.version}</artifact>
<artifact>mvn:${project.groupId}/onos-of-drivers/${project.version}</artifact>
diff --git a/providers/openflow/app/features.xml b/providers/openflow/app/features.xml
new file mode 100644
index 0000000..521a20b
--- /dev/null
+++ b/providers/openflow/app/features.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<!--
+ ~ Copyright 2015 Open Networking Laboratory
+ ~
+ ~ Licensed 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.
+ -->
+<features xmlns="http://karaf.apache.org/xmlns/features/v1.2.0" name="${project.artifactId}-${feature.version}">
+ <repository>mvn:${project.groupId}/${project.artifactId}/${project.version}/xml/features</repository>
+ <feature name="${project.artifactId}" version="${feature.version}"
+ description="${project.description}">
+ <feature>onos-api</feature>
+ <bundle>mvn:io.netty/netty/3.9.2.Final</bundle>
+ <bundle>mvn:${project.groupId}/onos-of-api/${project.version}</bundle>
+ <bundle>mvn:${project.groupId}/onos-of-drivers/${project.version}</bundle>
+ <bundle>mvn:${project.groupId}/onos-of-ctl/${project.version}</bundle>
+ <bundle>mvn:${project.groupId}/onos-drivers/${project.version}</bundle>
+
+ <bundle>mvn:${project.groupId}/onos-lldp-provider/${project.version}</bundle>
+ <bundle>mvn:${project.groupId}/onos-host-provider/${project.version}</bundle>
+ <bundle>mvn:${project.groupId}/onos-of-provider-device/${project.version}</bundle>
+ <bundle>mvn:${project.groupId}/onos-of-provider-packet/${project.version}</bundle>
+ <bundle>mvn:${project.groupId}/onos-of-provider-flow/${project.version}</bundle>
+ <bundle>mvn:${project.groupId}/onos-of-provider-group/${project.version}</bundle>
+ </feature>
+</features>
diff --git a/providers/openflow/app/pom.xml b/providers/openflow/app/pom.xml
index bcbb632..42a03d3 100644
--- a/providers/openflow/app/pom.xml
+++ b/providers/openflow/app/pom.xml
@@ -26,10 +26,10 @@
<relativePath>../pom.xml</relativePath>
</parent>
- <artifactId>onos-of-providers-app</artifactId>
+ <artifactId>onos-openflow</artifactId>
<packaging>pom</packaging>
- <description>ONOS OpenFlow providers app</description>
+ <description>OpenFlow protocol southbound providers</description>
<dependencies>
<dependency>
diff --git a/providers/pom.xml b/providers/pom.xml
index 23f6f0d..70d867e 100644
--- a/providers/pom.xml
+++ b/providers/pom.xml
@@ -70,7 +70,6 @@
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
</plugin>
-
<plugin>
<groupId>org.onosproject</groupId>
<artifactId>onos-maven-plugin</artifactId>
diff --git a/tools/test/bin/onos-config b/tools/test/bin/onos-config
index 0921c13..b494852 100755
--- a/tools/test/bin/onos-config
+++ b/tools/test/bin/onos-config
@@ -12,7 +12,7 @@
export ONOS_BOOT_FEATURES="${ONOS_BOOT_FEATURES:-webconsole,onos-api,onos-core,onos-cli,onos-rest,onos-gui}"
# ONOS builtin apps and providers ignited by default
-export ONOS_APPS="${ONOS_APPS:-openflow}"
+export ONOS_APPS="${ONOS_APPS:-drivers,openflow}"
# Generate a cluster.json from the ON* environment variables
CDEF_FILE=/tmp/${remote}.cluster.json
diff --git a/tools/test/bin/onos-setup-karaf b/tools/test/bin/onos-setup-karaf
index 56102cb..ab89d58 100755
--- a/tools/test/bin/onos-setup-karaf
+++ b/tools/test/bin/onos-setup-karaf
@@ -94,6 +94,6 @@
onos-stage-apps $STAGE/apps $KARAF_ROOT/system
echo "Customizing apps to be auto-activated..."
-for app in $(echo ${ONOS_APPS:-openflow} | tr ',' ' '); do
+for app in $(echo ${ONOS_APPS:-drivers,openflow} | tr ',' ' '); do
touch $STAGE/apps/org.onosproject.$app/active
done