Decouple sample apps

- Each app can now independently specify ONOS version it needs.
- All apps depend on stable version
  except for onos-app-uiref  who has dependency to 1.9.0-SNAPSHOT

Change-Id: Ib4d39901269b036eae4ceae3c41a9c5ad1a29cc1
diff --git a/calendar/pom.xml b/calendar/pom.xml
index 941357d..e874947 100644
--- a/calendar/pom.xml
+++ b/calendar/pom.xml
@@ -21,18 +21,21 @@
 
     <parent>
         <groupId>org.onosproject</groupId>
-        <artifactId>onos-app-samples</artifactId>
-        <version>1.9.0-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
+        <artifactId>onos-dependencies</artifactId>
+        <version>1.8.0</version>
+        <relativePath/><!-- parent is remote -->
     </parent>
 
     <artifactId>onos-app-calendar</artifactId>
+    <version>1.9.0-SNAPSHOT</version>
     <packaging>bundle</packaging>
 
+
     <description>ONOS simple calendaring REST interface for intents
     </description>
 
     <properties>
+        <onos.version>1.8.0</onos.version>
         <onos.app.name>org.onosproject.calendar</onos.app.name>
         <onos.app.origin>ON.Lab</onos.app.origin>
         <onos.app.title>Intents Calendar App</onos.app.title>
@@ -45,7 +48,7 @@
         <dependency>
             <groupId>org.onosproject</groupId>
             <artifactId>onlab-rest</artifactId>
-            <version>${project.version}</version>
+            <version>${onos.version}</version>
         </dependency>
 
         <dependency>
@@ -69,18 +72,20 @@
         <dependency>
             <groupId>org.onosproject</groupId>
             <artifactId>onlab-misc</artifactId>
+            <version>${onos.version}</version>
         </dependency>
 
         <dependency>
             <groupId>org.onosproject</groupId>
             <artifactId>onlab-junit</artifactId>
+            <version>${onos.version}</version>
             <scope>test</scope>
         </dependency>
 
         <dependency>
             <groupId>org.onosproject</groupId>
             <artifactId>onos-cli</artifactId>
-            <version>${project.version}</version>
+            <version>${onos.version}</version>
         </dependency>
         <dependency>
             <groupId>org.apache.karaf.shell</groupId>
diff --git a/database-perf/pom.xml b/database-perf/pom.xml
index 39a4dc9..11807f7 100644
--- a/database-perf/pom.xml
+++ b/database-perf/pom.xml
@@ -21,17 +21,19 @@
 
     <parent>
         <groupId>org.onosproject</groupId>
-        <artifactId>onos-app-samples</artifactId>
-        <version>1.9.0-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
+        <artifactId>onos-dependencies</artifactId>
+        <version>1.8.0</version>
+        <relativePath/><!-- parent is remote -->
     </parent>
 
     <artifactId>onos-app-database-perf</artifactId>
+    <version>1.9.0-SNAPSHOT</version>
     <packaging>bundle</packaging>
 
     <description>Partitioned database performance test application</description>
 
     <properties>
+        <onos.version>1.8.0</onos.version>
         <onos.app.name>org.onosproject.dbperf</onos.app.name>
         <onos.app.origin>ON.Lab</onos.app.origin>
         <onos.app.title>Database Performance Test App</onos.app.title>
@@ -39,4 +41,44 @@
         <onos.app.url>http://onosproject.org</onos.app.url>
     </properties>
 
+    <dependencies>
+
+        <dependency>
+            <groupId>org.onosproject</groupId>
+            <artifactId>onos-api</artifactId>
+            <version>${onos.version}</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.onosproject</groupId>
+            <artifactId>onlab-osgi</artifactId>
+            <version>${onos.version}</version>
+        </dependency>
+
+
+        <dependency>
+            <groupId>org.apache.felix</groupId>
+            <artifactId>org.apache.felix.scr.annotations</artifactId>
+        </dependency>
+
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>maven-bundle-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>maven-scr-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.onosproject</groupId>
+                <artifactId>onos-maven-plugin</artifactId>
+            </plugin>
+        </plugins>
+    </build>
+
+
 </project>
diff --git a/ecord/co/pom.xml b/ecord/co/pom.xml
index ecca157..a75f068 100644
--- a/ecord/co/pom.xml
+++ b/ecord/co/pom.xml
@@ -17,10 +17,10 @@
 <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>
