Karaf 4 for appc-provider

Change-Id: Id0f8f51426a5595f51943e8b9d1bb62ed8ee1c8d
Issue-ID: APPC-1028
Signed-off-by: Ryan Young <ry303t@att.com>
diff --git a/appc-client/client-kit/pom.xml b/appc-client/client-kit/pom.xml
index f7f3184..635b0e3 100644
--- a/appc-client/client-kit/pom.xml
+++ b/appc-client/client-kit/pom.xml
@@ -57,7 +57,7 @@
                             <goal>generate-sources</goal>

                         </goals>

                         <configuration>

-                            <sourceFileName>META-INF/yang/appc-provider-lcm.yang</sourceFileName>

+                            <sourceFileName>META-INF/yang/appc-provider-lcm@2016-01-08.yang</sourceFileName>

                             <outputFileName>target/generated-sources/appc-provider-lcm/appc-provider-lcm.json</outputFileName>

                             <templateName>templates/open-api/yang-to-open-api.ftl</templateName>

                             <contextBuilderClassName>org.onap.appc.tools.generator.extensions.YangContextBuilderImpl

diff --git a/appc-provider/appc-provider-bundle/pom.xml b/appc-provider/appc-provider-bundle/pom.xml
index fe39725..8ed218b 100644
--- a/appc-provider/appc-provider-bundle/pom.xml
+++ b/appc-provider/appc-provider-bundle/pom.xml
@@ -25,12 +25,20 @@
          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>appc-provider</artifactId>
-        <groupId>org.onap.appc</groupId>
+        <groupId>org.onap.appc.parent</groupId>
+        <artifactId>binding-parent</artifactId>
         <version>1.4.0-SNAPSHOT</version>
+        <relativePath/>
     </parent>
+    
+    <groupId>org.onap.appc</groupId>
     <artifactId>appc-provider-bundle</artifactId>
+    <version>1.4.0-SNAPSHOT</version>
     <packaging>bundle</packaging>
+    
+    <name>appc-provider-bundle</name>
+    <description>appc-provider OSGI bundle</description>
+    
     <build>
         <plugins>
             <plugin>
@@ -42,8 +50,6 @@
                         <Export-Package>org.opendaylight.controller.config.yang.config.sample_provider.impl
                         </Export-Package>
                         <Export-Package>org.onap.appc.provider</Export-Package>
-                        <!-- <Import-Package>!groovy.lang,!javax.jms,!org.codehaus.commons.compiler,!org.codehaus.groovy.*,!org.codehaus.janino,!com.ibm.icu.*,!com.sun.faces.*,!org.apache.log,*;resolution:=optional</Import-Package> -->
-                        <!-- <Embed-Dependency>appc-common,eelf-core,logback-core,logback-classic;scope=compile|runtime;inline=false,domain-model-lib,appc-command-executor-api,appc-request-handler-api</Embed-Dependency> -->
                         <Import-Package>
                             org.onap.appc.domainmodel.lcm,
                             org.onap.appc.i18n,
@@ -63,7 +69,6 @@
             <plugin>
                 <groupId>org.opendaylight.yangtools</groupId>
                 <artifactId>yang-maven-plugin</artifactId>
-                <version>${odl.yangtools.version}</version>
                 <executions>
                     <execution>
                         <id>config</id>
@@ -71,6 +76,7 @@
                             <goal>generate-sources</goal>
                         </goals>
                         <configuration>
+                            <yangFilesRootDir>${yang.file.directory}</yangFilesRootDir>
                             <codeGenerators>
                                 <generator>
                                     <codeGeneratorClass>
@@ -105,6 +111,7 @@
                         <groupId>org.opendaylight.controller</groupId>
                         <artifactId>yang-jmx-generator-plugin</artifactId>
                         <version>${odl.yang.jmx.generator.version}</version>
+                        <type>jar</type>
                     </dependency>
                 </dependencies>
             </plugin>
@@ -169,18 +176,11 @@
             <version>${project.version}</version>
             <type>bundle</type>
             <scope>provided</scope>
