<?xml version="1.0" encoding="UTF-8"?>
<!--
  ============LICENSE_START=======================================================
  ONAP : APPC
  ================================================================================
  Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
  Copyright (C) 2017 Amdocs
  ================================================================================
  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=========================================================
  -->
<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>odlparent-lite</artifactId>
        <version>1.5.0-SNAPSHOT</version>
        <relativePath />
    </parent>
  <groupId>org.onap.appc</groupId>
	<artifactId>appc-aai-client-installer</artifactId>
	<name>APPC AAI Client -Installer</name>
	<packaging>pom</packaging>

	<properties>
		<application.name>appc-aai-client</application.name>
		<features.boot>appc-aai-client</features.boot>
		<features.repositories>mvn:org.onap.appc/onap-appc-aai-client/${project.version}/xml/features</features.repositories>
		<include.transitive.dependencies>false</include.transitive.dependencies>
	</properties>

	<dependencies>

		<dependency>
			<groupId>org.onap.appc</groupId>
			<artifactId>onap-appc-aai-client</artifactId>
			<version>${project.version}</version>
			<classifier>features</classifier>
			<type>xml</type>
			<exclusions>
				<exclusion>
					<groupId>*</groupId>
					<artifactId>*</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>org.onap.appc</groupId>
			<artifactId>appc-aai-client-provider</artifactId>
			<version>${project.version}</version>
		</dependency>

	</dependencies>

	<build>
		<plugins>
			<plugin>
				<artifactId>maven-assembly-plugin</artifactId>
				<executions>
					<execution>
						<id>maven-repo-zip</id>
						<goals>
							<goal>single</goal>
						</goals>
						<phase>package</phase>
						<configuration>
							<appendAssemblyId>false</appendAssemblyId>
							<attach>false</attach>
							<finalName>stage/${application.name}-${project.version}</finalName>
							<descriptors>
								<descriptor>src/assembly/assemble_mvnrepo_zip.xml</descriptor>
							</descriptors>
						</configuration>
					</execution>
					<execution>
						<id>installer-zip</id>
						<goals>
							<goal>single</goal>
						</goals>
						<phase>package</phase>
						<configuration>
							<appendAssemblyId>false</appendAssemblyId>
							<attach>true</attach>
							<finalName>${application.name}-${project.version}</finalName>
							<descriptors>
								<descriptor>src/assembly/assemble_installer_zip.xml</descriptor>
							</descriptors>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-dependency-plugin</artifactId>
				<executions>
					<execution>
						<id>copy-dependencies</id>
						<goals>
							<goal>copy-dependencies</goal>
						</goals>
						<phase>prepare-package</phase>
						<configuration>
							<transitive>false</transitive>
							<outputDirectory>${project.build.directory}/assembly/system</outputDirectory>
							<overWriteReleases>false</overWriteReleases>
							<overWriteSnapshots>true</overWriteSnapshots>
							<overWriteIfNewer>true</overWriteIfNewer>
							<useRepositoryLayout>true</useRepositoryLayout>
							<addParentPoms>false</addParentPoms>
							<copyPom>false</copyPom>
							<excludeGroupIds>org.opendaylight</excludeGroupIds>
							<scope>provided</scope>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<artifactId>maven-resources-plugin</artifactId>
				<executions>
					<execution>
						<id>copy-version</id>
						<goals>
							<goal>copy-resources</goal>
						</goals>
						<!-- here the phase you need -->
						<phase>validate</phase>
						<configuration>
							<outputDirectory>${basedir}/target/stage</outputDirectory>
							<resources>
								<resource>
									<directory>src/main/resources/scripts</directory>
									<includes>
										<include>install-feature.sh</include>
									</includes>
									<filtering>true</filtering>
								</resource>
							</resources>
						</configuration>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>

	<version>1.6.0-SNAPSHOT</version>
</project>