-        <artifactId>onos-app-samples</artifactId>
         <groupId>org.onosproject</groupId>
-        <version>1.9.0-SNAPSHOT</version>
-        <relativePath>../../pom.xml</relativePath>
+        <artifactId>onos-dependencies</artifactId>
+        <version>1.8.0</version>
+        <relativePath/><!-- parent is remote -->
     </parent>
 
     <groupId>org.onosproject</groupId>
@@ -31,6 +31,7 @@
     <description>Enterprise CORD for Central Office</description>
 
     <properties>
+        <onos.version>1.8.0</onos.version>
         <onos.app.name>org.onosproject.ecord.co</onos.app.name>
         <onos.app.origin>ON.Lab</onos.app.origin>
         <onos.app.title>Enterprise CORD App</onos.app.title>
@@ -49,11 +50,13 @@
         <dependency>
             <groupId>org.onosproject</groupId>
             <artifactId>onos-api</artifactId>
+            <version>${onos.version}</version>
         </dependency>
 
         <dependency>
             <groupId>org.onosproject</groupId>
             <artifactId>onlab-osgi</artifactId>
+            <version>${onos.version}</version>
         </dependency>
 
         <dependency>
@@ -71,6 +74,7 @@
         <dependency>
             <groupId>org.onosproject</groupId>
             <artifactId>onos-api</artifactId>
+            <version>${onos.version}</version>
             <scope>test</scope>
             <classifier>tests</classifier>
         </dependency>
@@ -89,6 +93,7 @@
         <dependency>
             <groupId>org.onosproject</groupId>
             <artifactId>onlab-misc</artifactId>
+            <version>${onos.version}</version>
         </dependency>
 
         <dependency>
@@ -128,10 +133,6 @@
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-compiler-plugin</artifactId>
-                <configuration>
-                    <source>1.8</source>
-                    <target>1.8</target>
-                </configuration>
             </plugin>
             <plugin>
                 <groupId>org.apache.felix</groupId>
diff --git a/flowtest/pom.xml b/flowtest/pom.xml
index 2053ac5..c320f16 100644
--- a/flowtest/pom.xml
+++ b/flowtest/pom.xml
@@ -21,17 +21,19 @@
 
     <parent>
         <groupId>org.onosproject</groupId>
-        <artifactId>onos-app-samples</artifactId>
-        <version>1.9.0-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
+        <artifactId>onos-dependencies</artifactId>
+        <version>1.8.0</version>
+        <relativePath/><!-- parent is remote -->
     </parent>
 
     <artifactId>onos-app-flowtest</artifactId>
+    <version>1.9.0-SNAPSHOT</version>
     <packaging>bundle</packaging>
 
     <description>Flow throughput test application</description>
 
     <properties>
+        <onos.version>1.8.0</onos.version>
         <onos.app.name>org.onosproject.flowtest</onos.app.name>
         <onos.app.origin>ON.Lab</onos.app.origin>
         <onos.app.title>Flow Throughput Test App</onos.app.title>
@@ -44,14 +46,41 @@
             <groupId>org.osgi</groupId>
             <artifactId>org.osgi.compendium</artifactId>
         </dependency>
+
         <dependency>
             <groupId>org.apache.karaf.shell</groupId>
             <artifactId>org.apache.karaf.shell.console</artifactId>
         </dependency>
+
         <!-- Required for javadoc generation -->
         <dependency>
            <groupId>org.osgi</groupId>
            <artifactId>org.osgi.core</artifactId>
         </dependency>
+
+        <dependency>
+            <groupId>org.onosproject</groupId>
+            <artifactId>onos-api</artifactId>
+            <version>${onos.version}</version>
+        </dependency>
+
     </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>maven-bundle-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>maven-scr-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.onosproject</groupId>
+                <artifactId>onos-maven-plugin</artifactId>
+            </plugin>
+        </plugins>
+    </build>
+
 </project>
diff --git a/icona/domainmgr/pom.xml b/icona/domainmgr/pom.xml
index 68f98a5..57954e3 100644
--- a/icona/domainmgr/pom.xml
+++ b/icona/domainmgr/pom.xml
@@ -65,4 +65,22 @@
         </dependency>
 
     </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>maven-bundle-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>maven-scr-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.onosproject</groupId>