-            <!--             <exclusions> -->
-            <!--                 <exclusion> -->
-            <!--                     <groupId>org.onap.appc</groupId> -->
-            <!--                     <artifactId>domain-model-lib</artifactId> -->
-            <!--                 </exclusion> -->
-            <!--             </exclusions> -->
         </dependency>
         <dependency>
             <groupId>org.onap.appc</groupId>
-            <artifactId>appc-common</artifactId>
+            <artifactId>appc-common-bundle</artifactId>
             <version>${project.version}</version>
-            <!--             <classifier>jar-with-dependencies</classifier> -->
         </dependency>
         <dependency>
             <groupId>org.onap.appc</groupId>
@@ -233,7 +233,6 @@
             <groupId>org.opendaylight.controller</groupId>
             <artifactId>sal-binding-broker-impl</artifactId>
             <classifier>tests</classifier>
-            <version>${odl.mdsal.version}</version>
             <type>test-jar</type>
             <scope>test</scope>
         </dependency>
diff --git a/appc-provider/appc-provider-features/features-appc-provider/pom.xml b/appc-provider/appc-provider-features/features-appc-provider/pom.xml
new file mode 100644
index 0000000..1c85094
--- /dev/null
+++ b/appc-provider/appc-provider-features/features-appc-provider/pom.xml
@@ -0,0 +1,25 @@
+<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.onap.appc.parent</groupId>
+    <artifactId>feature-repo-parent</artifactId>
+    <version>1.4.0-SNAPSHOT</version>
+  </parent>
+
+  <groupId>org.onap.appc</groupId>
+  <artifactId>features-appc-provider</artifactId>
+  <packaging>feature</packaging>
+
+  <name>appc-provider features repo</name>
+
+  <dependencies>
+    <dependency>
+        <groupId>org.onap.appc</groupId>
+        <artifactId>onap-appc-provider</artifactId>
+        <version>${project.version}</version>
+        <type>xml</type>
+        <classifier>features</classifier>
+    </dependency>
+  </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/appc-provider/appc-provider-features/onap-appc-provider/pom.xml b/appc-provider/appc-provider-features/onap-appc-provider/pom.xml
new file mode 100644
index 0000000..ac9decf
--- /dev/null
+++ b/appc-provider/appc-provider-features/onap-appc-provider/pom.xml
@@ -0,0 +1,53 @@
+<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.onap.appc.parent</groupId>
+    <artifactId>single-feature-parent</artifactId>
+    <version>1.4.0-SNAPSHOT</version>
+    <relativePath/>
+  </parent>
+  
+  <groupId>org.onap.appc</groupId>
+  <artifactId>onap-appc-provider</artifactId>
+  <packaging>feature</packaging>
+  
+  <name>onap-appc-provider</name>
+  
+  <dependencies>
+    <dependency>
+      <groupId>org.onap.appc</groupId>
+      <artifactId>onap-appc-core</artifactId>
+      <version>${project.version}</version>
+      <type>xml</type>
+      <classifier>features</classifier>
+    </dependency>
+    
+    <dependency>
+      <groupId>org.onap.appc</groupId>
+      <artifactId>onap-appc-request-handler</artifactId>
+      <version>${project.version}</version>
+      <type>xml</type>
+      <classifier>features</classifier>
+    </dependency>
+    
+    <dependency>
+      <groupId>org.onap.appc</groupId>
+      <artifactId>appc-provider-model</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+
+    <dependency>
+      <groupId>org.onap.appc</groupId>
+      <artifactId>appc-provider-bundle</artifactId>
+      <classifier>config</classifier>
+      <type>xml</type>
+      <version>${project.version}</version>
+    </dependency>
+
+    <dependency>
+      <groupId>org.onap.appc</groupId>
+      <artifactId>appc-provider-bundle</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+  </dependencies>
+</project>
\ No newline at end of file
diff --git a/appc-provider/appc-provider-features/onap-appc-provider/src/main/feature/feature.xml b/appc-provider/appc-provider-features/onap-appc-provider/src/main/feature/feature.xml
new file mode 100644
index 0000000..a0ada8d
--- /dev/null
+++ b/appc-provider/appc-provider-features/onap-appc-provider/src/main/feature/feature.xml
@@ -0,0 +1,25 @@
+<!--
+  ============LICENSE_START=======================================================
+  ONAP : APPC
+  ================================================================================
+  Copyright (C) 2018 AT&T Intellectual Property. All rights reserved.
+  =============================================================================
+  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.
+  
+  ============LICENSE_END=========================================================
+-->
+<features xmlns="http://karaf.apache.org/xmlns/features/v1.4.0" name="onap-appc-provider">
+    <feature name="onap-appc-provider" description="onap-appc-provider" version="${project.version}">
+        <configfile finalname="etc/opendaylight/karaf/200-appc-provider.xml">mvn:org.onap.appc/appc-provider-bundle/${project.version}/xml/config</configfile>
+    </feature>
+</features>
\ No newline at end of file
diff --git a/appc-provider/appc-provider-features/pom.xml b/appc-provider/appc-provider-features/pom.xml
index 1ab42ef..1068522 100644
--- a/appc-provider/appc-provider-features/pom.xml
+++ b/appc-provider/appc-provider-features/pom.xml
@@ -21,143 +21,21 @@
   -->
 <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>appc-provider</artifactId>
