[POLICY-66] self-contained features support

installation/enable/disable of self contained package features:

Feature 3rd party dependencies, configuration files, and
custom installation scripts do not need to be packaged within the policy
core base to be used.

Change-Id: I35a472e63bd0f9f7aa6cd0c112d41d2b4604a892
Signed-off-by: Jorge Hernandez <jh1730@att.com>
diff --git a/feature-healthcheck/pom.xml b/feature-healthcheck/pom.xml
index 58ea768..12c6b4d 100644
--- a/feature-healthcheck/pom.xml
+++ b/feature-healthcheck/pom.xml
@@ -82,8 +82,9 @@
               <useRepositoryLayout>false</useRepositoryLayout>
               <addParentPoms>false</addParentPoms>
               <copyPom>false</copyPom>
-              <excludeGroupIds>org.opendaylight,com.brocade.odl</excludeGroupIds>
-              <excludeScope>provided</excludeScope>
+			  <includeScope>runtime</includeScope>
+			  <excludeScope>provided</excludeScope>
+			  <excludeTransitive>true</excludeTransitive>
             </configuration>
           </execution>
         </executions>
diff --git a/feature-healthcheck/src/assembly/assemble_zip.xml b/feature-healthcheck/src/assembly/assemble_zip.xml
index 51a752a..fcbb652 100644
--- a/feature-healthcheck/src/assembly/assemble_zip.xml
+++ b/feature-healthcheck/src/assembly/assemble_zip.xml
@@ -24,61 +24,51 @@
 	xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
 	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 	xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
-	<id>runtime</id>
+	<id>feature-healthcheck-package</id>
 	<formats>
 		<format>zip</format>
 	</formats>
 
-	<!-- we want "system" and related files right at the root level as this 
-		file is suppose to be unzip on top of a karaf distro. -->
 	<includeBaseDirectory>false</includeBaseDirectory>
 
 	<fileSets>
 		<fileSet>
 			<directory>target</directory>
-			<outputDirectory>lib/opt</outputDirectory>
+			<outputDirectory>lib/feature</outputDirectory>
 			<includes>
 				<include>feature-healthcheck-${project.version}.jar</include>
 			</includes>
 		</fileSet>
 		<fileSet>
-			<directory>target/assembly/</directory>
-			<outputDirectory>.</outputDirectory>
-			<excludes>
-			</excludes>
-		</fileSet>
-		<fileSet>
-			<directory>.</directory>
-			<outputDirectory>lib</outputDirectory>
+			<directory>target/assembly/lib</directory>
+			<outputDirectory>lib/dependencies</outputDirectory>
 			<includes>
 				<include>*.jar</include>
 			</includes>
 		</fileSet>
 		<fileSet>
-			<directory>src/main/server-gen/bin</directory>
-			<outputDirectory>bin</outputDirectory>
-			<fileMode>0744</fileMode>
-			<excludes>
-			</excludes>
-		</fileSet>
-		<fileSet>
-			<directory>src/main/server/bin</directory>
-			<outputDirectory>bin</outputDirectory>
-			<fileMode>0744</fileMode>
-			<excludes>
-			</excludes>
-		</fileSet>
-		<fileSet>
-			<directory>src/main/server-gen/scripts</directory>
-			<outputDirectory>scripts</outputDirectory>
-		</fileSet>
-		<fileSet>
-			<directory>src/main/server/scripts</directory>
-			<outputDirectory>scripts</outputDirectory>
-		</fileSet>
-		<fileSet>
-			<directory>src/main/server/config</directory>
+			<directory>src/main/feature/config</directory>
 			<outputDirectory>config</outputDirectory>
+			<fileMode>0644</fileMode>
+			<excludes/>
+		</fileSet>
+		<fileSet>
+			<directory>src/main/feature/bin</directory>
+			<outputDirectory>bin</outputDirectory>
+			<fileMode>0744</fileMode>
+			<excludes/>
+		</fileSet>
+		<fileSet>
+			<directory>src/main/feature/db</directory>
+			<outputDirectory>db</outputDirectory>
+			<fileMode>0744</fileMode>
+			<excludes/>
+		</fileSet>
+		<fileSet>
+			<directory>src/main/feature/install</directory>
+			<outputDirectory>install</outputDirectory>
+			<fileMode>0744</fileMode>
+			<excludes/>
 		</fileSet>
 	</fileSets>
 
diff --git a/feature-healthcheck/src/main/feature/config/feature-healthcheck.properties b/feature-healthcheck/src/main/feature/config/feature-healthcheck.properties
new file mode 100644
index 0000000..d91c2cc
--- /dev/null
+++ b/feature-healthcheck/src/main/feature/config/feature-healthcheck.properties
@@ -0,0 +1,44 @@
+###
+# ============LICENSE_START=======================================================
+# policy-management
+# ================================================================================
+# Copyright (C) 2017 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=========================================================
+###
+
+http.server.services=HEALTHCHECK
+http.server.services.HEALTHCHECK.host=0.0.0.0
+http.server.services.HEALTHCHECK.port=6969
+http.server.services.HEALTHCHECK.restClasses=org.openecomp.policy.drools.healthcheck.RestHealthCheck
+http.server.services.HEALTHCHECK.managed=false
+http.server.services.HEALTHCHECK.swagger=true
+
+http.client.services=PAP,PDP
+
+http.client.services.PAP.host=${{PAP_HOST}}
+http.client.services.PAP.port=9091
+http.client.services.PAP.contextUriPath=pap/test
+http.client.services.PAP.https=false
+http.client.services.PAP.userName=${{PAP_USERNAME}}
+http.client.services.PAP.password=${{PAP_PASSWORD}}
+http.client.services.PAP.managed=true
+
+http.client.services.PDP.host=${{PDP_HOST}}
+http.client.services.PDP.port=8081
+http.client.services.PDP.contextUriPath=pdp/test
+http.client.services.PDP.https=false
+http.client.services.PDP.userName=${{PDP_USERNAME}}
+http.client.services.PDP.password=${{PDP_PASSWORD}}
+http.client.services.PDP.managed=false