+                <artifactId>onos-maven-plugin</artifactId>
+            </plugin>
+        </plugins>
+    </build>
+
 </project>
diff --git a/icona/domainprovider/pom.xml b/icona/domainprovider/pom.xml
index e5e2ee2..a8f30ba 100644
--- a/icona/domainprovider/pom.xml
+++ b/icona/domainprovider/pom.xml
@@ -75,4 +75,23 @@
         </dependency>
 
     </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>maven-bundle-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>maven-scr-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.onosproject</groupId>
+                <artifactId>onos-maven-plugin</artifactId>
+            </plugin>
+        </plugins>
+    </build>
+
+
 </project>
diff --git a/icona/pom.xml b/icona/pom.xml
index 372fb75..b75b0ef 100644
--- a/icona/pom.xml
+++ b/icona/pom.xml
@@ -21,15 +21,19 @@
 
     <parent>
         <groupId>org.onosproject</groupId>
-        <artifactId>onos-app-samples</artifactId>
-        <version>1.9.0-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
+        <artifactId>onos-dependencies</artifactId>
+        <version>1.8.0</version>
+        <relativePath/><!-- parent is remote -->
     </parent>
 
     <artifactId>onos-icona</artifactId>
     <version>1.9.0-SNAPSHOT</version>
     <packaging>pom</packaging>
 
+    <properties>
+        <onos.version>1.8.0</onos.version>
+    </properties>
+
     <modules>
         <module>app</module>
         <module>domainmgr</module>
diff --git a/ifwd/pom.xml b/ifwd/pom.xml
index e5e314a..b895956 100644
--- a/ifwd/pom.xml
+++ b/ifwd/pom.xml
@@ -21,17 +21,19 @@
 
     <parent>
         <groupId>org.onosproject</groupId>
-        <artifactId>onos-app-samples</artifactId>
-        <version>1.9.0-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
+        <artifactId>onos-dependencies</artifactId>
+        <version>1.8.0</version>
+        <relativePath/><!-- parent is remote -->
     </parent>
 
     <artifactId>onos-app-ifwd</artifactId>
+    <version>1.9.0-SNAPSHOT</version>
     <packaging>bundle</packaging>
 
     <description>Reactive forwarding application using intent service (experimental)</description>
 
     <properties>
+        <onos.version>1.8.0</onos.version>
         <onos.app.name>org.onosproject.ifwd</onos.app.name>
         <onos.app.origin>ON.Lab</onos.app.origin>
         <onos.app.title>Reactive Forwarding App (Intent)</onos.app.title>
@@ -39,4 +41,31 @@
         <onos.app.url>http://onosproject.org</onos.app.url>
     </properties>
 
+    <dependencies>
+
+        <dependency>
+            <groupId>org.onosproject</groupId>
+            <artifactId>onos-api</artifactId>
+            <version>${onos.version}</version>
+        </dependency>
+
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>maven-bundle-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>maven-scr-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.onosproject</groupId>
+                <artifactId>onos-maven-plugin</artifactId>
+            </plugin>
+        </plugins>
+    </build>
+
 </project>
diff --git a/ipfix/pom.xml b/ipfix/pom.xml
index 645435f..64bda6a 100644
--- a/ipfix/pom.xml
+++ b/ipfix/pom.xml
@@ -19,18 +19,20 @@
 
     <parent>
         <groupId>org.onosproject</groupId>
-        <artifactId>onos-app-samples</artifactId>
-        <version>1.9.0-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
+        <artifactId>onos-dependencies</artifactId>
+        <version>1.8.0</version>
+        <relativePath/><!-- parent is remote -->
     </parent>
 
     <artifactId>onos-app-ipfix</artifactId>
+    <version>1.9.0-SNAPSHOT</version>
     <packaging>bundle</packaging>
 
     <description>OpenFlow statistics export over IPFIX</description>
     <url>http://onosproject.org</url>
 
     <properties>
+        <onos.version>1.8.0</onos.version>
         <onos.app.name>org.onosproject.ipfix</onos.app.name>
         <onos.app.origin>ON.Lab</onos.app.origin>
         <onos.app.title>OpenFlow Stats Export App</onos.app.title>
@@ -42,27 +44,26 @@
         <dependency>
             <groupId>org.onosproject</groupId>
             <artifactId>onos-api</artifactId>