-    <groupId>org.onap.appc</groupId>
+  <parent>    
+    <groupId>org.onap.appc.parent</groupId>
+    <artifactId>odlparent-lite</artifactId>
     <version>1.4.0-SNAPSHOT</version>
   </parent>
-  <name>appc-provider-features</name>
+  
+  <groupId>org.onap.app</groupId>  
   <artifactId>appc-provider-features</artifactId>
-
-  <packaging>jar</packaging>
-
-  <dependencies>
-    <dependency>
-      <groupId>org.onap.appc</groupId>
-      <artifactId>appc-provider-model</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-
-    <dependency>
-      <groupId>org.onap.appc</groupId>
-      <artifactId>appc-provider-bundle</artifactId>
-      <classifier>config</classifier>
-      <type>xml</type>
-      <version>${project.version}</version>
-    </dependency>
-
-    <dependency>
-      <groupId>org.onap.appc</groupId>
-      <artifactId>appc-provider-bundle</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-
-    <dependency>
-      <groupId>org.opendaylight.mdsal</groupId>
-      <artifactId>features-mdsal</artifactId>
-      <classifier>features</classifier>
-      <type>xml</type>
-
-      <scope>runtime</scope>
-    </dependency>
-
-
-
-    <!-- dependency for opendaylight-karaf-empty for use by testing -->
-<!--     <dependency> -->
-<!--       <groupId>org.opendaylight.controller</groupId> -->
-<!--       <artifactId>opendaylight-karaf-empty</artifactId> -->
-<!--       <type>zip</type> -->
-<!--     </dependency> -->
-
-
-<!--     <dependency> -->
-<!--       Required for launching the feature tests -->
-<!--       <groupId>org.opendaylight.yangtools</groupId> -->
-<!--       <artifactId>features-test</artifactId> -->
-<!--       <scope>test</scope> -->
-<!--     </dependency> -->
-
-    <dependency>
-      <groupId>org.opendaylight.yangtools</groupId>
-      <artifactId>features-yangtools</artifactId>
-      <classifier>features</classifier>
-      <type>xml</type>
-      <scope>runtime</scope>
-    </dependency>
-  </dependencies>
-
-  <build>
-    <resources>
-      <resource>
-        <filtering>true</filtering>
-        <directory>src/main/resources</directory>
-      </resource>
-    </resources>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-resources-plugin</artifactId>
-        <executions>
-          <execution>
-            <id>filter</id>
-            <goals>
-              <goal>resources</goal>
-            </goals>
-            <phase>generate-resources</phase>
-          </execution>
-        </executions>
-      </plugin>
-      <plugin>
-        <!-- launches the feature test, which validates that your karaf feature
-          can be installed inside of a karaf container. It doesn't validate that your
-          functionality works correctly, just that you have all of the dependent bundles
-          defined correctly. -->
-        <!-- Skipping ODL feature test -->
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-surefire-plugin</artifactId>
-        <configuration>
-          <systemPropertyVariables>
-            <karaf.distro.groupId>org.opendaylight.controller</karaf.distro.groupId>
-            <karaf.distro.artifactId>opendaylight-karaf-empty</karaf.distro.artifactId>
-            <karaf.distro.version>${odl.karaf.empty.distro.version}</karaf.distro.version>
-          </systemPropertyVariables>
-          <dependenciesToScan>
-            <dependency>org.opendaylight.yangtools:features-test</dependency>
-          </dependenciesToScan>
-          <classpathDependencyExcludes>
-            <!-- The dependencies which bring in AbstractDataBrokerTest class
-              brings in a second PaxExam container which results in the feature tests failing
-              with a message similar to: "ERROR o.ops4j.pax.exam.spi.PaxExamRuntime - Ambiguous
-              TestContainer ..." This excludes the container we don't want to use. -->
-            <classpathDependencyExcludes>org.ops4j.pax.exam:pax-exam-container-native</classpathDependencyExcludes>
-          </classpathDependencyExcludes>
-          <skipTests>true</skipTests>
-        </configuration>
-      </plugin>
-      <plugin>
-        <groupId>org.codehaus.mojo</groupId>
-        <artifactId>build-helper-maven-plugin</artifactId>
-        <executions>
-          <execution>
-            <id>attach-artifacts</id>
-            <goals>
-              <goal>attach-artifact</goal>
-            </goals>
-            <phase>package</phase>
-            <configuration>
-              <artifacts>
-                <artifact>
-                  <file>${project.build.directory}/classes/${features.file}</file>
-                  <type>xml</type>
-                  <classifier>features</classifier>
-                </artifact>
-              </artifacts>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-
-    </plugins>
-  </build>
+  <version>1.4.0-SNAPSHOT</version>
+  <packaging>pom</packaging>
+  
+  <name>appc-provider-features</name>
+  
+  <modules>
+  	<module>features-appc-provider</module>
+  	<module>onap-appc-provider</module>
+  </modules>
 </project>
