Refactor: remove redundant deps and include api in app oar bundle

Change-Id: I72a68a13172d0485a5ad0b94233c1480691357a2
diff --git a/apps/openstacknode/api/pom.xml b/apps/openstacknode/api/pom.xml
index 5286861..a6ef5fc 100644
--- a/apps/openstacknode/api/pom.xml
+++ b/apps/openstacknode/api/pom.xml
@@ -28,87 +28,12 @@
     <artifactId>onos-apps-openstacknode-api</artifactId>
     <packaging>bundle</packaging>
 
-    <description>SONA Openstack Node Bootstrap Application</description>
-
-
-    <properties>
-        <onos.app.name>org.onosproject.openstacknode</onos.app.name>
-        <onos.app.title>OpenStack Node Bootstrap App</onos.app.title>
-        <onos.app.category>Utility</onos.app.category>
-        <onos.app.url>http://onosproject.org</onos.app.url>
-        <onos.app.readme>SONA Openstack Node Bootstrap Application</onos.app.readme>
-        <onos.app.requires>
-            org.onosproject.ovsdb-base,
-            org.onosproject.drivers.ovsdb
-        </onos.app.requires>
-    </properties>
+    <description>SONA Openstack Node Bootstrap API Application</description>
 
     <dependencies>
         <dependency>
-            <groupId>org.osgi</groupId>
-            <artifactId>org.osgi.compendium</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.onosproject</groupId>
-            <artifactId>onos-rest</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
             <groupId>org.onosproject</groupId>
             <artifactId>onos-api</artifactId>
         </dependency>
-        <dependency>
-            <groupId>org.onosproject</groupId>
-            <artifactId>onos-core-serializers</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.onosproject</groupId>
-            <artifactId>onos-cli</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.onosproject</groupId>
-            <artifactId>onos-protocols-ovsdb-api</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>com.fasterxml.jackson.core</groupId>
-            <artifactId>jackson-databind</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.fasterxml.jackson.core</groupId>
-            <artifactId>jackson-annotations</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.karaf.shell</groupId>
-            <artifactId>org.apache.karaf.shell.console</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>org.onosproject</groupId>
-            <artifactId>onos-api</artifactId>
-            <classifier>tests</classifier>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>com.google.guava</groupId>
-            <artifactId>guava-testlib</artifactId>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.onosproject</groupId>
-            <artifactId>onlab-junit</artifactId>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.easymock</groupId>
-            <artifactId>easymock</artifactId>
-            <scope>test</scope>
-        </dependency>
-
     </dependencies>
 </project>
diff --git a/apps/openstacknode/app/app.xml b/apps/openstacknode/app/app.xml
new file mode 100644
index 0000000..6ca312b
--- /dev/null
+++ b/apps/openstacknode/app/app.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ Copyright 2018-present Open Networking Foundation
+  ~
+  ~ 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.openstacknode" origin="ON.Lab" version="${project.version}"
+     category="Utility" url="https://wiki.onosproject.org/display/ONOS/SONA%3A+DC+Network+Virtualization"
+     title="OpenStack Node App" features="${project.artifactId}"
+     apps="org.onosproject.ovsdb-base,org.onosproject.drivers.ovsdb"
+     featuresRepo="mvn:${project.groupId}/${project.artifactId}/${project.version}/xml/features">
+    <description>${project.description}</description>
+    <artifact>mvn:${project.groupId}/onos-apps-openstacknode-api/${project.version}</artifact>
+    <artifact>mvn:${project.groupId}/onos-apps-openstacknode-app/${project.version}</artifact>
+</app>
diff --git a/apps/openstacknode/app/features.xml b/apps/openstacknode/app/features.xml
new file mode 100644
index 0000000..fdd76cc
--- /dev/null
+++ b/apps/openstacknode/app/features.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<!--
+  ~ Copyright 2018-present Open Networking Foundation
+  ~
+  ~ 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}-${project.version}">
+    <feature name="${project.artifactId}" version="${project.version}"
+             description="${project.description}">
+        <feature>onos-api</feature>
+        <bundle>mvn:${project.groupId}/onos-apps-openstacknode-api/${project.version}</bundle>
+        <bundle>mvn:${project.groupId}/onos-apps-openstacknode-app/${project.version}</bundle>
+    </feature>
+</features>