-            <version>${project.version}</version>
+            <version>${onos.version}</version>
         </dependency>
 
         <dependency>
             <groupId>junit</groupId>
             <artifactId>junit</artifactId>
-            <version>4.11</version>
             <scope>test</scope>
         </dependency>
 
         <dependency>
             <groupId>org.onosproject</groupId>
             <artifactId>onlab-junit</artifactId>
-            <version>${project.version}</version>
+            <version>${onos.version}</version>
             <scope>test</scope>
         </dependency>
-                                                    
+
         <dependency>
             <groupId>org.onosproject</groupId>
             <artifactId>onos-api</artifactId>
-            <version>${project.version}</version>
+            <version>${onos.version}</version>
             <scope>test</scope>
             <classifier>tests</classifier>
         </dependency>
@@ -70,19 +71,17 @@
         <dependency> 
             <groupId>org.onosproject</groupId>
             <artifactId>onos-protocols-openflow-api</artifactId>
-            <version>${project.version}</version>
+            <version>${onos.version}</version>
         </dependency>
-                                                                        
+
         <dependency>
             <groupId>org.osgi</groupId>
             <artifactId>org.osgi.compendium</artifactId>
-            <version>5.0.0</version>
         </dependency>
-                                                    
+
         <dependency>
             <groupId>org.apache.felix</groupId>
             <artifactId>org.apache.felix.scr.annotations</artifactId>
-            <version>1.9.8</version>
             <scope>provided</scope>
         </dependency>
     </dependencies>
@@ -92,22 +91,15 @@
             <plugin>
                 <groupId>org.apache.felix</groupId>
                 <artifactId>maven-bundle-plugin</artifactId>
-                <version>2.5.3</version>
                 <extensions>true</extensions>
             </plugin>
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-compiler-plugin</artifactId>
-                <version>2.5.1</version>
-                <configuration>
-                    <source>1.8</source>
-                    <target>1.8</target>
-                </configuration>
             </plugin>
             <plugin>
                 <groupId>org.apache.felix</groupId>
                 <artifactId>maven-scr-plugin</artifactId>
-                <version>1.20.0</version>
                 <executions>
                     <execution>
                         <id>generate-scr-srcdescriptor</id>
@@ -126,7 +118,6 @@
             <plugin>
                 <groupId>org.onosproject</groupId>
                 <artifactId>onos-maven-plugin</artifactId>
-                <version>1.9</version>
                 <executions>
                     <execution>
                         <id>cfg</id>
diff --git a/oneping/pom.xml b/oneping/pom.xml
index 0812569..4cab5da 100644
--- a/oneping/pom.xml
+++ b/oneping/pom.xml
@@ -21,17 +21,19 @@
 
     <parent>
         <groupId>org.onosproject</groupId>
-        <artifactId>onos-app-samples</artifactId>
-        <version>1.9.0-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
+        <artifactId>onos-dependencies</artifactId>
+        <version>1.8.0</version>
+        <relativePath/><!-- parent is remote -->
     </parent>
 
     <artifactId>onos-app-oneping</artifactId>
+    <version>1.9.0-SNAPSHOT</version>
     <packaging>bundle</packaging>
 
     <description>One-Ping-Only sample application</description>
 
     <properties>
+        <onos.version>1.8.0</onos.version>
         <onos.app.name>org.onosproject.oneping</onos.app.name>
         <onos.app.origin>ON.Lab</onos.app.origin>
         <onos.app.title>One-Ping-Only App</onos.app.title>
@@ -40,4 +42,31 @@
         <onos.app.requires>org.onosproject.fwd</onos.app.requires>
     </properties>
 
+    <dependencies>
+
+        <dependency>
+            <groupId>org.onosproject</groupId>
+            <artifactId>onos-api</artifactId>
+            <version>${onos.version}</version>
+        </dependency>
+
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>maven-bundle-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>maven-scr-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.onosproject</groupId>
+                <artifactId>onos-maven-plugin</artifactId>
+            </plugin>
+        </plugins>
+    </build>
+
 </project>
diff --git a/pom.xml b/pom.xml
index 9de17a5..c0b16a3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -19,10 +19,11 @@
 
     <parent>
         <groupId>org.onosproject</groupId>
-        <artifactId>onos</artifactId>
-        <version>1.9.0-SNAPSHOT</version>
+        <artifactId>onos-base</artifactId>
+        <version>1</version>
     </parent>
 