\ No newline at end of file
diff --git a/appc-provider/appc-provider-installer/pom.xml b/appc-provider/appc-provider-installer/pom.xml
index 4097fc7..9c077d8 100644
--- a/appc-provider/appc-provider-installer/pom.xml
+++ b/appc-provider/appc-provider-installer/pom.xml
@@ -22,19 +22,22 @@
 <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>appc-provider</artifactId>
-    <groupId>org.onap.appc</groupId>
+    <groupId>org.onap.appc.parent</groupId>
+    <artifactId>odlparent-lite</artifactId>
     <version>1.4.0-SNAPSHOT</version>
   </parent>
   
+  <groupId>org.onap.appc</groupId>
   <artifactId>appc-provider-installer</artifactId>
-  <name>APPC Provider - Karaf Installer</name>
+  <version>1.4.0-SNAPSHOT</version>
   <packaging>pom</packaging>
 
+  <name>APPC Provider - Karaf Installer</name>
   <properties>
     <application.name>appc-provider</application.name>
+    <feature-name>appc-provider</feature-name>
     <features.boot>appc-provider</features.boot>
-    <features.repositories>mvn:org.onap.appc/appc-provider-features/${project.version}/xml/features</features.repositories>
+    <features.repositories>mvn:org.onap.appc/onap-appc-provider/${project.version}/xml/features</features.repositories>
     <include.transitive.dependencies>false</include.transitive.dependencies>
   </properties>
 
@@ -42,7 +45,7 @@
 
     <dependency>
       <groupId>org.onap.appc</groupId>
-      <artifactId>appc-provider-features</artifactId>
+      <artifactId>onap-appc-provider</artifactId>
       <version>${project.version}</version>
       <classifier>features</classifier>
       <type>xml</type>
@@ -56,6 +59,12 @@
 
     <dependency>
       <groupId>org.onap.appc</groupId>
