<!--
  ============LICENSE_START==================================================
  ONAP Policy Engine
  ===========================================================================
  Copyright (C) 2017-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====================================================
  -->
<assembly
	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>distribution</id>
	<formats>
		<format>zip</format>
	</formats>
	<includeBaseDirectory>false</includeBaseDirectory>
	<fileSets>
		<fileSet>
			<directory>${basedir}</directory>
			<outputDirectory />
			<excludes>
				<exclude>.classpath</exclude>
				<exclude>.project</exclude>
				<exclude>.settings/</exclude>
				<exclude>bin/</exclude>
				<exclude>target/</exclude>
				<exclude>distribution.xml</exclude>
				<exclude>**/WEB-INF/conf/system.properties.*</exclude>
			</excludes>
		</fileSet>
		<!-- Include common database scripts for partner convenience -->
		<fileSet>
			<directory>../epsdk-app-common</directory>
			<outputDirectory />
			<includes>
				<include>db-scripts/*</include>
			</includes>
		</fileSet>
	</fileSets>
</assembly>