+    <groupId>org.onosproject</groupId>
     <artifactId>onos-app-samples</artifactId>
     <version>1.9.0-SNAPSHOT</version>
     <packaging>pom</packaging>
@@ -36,9 +37,7 @@
         <module>ifwd</module>
         <module>ipfix</module>
         <module>oneping</module>
-<!-- exclude failing build
         <module>sdx-l3</module>
--->
         <module>sdx-l2</module>
         <module>tvue</module>
         <module>uiref</module>
@@ -49,10 +48,6 @@
         <module>icona</module>
     </modules>
 
-    <properties>
-        <onos.version>1.9.0-SNAPSHOT</onos.version>
-    </properties>
-
     <!-- FIXME remove before release;
          needed for resolving SNAPSHOT version of the following
          - finding parent pom.xml
@@ -65,6 +60,7 @@
             <releases><enabled>false</enabled></releases>
         </repository>
     </repositories>
+
     <pluginRepositories>
         <pluginRepository>
             <id>snapshots</id>
@@ -73,38 +69,4 @@
         </pluginRepository>
     </pluginRepositories>
 
-    <dependencies>
-        <dependency>
-            <groupId>org.onosproject</groupId>
-            <artifactId>onos-api</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>org.onosproject</groupId>
-            <artifactId>onlab-osgi</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.felix</groupId>
-            <artifactId>org.apache.felix.scr.annotations</artifactId>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-scr-plugin</artifactId>
-            </plugin>
-            <plugin>
-                <groupId>org.onosproject</groupId>
-                <artifactId>onos-maven-plugin</artifactId>
-            </plugin>
-        </plugins>
-    </build>
 </project>
diff --git a/sdx-l2/pom.xml b/sdx-l2/pom.xml
index 5c37099..97f6c92 100644
--- a/sdx-l2/pom.xml
+++ b/sdx-l2/pom.xml
@@ -18,9 +18,10 @@
 <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>
-    <artifactId>onos-app-samples</artifactId>
     <groupId>org.onosproject</groupId>
-    <version>1.9.0-SNAPSHOT</version>
+    <artifactId>onos-dependencies</artifactId>
+    <version>1.7.0</version>
+    <relativePath/>
 </parent>
 
 <groupId>org.onosproject</groupId>
@@ -32,7 +33,7 @@
 <url>http://www.geant.org</url>
 
 <properties>
-    <onos.version>1.9.0-SNAPSHOT</onos.version>
+    <onos.version>1.7.0</onos.version>
     <onos.app.name>org.onosproject.sdx-l2</onos.app.name>
     <onos.app.title>SDX-L2 App</onos.app.title>
     <onos.app.category>Utility</onos.app.category>
@@ -49,6 +50,7 @@
     <dependency>
         <groupId>org.onosproject</groupId>
         <artifactId>onos-api</artifactId>
+        <version>${onos.version}</version>
     </dependency>
 
     <dependency>
@@ -60,12 +62,14 @@
     <dependency>
         <groupId>org.onosproject</groupId>
         <artifactId>onlab-junit</artifactId>
+        <version>${onos.version}</version>
         <scope>test</scope>
     </dependency>
 
     <dependency>
         <groupId>org.onosproject</groupId>
         <artifactId>onos-api</artifactId>
+        <version>${onos.version}</version>
         <scope>test</scope>
         <classifier>tests</classifier>
     </dependency>
@@ -100,6 +104,44 @@
         <artifactId>org.osgi.compendium</artifactId>
     </dependency>
 
+    <dependency>
+        <groupId>org.onosproject</groupId>
+        <artifactId>onlab-osgi</artifactId>
+        <version>${onos.version}</version>
+    </dependency>
+
+    <dependency>
+        <groupId>org.apache.felix</groupId>
+        <artifactId>org.apache.felix.scr.annotations</artifactId>
+    </dependency>
+
+    <dependency>
+        <groupId>com.google.guava</groupId>
+        <artifactId>guava</artifactId>
+    </dependency>
+
+    <dependency>
+        <groupId>org.onosproject</groupId>
+        <artifactId>onlab-misc</artifactId>
+        <version>${onos.version}</version>
+    </dependency>
+
+    <dependency>
+        <groupId>org.onosproject</groupId>
+        <artifactId>onos-core-serializers</artifactId>
+        <version>${onos.version}</version>
+    </dependency>
+
+    <dependency>
+        <groupId>com.esotericsoftware</groupId>
+        <artifactId>kryo</artifactId>
+    </dependency>
+
+    <dependency>
+        <groupId>commons-lang</groupId>
+        <artifactId>commons-lang</artifactId>
+    </dependency>
+
 </dependencies>
 
 <build>