+      <artifactId>appc-provider-model</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    
+    <dependency>
+      <groupId>org.onap.appc</groupId>
       <artifactId>appc-provider-bundle</artifactId>
       <version>${project.version}</version>
     </dependency>
diff --git a/appc-provider/appc-provider-model/pom.xml b/appc-provider/appc-provider-model/pom.xml
index 83dfe14..f9d2ee8 100644
--- a/appc-provider/appc-provider-model/pom.xml
+++ b/appc-provider/appc-provider-model/pom.xml
@@ -22,16 +22,17 @@
 <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>appc-provider</artifactId>
-        <groupId>org.onap.appc</groupId>
+    <parent>        
+        <groupId>org.onap.appc.parent</groupId>
+        <artifactId>binding-parent</artifactId>
         <version>1.4.0-SNAPSHOT</version>
     </parent>
+    <groupId>org.onap.appc</groupId>
     <artifactId>appc-provider-model</artifactId>
     <packaging>bundle</packaging>
 
+    <name>appc-provider-model</name>
     <build>
-
         <plugins>
             <plugin>
                 <groupId>org.apache.felix</groupId>
@@ -39,15 +40,15 @@
                 <extensions>true</extensions>
                 <configuration>
                     <instructions>
-                        <Import-Package>!com.google.common.collect,!com.google.common.base,*</Import-Package>
-                        <Embed-Dependency>guava</Embed-Dependency>
+<!--                         <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName> -->
+<!--                         <Bundle-Version>${project.version}</Bundle-Version> -->
+<!--                         <Export-Package>org.onap.appc</Export-Package> -->
                     </instructions>
                 </configuration>
             </plugin>
             <plugin>
                 <groupId>org.opendaylight.yangtools</groupId>
                 <artifactId>yang-maven-plugin</artifactId>
-                <version>${odl.yangtools.version}</version>
                 <dependencies>
                     <dependency>
                         <groupId>org.opendaylight.mdsal</groupId>
@@ -74,30 +75,9 @@
                     </execution>
                 </executions>
             </plugin>
-            <!-- <plugin> -->
-            <!-- <groupId>org.codehaus.mojo</groupId> -->
-            <!-- <artifactId>build-helper-maven-plugin</artifactId> -->
-            <!-- <version>1.12</version> -->
-            <!-- <executions> -->
-            <!-- <execution> -->
-            <!-- <id>add-generated-source</id> -->
-            <!-- <phase>generate-sources</phase> -->
-            <!-- <goals> -->
-            <!-- <goal>add-source</goal> -->
-            <!-- </goals> -->
-            <!-- <configuration> -->
-            <!-- <sources> -->
-            <!-- project.build.directory defaults to be the "target" folder -->
-            <!-- <source>${project.build.directory}/generated-sources/yang-gen-sal</source> -->
-            <!-- </sources> -->
-            <!-- </configuration> -->
-            <!-- </execution> -->
-            <!-- </executions> -->
-            <!-- </plugin> -->
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-install-plugin</artifactId>
-                <version>2.5.2</version>
                 <executions>
                     <execution>
                         <id>yang</id>
diff --git a/appc-provider/pom.xml b/appc-provider/pom.xml
index f34f962..cc165a8 100644
--- a/appc-provider/pom.xml
+++ b/appc-provider/pom.xml
@@ -21,17 +21,18 @@
 <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.onap.appc</groupId>
-        <artifactId>appc</artifactId>
+        <groupId>org.onap.appc.parent</groupId>
+        <artifactId>odlparent-lite</artifactId>
         <version>1.4.0-SNAPSHOT</version>
+        <relativePath/>
     </parent>
+    <groupId>org.onap.appc</groupId>
     <artifactId>appc-provider</artifactId>
+    <version>1.4.0-SNAPSHOT</version>
     <packaging>pom</packaging>
     <name>APPC Provider</name>
-    <description>The app-c service provider bundle</description>
-    <properties>
-        <feature-name>appc-provider</feature-name>
-    </properties>
+    <description>The app-c service provider </description>
+
     <!-- ================================================================================== -->
     <!-- The modules we build -->
     <!-- ================================================================================== -->