@@ -120,28 +162,10 @@
         <plugin>
             <groupId>org.apache.maven.plugins</groupId>
             <artifactId>maven-compiler-plugin</artifactId>
-            <configuration>
-                <source>1.8</source>
-                <target>1.8</target>
-            </configuration>
         </plugin>
         <plugin>
             <groupId>org.apache.felix</groupId>
             <artifactId>maven-scr-plugin</artifactId>
-            <executions>
-                <execution>
-                    <id>generate-scr-srcdescriptor</id>
-                    <goals>
-                        <goal>scr</goal>
-                    </goals>
-                </execution>
-            </executions>
-            <configuration>
-                <supportedProjectTypes>
-                    <supportedProjectType>bundle</supportedProjectType>
-                    <supportedProjectType>war</supportedProjectType>
-                </supportedProjectTypes>
-            </configuration>
         </plugin>
         <plugin>
             <groupId>org.onosproject</groupId>
diff --git a/sdx-l2/src/test/java/org/onosproject/sdxl2/SdxL2VlanVCManagerTest.java b/sdx-l2/src/test/java/org/onosproject/sdxl2/SdxL2VlanVCManagerTest.java
index 6b03ca7..bfb1c0b 100644
--- a/sdx-l2/src/test/java/org/onosproject/sdxl2/SdxL2VlanVCManagerTest.java
+++ b/sdx-l2/src/test/java/org/onosproject/sdxl2/SdxL2VlanVCManagerTest.java
@@ -76,6 +76,7 @@
      *
      * @throws Exception when set-up fails
      */
+    @Override
     @Before
     public void setUp() throws Exception {
         super.setUp();
@@ -89,6 +90,7 @@
     /**
      * Cleans up environment after finishing testing.
      */
+    @Override
     @After
     public void tearDown() {
         super.tearDown();
@@ -467,4 +469,4 @@
             assertTrue(!found);
         }
     }
-}
\ No newline at end of file
+}
diff --git a/sdx-l3/app.xml b/sdx-l3/app.xml
index 9bd278f..6abd0f5 100644
--- a/sdx-l3/app.xml
+++ b/sdx-l3/app.xml
@@ -22,7 +22,7 @@
      features="${project.artifactId}">
     <description>${project.description}</description>
     <readme>Application controlling SDN-based L3 Internet Exchange Points.</readme>
-    <artifact>mvn:${project.groupId}/onos-app-routing-api/${project.version}</artifact>
-    <artifact>mvn:${project.groupId}/onos-app-routing/${project.version}</artifact>
+    <artifact>mvn:${project.groupId}/onos-apps-routing-api/${onos.version}</artifact>
+    <artifact>mvn:${project.groupId}/onos-apps-routing/${onos.version}</artifact>
     <artifact>mvn:${project.groupId}/${project.artifactId}/${project.version}</artifact>
 </app>
diff --git a/sdx-l3/features.xml b/sdx-l3/features.xml
index 838fd7b..55d5f23 100644
--- a/sdx-l3/features.xml
+++ b/sdx-l3/features.xml
@@ -20,8 +20,8 @@
     <feature name="onos-app-sdx-l3" version="${project.version}"
              description="${project.description}">
         <feature>onos-api</feature>
-        <bundle>mvn:${project.groupId}/onos-app-routing-api/${project.version}</bundle>
-        <bundle>mvn:${project.groupId}/onos-app-routing/${project.version}</bundle>
-        <bundle>mvn:${project.groupId}/onos-app-sdx-l3/${project.version}</bundle>
+        <bundle>mvn:${project.groupId}/onos-apps-routing-api/${onos.version}</bundle>
+        <bundle>mvn:${project.groupId}/onos-apps-routing/${onos.version}</bundle>
+        <bundle>mvn:${project.groupId}/${project.artifactId}/${project.version}</bundle>
     </feature>
 </features>
diff --git a/sdx-l3/pom.xml b/sdx-l3/pom.xml
index e077c99..e24c59e 100644
--- a/sdx-l3/pom.xml
+++ b/sdx-l3/pom.xml
@@ -22,16 +22,21 @@
 
     <parent>
         <groupId>org.onosproject</groupId>
-        <artifactId>onos-app-samples</artifactId>
-        <version>1.9.0-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
+        <artifactId>onos-dependencies</artifactId>
+        <version>1.7.0</version>
+        <relativePath/>
     </parent>
 
     <artifactId>onos-app-sdx-l3</artifactId>
+    <version>1.9.0-SNAPSHOT</version>
     <packaging>bundle</packaging>
 
     <description>SDX-L3 application for GEANT</description>
 
+    <properties>
+        <onos.version>1.7.0</onos.version>
+    </properties>
+
     <dependencies>
         <dependency>
             <groupId>com.google.guava</groupId>
@@ -41,12 +46,14 @@
         <dependency>
             <groupId>org.onosproject</groupId>
             <artifactId>onlab-junit</artifactId>
+            <version>${onos.version}</version>
             <scope>test</scope>
         </dependency>
 
         <dependency>
             <groupId>org.onosproject</groupId>
             <artifactId>onos-api</artifactId>
+            <version>${onos.version}</version>
             <scope>test</scope>
             <classifier>tests</classifier>
         </dependency>
@@ -54,35 +61,35 @@
         <dependency>
             <groupId>org.onosproject</groupId>
             <artifactId>onos-incubator-api</artifactId>
-            <version>${project.version}</version>
+            <version>${onos.version}</version>
             <scope>test</scope>
             <classifier>tests</classifier>
         </dependency>
 
         <dependency>
             <groupId>org.onosproject</groupId>
-            <artifactId>onos-app-routing</artifactId>
-            <version>${project.version}</version>
+            <artifactId>onos-apps-routing</artifactId>
+            <version>${onos.version}</version>
         </dependency>
 
         <dependency>
             <groupId>org.onosproject</groupId>
-            <artifactId>onos-app-routing-api</artifactId>
-            <version>${project.version}</version>
+            <artifactId>onos-apps-routing-api</artifactId>
+            <version>${onos.version}</version>
         </dependency>
 
         <dependency>
             <groupId>org.onosproject</groupId>
-            <artifactId>onos-app-routing-api</artifactId>
+            <artifactId>onos-apps-routing-api</artifactId>
             <scope>test</scope>
             <classifier>tests</classifier>
-            <version>${project.version}</version>
+            <version>${onos.version}</version>
         </dependency>
 
         <dependency>
             <groupId>org.onosproject</groupId>
             <artifactId>onos-cli</artifactId>
-            <version>${project.version}</version>
+            <version>${onos.version}</version>
         </dependency>
 
         <dependency>
@@ -102,4 +109,21 @@
         </dependency>
     </dependencies>
 
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>maven-bundle-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>maven-scr-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.onosproject</groupId>
+                <artifactId>onos-maven-plugin</artifactId>
+            </plugin>
+        </plugins>
+    </build>
+
 </project>
diff --git a/sdx-l3/src/main/java/org/onosproject/sdxl3/config/package-info.java b/sdx-l3/src/main/java/org/onosproject/sdxl3/config/package-info.java
index 14c6552..a0b9d4d 100644
--- a/sdx-l3/src/main/java/org/onosproject/sdxl3/config/package-info.java
+++ b/sdx-l3/src/main/java/org/onosproject/sdxl3/config/package-info.java
@@ -17,4 +17,4 @@
 /**
  * BGP peers configuration interfaces.
  */
-package org.onosproject.sdxl3.config;
\ No newline at end of file
+package org.onosproject.sdxl3.config;
diff --git a/sdx-l3/src/main/java/org/onosproject/sdxl3/impl/package-info.java b/sdx-l3/src/main/java/org/onosproject/sdxl3/impl/package-info.java
index 81773cb..590cf39 100644
--- a/sdx-l3/src/main/java/org/onosproject/sdxl3/impl/package-info.java
+++ b/sdx-l3/src/main/java/org/onosproject/sdxl3/impl/package-info.java
@@ -17,4 +17,4 @@
 /**
  * Implementation of BGP peers connectivity functionality.
  */
-package org.onosproject.sdxl3.impl;
\ No newline at end of file
+package org.onosproject.sdxl3.impl;
diff --git a/tvue/pom.xml b/tvue/pom.xml
index 9e38e67..8b2c990 100644
--- a/tvue/pom.xml
+++ b/tvue/pom.xml
@@ -21,17 +21,19 @@
 
     <parent>
         <groupId>org.onosproject</groupId>
-        <artifactId>onos-app-samples</artifactId>
-        <version>1.9.0-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
+        <artifactId>onos-dependencies</artifactId>
+        <version>1.8.0</version>
+        <relativePath/><!-- parent is remote -->
     </parent>
 
     <artifactId>onos-app-tvue</artifactId>
+    <version>1.9.0-SNAPSHOT</version>
     <packaging>bundle</packaging>
 
     <description>Early prototype GUI - deprecated</description>
 
     <properties>
+        <onos.version>1.8.0</onos.version>
         <onos.app.name>org.onosproject.tvue</onos.app.name>
         <onos.app.origin>ON.Lab</onos.app.origin>
         <onos.app.title>Early Prototype GUI App</onos.app.title>
@@ -44,7 +46,7 @@
         <dependency>
             <groupId>org.onosproject</groupId>
             <artifactId>onlab-rest</artifactId>
-            <version>${project.version}</version>
+            <version>${onos.version}</version>
         </dependency>
 
         <dependency>
@@ -65,6 +67,12 @@
             <groupId>org.osgi</groupId>
             <artifactId>org.osgi.core</artifactId>
         </dependency>
+
+        <dependency>
+            <groupId>org.onosproject</groupId>
+            <artifactId>onos-api</artifactId>
+            <version>${onos.version}</version>
+        </dependency>
     </dependencies>
 
     <build>
diff --git a/uiref/pom.xml b/uiref/pom.xml
index c43c2fe..ecb3e10 100644
--- a/uiref/pom.xml
+++ b/uiref/pom.xml
@@ -21,18 +21,85 @@
 
     <parent>
         <groupId>org.onosproject</groupId>
-        <artifactId>onos-app-samples</artifactId>
+        <artifactId>onos-dependencies</artifactId>
         <version>1.9.0-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
+        <relativePath/><!-- parent is remote -->
     </parent>
 
     <artifactId>onos-app-uiref</artifactId>
+    <version>1.9.0-SNAPSHOT</version>
     <packaging>bundle</packaging>
 
     <description>UI Injection Reference App</description>
 
     <properties>
+        <onos.version>1.9.0-SNAPSHOT</onos.version>
         <onos.app.name>org.onosproject.uiref</onos.app.name>
     </properties>
 
+    <!-- FIXME stop depending on SNAPSHOT version of ONOS-->
+    <repositories>
+        <repository>
+            <id>snapshots</id>
+            <url>https://oss.sonatype.org/content/repositories/snapshots</url>
+            <releases><enabled>false</enabled></releases>
+        </repository>
+    </repositories>
+
+
+    <dependencies>
+
+        <dependency>
+            <groupId>org.onosproject</groupId>
+            <artifactId>onos-api</artifactId>
+            <version>${onos.version}</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.onosproject</groupId>
+            <artifactId>onlab-osgi</artifactId>
+            <version>${onos.version}</version>
+        </dependency>
+
+
+        <dependency>
+            <groupId>org.apache.felix</groupId>
+            <artifactId>org.apache.felix.scr.annotations</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.fasterxml.jackson.core</groupId>
+            <artifactId>jackson-databind</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.google.guava</groupId>
+            <artifactId>guava</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.onosproject</groupId>
+            <artifactId>onlab-misc</artifactId>
+            <version>${onos.version}</version>
+        </dependency>
+
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>maven-bundle-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>maven-scr-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.onosproject</groupId>
+                <artifactId>onos-maven-plugin</artifactId>
+            </plugin>
+        </plugins>
+    </build>
+
 </project>
diff --git a/uiref/src/main/java/org/onosproject/uiref/package-info.java b/uiref/src/main/java/org/onosproject/uiref/package-info.java
index 44c12e3..232dc2c 100644
--- a/uiref/src/main/java/org/onosproject/uiref/package-info.java
+++ b/uiref/src/main/java/org/onosproject/uiref/package-info.java
@@ -18,4 +18,4 @@
  * Provides a reference for all the UI injection / integration features of
  * the ONOS GUI.
  */
-package org.onosproject.uiref;
\ No newline at end of file
+package org.onosproject.uiref;