<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>

	<artifactId>asdctool</artifactId>
	<packaging>jar</packaging>

	<parent>
		<groupId>org.openecomp.sdc</groupId>
		<artifactId>sdc-main</artifactId>
		<version>1.6.0-SNAPSHOT</version>
	</parent>

	<dependencies>

		<dependency>
			<groupId>com.google.guava</groupId>
			<artifactId>guava</artifactId>
			<version>${guava.version}</version>
			<scope>compile</scope>
		</dependency>

		<!-- ASDC dependencies -->
		<dependency>
			<groupId>org.openecomp.sdc.be</groupId>
			<artifactId>common-be</artifactId>
			<version>${project.version}</version>
			<scope>compile</scope>
		</dependency>
		<dependency>
			<groupId>org.openecomp.sdc</groupId>
			<artifactId>common-app-api</artifactId>
			<version>${project.version}</version>
			<scope>compile</scope>
		</dependency>

		<dependency>
			<groupId>org.openecomp.sdc.be</groupId>
			<artifactId>catalog-dao</artifactId>
			<version>${project.version}</version>
			<scope>compile</scope>
		</dependency>

		<dependency>
			<groupId>org.openecomp.sdc.be</groupId>
			<artifactId>catalog-model</artifactId>
			<version>${project.version}</version>
			<scope>compile</scope>
		</dependency>


		<dependency>
			<groupId>org.openecomp.sdc</groupId>
			<artifactId>catalog-be</artifactId>
			<version>${project.version}</version>

			<!-- Comment Out in order to debug in eclipse -->
			<classifier>classes</classifier>

			<exclusions>
				<exclusion>
					<groupId>org.openecomp.ecompsdkos</groupId>
					<artifactId>epsdk-fw</artifactId>
				</exclusion>

				<exclusion>
					<groupId>org.onap.sdc.common</groupId>
					<artifactId>onap-common-lib</artifactId>
				</exclusion>

				<exclusion>
					<groupId>com.att.nsa</groupId>
					<artifactId>cambriaClient</artifactId>
				</exclusion>
				<exclusion>
					<groupId>com.att.nsa</groupId>
					<artifactId>dmaapClient</artifactId>
				</exclusion>
				<exclusion>
					<artifactId>slf4j-log4j12</artifactId>
					<groupId>org.slf4j</groupId>
				</exclusion>

			</exclusions>

			<scope>compile</scope>
		</dependency>

		<dependency>
			<groupId>org.onap.portal.sdk</groupId>
			<artifactId>epsdk-fw</artifactId>
			<version>${ecomp.version}</version>
			<scope>compile</scope>
			<exclusions>
				<exclusion>
					<groupId>com.att.nsa</groupId>
					<artifactId>cambriaClient</artifactId>
				</exclusion>
				<exclusion>
					<groupId>com.att.nsa</groupId>
					<artifactId>dmaapClient</artifactId>
				</exclusion>
				<exclusion>
					<artifactId>slf4j-log4j12</artifactId>
					<groupId>org.slf4j</groupId>
				</exclusion>
			</exclusions>
		</dependency>



		<!-- ASDC dependencies end -->
		<dependency>
			<groupId>org.eclipse.jetty</groupId>
			<artifactId>jetty-server</artifactId>
			<version>${jetty.version}</version>
			<scope>compile</scope>
		</dependency>

		<dependency>
			<groupId>org.eclipse.jetty</groupId>
			<artifactId>jetty-util</artifactId>
			<version>${jetty.version}</version>
			<scope>compile</scope>
		</dependency>

		<!-- listen to file changes -->
		<dependency>
			<groupId>org.apache.commons</groupId>
			<artifactId>commons-jci-core</artifactId>
			<version>${commons-jci-core.version}</version>
			<scope>compile</scope>
		</dependency>

		<dependency>
			<groupId>commons-cli</groupId>
			<artifactId>commons-cli</artifactId>
			<version>1.4</version>
		</dependency>

		<dependency>
			<groupId>org.eclipse.jetty</groupId>
			<artifactId>jetty-servlet</artifactId>
			<version>${jetty.version}</version>
			<scope>compile</scope>
		</dependency>

		<dependency>
			<groupId>org.glassfish.jersey.core</groupId>
			<artifactId>jersey-server</artifactId>
			<version>${jersey-bom.version}</version>
			<scope>compile</scope>
		</dependency>

		<dependency>
			<groupId>org.glassfish.jersey.containers</groupId>
			<artifactId>jersey-container-servlet-core</artifactId>
			<version>${jersey-bom.version}</version>
			<scope>compile</scope>
		</dependency>

		<dependency>
			<groupId>org.glassfish.jersey.containers</groupId>
			<artifactId>jersey-container-jetty-http</artifactId>
			<version>${jersey-bom.version}</version>
			<scope>compile</scope>
		</dependency>

		<dependency>
			<groupId>org.glassfish.jersey.media</groupId>
			<artifactId>jersey-media-moxy</artifactId>
			<version>${jersey-bom.version}</version>
			<scope>compile</scope>
		</dependency>

		<dependency>
			<groupId>org.glassfish.jersey.media</groupId>
			<artifactId>jersey-media-multipart</artifactId>
			<version>2.14</version>
			<scope>compile</scope>
		</dependency>

		<!-- slf4j + logback -->
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-api</artifactId>
			<version>${slf4j-api.version}</version>
			<scope>compile</scope>
		</dependency>

		<dependency>
			<groupId>ch.qos.logback</groupId>
			<artifactId>logback-classic</artifactId>
			<version>${logback.version}</version>
			<scope>compile</scope>
		</dependency>

		<dependency>
			<groupId>ch.qos.logback</groupId>
			<artifactId>logback-core</artifactId>
			<version>${logback.version}</version>
			<scope>compile</scope>
		</dependency>

		<!-- groovy -->
		<dependency>
			<groupId>org.codehaus.groovy</groupId>
			<artifactId>groovy</artifactId>
			<scope>compile</scope>
		</dependency>

		<dependency>
			<groupId>org.apache.commons</groupId>
			<artifactId>commons-configuration2</artifactId>
			<version>${commons-configuration}</version>
		</dependency>

		<dependency>
			<groupId>org.janusgraph</groupId>
			<artifactId>janusgraph-core</artifactId>
			<version>${janusgraph.version}</version>
			<scope>compile</scope>
			<exclusions>
				<exclusion>
					<groupId>org.json</groupId>
					<artifactId>json</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.slf4j</groupId>
					<artifactId>slf4j-log4j12</artifactId>
				</exclusion>
				<exclusion>
					<artifactId>commons-collections</artifactId>
					<groupId>commons-collections</groupId>
				</exclusion>
				<exclusion>
					<artifactId>groovy</artifactId>
					<groupId>org.codehaus.groovy</groupId>
				</exclusion>
				<exclusion>
					<groupId>org.apache.thrift</groupId>
					<artifactId>libthrift</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

		<dependency>
			<groupId>com.googlecode.json-simple</groupId>
			<artifactId>json-simple</artifactId>
			<version>${json-simple.version}</version>
			<scope>compile</scope>
		</dependency>

		<dependency>
			<groupId>org.janusgraph</groupId>
			<artifactId>janusgraph-cassandra</artifactId>
			<version>${janusgraph.version}</version>
			<scope>compile</scope>
			<exclusions>
				<exclusion>
					<groupId>org.slf4j</groupId>
					<artifactId>slf4j-log4j12</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

		<dependency>
			<groupId>commons-logging</groupId>
			<artifactId>commons-logging</artifactId>
			<version>${commons-logging}</version>
			<scope>compile</scope>
		</dependency>

		<dependency>
			<groupId>commons-codec</groupId>
			<artifactId>commons-codec</artifactId>
			<version>${commons-codec}</version>
			<scope>compile</scope>
		</dependency>

		<dependency>
			<groupId>com.fasterxml.jackson.core</groupId>
			<artifactId>jackson-databind</artifactId>
			<version>${jackson.version}</version>
			<scope>compile</scope>
		</dependency>

		<!-- Explicitly specified in order to override older version included by epsdk-fw -->
		<dependency>
			<groupId>com.fasterxml.jackson.core</groupId>
			<artifactId>jackson-annotations</artifactId>
			<version>${jackson-annotations.version}</version>
		</dependency>

		<dependency>
			<groupId>com.google.code.gson</groupId>
			<artifactId>gson</artifactId>
			<version>${gson.version}</version>
			<scope>compile</scope>
		</dependency>

		<dependency>
			<groupId>org.apache.httpcomponents</groupId>
			<artifactId>httpclient</artifactId>
			<version>${httpclient.version}</version>
			<scope>compile</scope>
		</dependency>

		<dependency>
			<groupId>org.apache.httpcomponents</groupId>
			<artifactId>httpcore</artifactId>
			<version>${httpcore.version}</version>
			<scope>compile</scope>
		</dependency>

		<!-- Spring 4 dependencies -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-core</artifactId>
			<version>${spring.version}</version>
			<scope>compile</scope>
		</dependency>

		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context</artifactId>
			<version>${spring.version}</version>
			<scope>compile</scope>
		</dependency>

		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-expression</artifactId>
			<version>${spring.version}</version>
			<scope>compile</scope>
		</dependency>

		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-beans</artifactId>
			<version>${spring.version}</version>
			<scope>compile</scope>
		</dependency>

		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-aop</artifactId>
			<version>${spring.version}</version>
			<scope>compile</scope>
		</dependency>

		<!-- Spring 4 dependencies end -->
		<!-- JavaConfig need this library -->
		<dependency>
			<groupId>cglib</groupId>
			<artifactId>cglib</artifactId>
			<version>3.2.4</version>
			<scope>compile</scope>
		</dependency>

		<dependency>
			<groupId>org.yaml</groupId>
			<artifactId>snakeyaml</artifactId>
			<version>${snakeyaml.version}</version>
			<scope>compile</scope>
		</dependency>

		<dependency>
			<groupId>org.functionaljava</groupId>
			<artifactId>functionaljava</artifactId>
			<version>${functionaljava.version}</version>
			<scope>compile</scope>
		</dependency>

		<dependency>
			<groupId>org.elasticsearch</groupId>
			<artifactId>elasticsearch</artifactId>
			<version>${elastic-search.version}</version>
			<scope>compile</scope>
		</dependency>

		<dependency>
			<groupId>com.fasterxml.jackson.dataformat</groupId>
			<artifactId>jackson-dataformat-yaml</artifactId>
			<version>${jackson.version}</version>
			<scope>compile</scope>
		</dependency>

		<!-- CASSANDRA -->
		<dependency>
			<groupId>com.datastax.cassandra</groupId>
			<artifactId>cassandra-driver-core</artifactId>
			<version>${cassandra.driver.version}</version>
			<scope>compile</scope>
		</dependency>

		<dependency>
			<groupId>com.datastax.cassandra</groupId>
			<artifactId>cassandra-driver-mapping</artifactId>
			<version>${cassandra.driver.version}</version>
			<scope>compile</scope>
		</dependency>
		<dependency>
			<groupId>org.apache.thrift</groupId>
			<artifactId>libthrift</artifactId>
			<version>${libthrift.version}</version>
		</dependency>

		<!-- CASSANDRA END -->

		<!-- OPEN CSV -->
		<dependency>
			<groupId>com.opencsv</groupId>
			<artifactId>opencsv</artifactId>
			<version>4.0</version>
			<scope>compile</scope>
		</dependency>

		<dependency>
			<groupId>org.apache.poi</groupId>
			<artifactId>poi</artifactId>
			<version>${apache-poi.version}</version>
		</dependency>

		<dependency>
			<groupId>org.jdom</groupId>
			<artifactId>jdom</artifactId>
			<version>2.0.2</version>
			<scope>compile</scope>
		</dependency>

		<!-- Temporary, till building the populate task which adding all components
			to cache. We will use Serialization Utils. -->
		<dependency>
			<groupId>de.ruedigermoeller</groupId>
			<artifactId>fst</artifactId>
			<version>2.47</version>
			<scope>compile</scope>
		</dependency>

		<!-- testing -->
        <dependency>
            <groupId>org.hamcrest</groupId>
            <artifactId>hamcrest-all</artifactId>
            <version>${hamcrest-all.version}</version>
            <scope>test</scope>
        </dependency>

		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>${junit.version}</version>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>org.testng</groupId>
			<artifactId>testng</artifactId>
			<version>${testng.version}</version>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>org.mockito</groupId>
			<artifactId>mockito-core</artifactId>
			<scope>test</scope>
		</dependency>

    <dependency>
    	<groupId>org.assertj</groupId>
			<artifactId>assertj-core</artifactId>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>com.google.code.bean-matchers</groupId>
			<artifactId>bean-matchers</artifactId>
			<version>${bean-matchers.version}</version>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>com.github.stefanbirkner</groupId>
			<artifactId>system-rules</artifactId>
			<version>1.19.0</version>
			<scope>test</scope>
		</dependency>

		<!-- testing end -->

		<dependency>
			<groupId>io.netty</groupId>
			<artifactId>netty-all</artifactId>
		</dependency>

		<dependency>
			<groupId>io.netty</groupId>
			<artifactId>netty-handler</artifactId>
		</dependency>
		<dependency>
			<groupId>org.powermock</groupId>
			<artifactId>powermock-module-junit4</artifactId>
			<version>2.0.2</version>
			<scope>test</scope>
		</dependency>
	</dependencies>

	<build>
		<finalName>${project.artifactId}-${project.version}-jar-with-dependencies</finalName>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-deploy-plugin</artifactId>
				<configuration>
					<skip>true</skip>
				</configuration>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-assembly-plugin</artifactId>
				<executions>
					<execution>
						<configuration>
							<finalName>sdctool</finalName>
							<appendAssemblyId>false</appendAssemblyId>
							<descriptors>
								<descriptor>${project.basedir}/tarball.xml</descriptor>
							</descriptors>
						</configuration>
						<id>assemble-file</id>
						<phase>verify</phase>
						<goals>
							<goal>single</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-shade-plugin</artifactId>
				<executions>
					<execution>
						<phase>package</phase>
						<goals>
							<goal>shade</goal>
						</goals>
						<configuration>
							<filters>
								<filter>
									<artifact>org.openecomp.sdc:*</artifact>
									<excludes>
										<exclude>**/elasticsearch.yml</exclude>
									</excludes>
								</filter>
								<filter>
									<artifact>*:*</artifact>
									<excludes>
										<exclude>META-INF/*.SF</exclude>
										<exclude>META-INF/*.DSA</exclude>
										<exclude>META-INF/*.RSA</exclude>
									</excludes>
								</filter>
							</filters>
							<transformers>
								<transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
							</transformers>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>ru.yaal.maven</groupId>
				<artifactId>write-text-files-maven-plugin</artifactId>
				<configuration>
					<charset>UTF-8</charset>
					<files>
						<file>
							<path>
								${project.basedir}\sdc-cassandra-init\chef-repo\cookbooks\cassandra-actions\attributes\version.rb
							</path>
							<lines>
								<line>normal['version'] ="${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.incrementalVersion}"</line>
							</lines>
						</file>
					</files>
				</configuration>
				<executions>
					<execution>
						<id>write-text-files</id>
						<phase>prepare-package</phase>
						<goals>
							<goal>write-text-files</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-resources-plugin</artifactId>
				<executions>
					<execution>
						<id>copy-tosca-folder</id>
						<!-- here the phase you need -->
						<phase>compile</phase>
						<goals>
							<goal>copy-resources</goal>
						</goals>
						<configuration>
							<outputDirectory>${project.parent.basedir}/asdctool/tosca</outputDirectory>
							<resources>
								<resource>
									<directory>${project.parent.basedir}/catalog-be/src/main/resources/import/tosca</directory>
									<filtering>true</filtering>
								</resource>
							</resources>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>com.github.sylvainlaurent.maven</groupId>
				<artifactId>yaml-json-validator-maven-plugin</artifactId>
				<executions>
					<execution>
						<id>validate</id>
						<phase>validate</phase>
						<goals>
							<goal>validate</goal>
						</goals>
						<configuration>
							<validationSets>
								<validationSet>
									<includes>
										<include>src/main/resources/**/*.y*ml</include>
										<include>src/test/resources/**/*.y*ml</include>
									</includes>
								</validationSet>
								<validationSet>
									<includes>
										<include>src/main/resources/**/*.json</include>
										<include>src/test/resources/**/*.json</include>
									</includes>
									<excludes>
										<exclude>src/test/resources/graphError.json</exclude>
									</excludes>
								</validationSet>
							</validationSets>
						</configuration>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>
	<profiles>
		<profile>
			<id>docker</id>
			<activation>
				<activeByDefault>false</activeByDefault>
			</activation>
			<build>
				<plugins>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-resources-plugin</artifactId>
						<executions>
							<execution>
								<id>copy-sdctool</id>
								<phase>verify</phase>
								<goals>
									<goal>copy-resources</goal>
								</goals>
								<configuration>
									<outputDirectory>${basedir}/sdc-cassandra-init/chef-repo/cookbooks/cassandra-actions/files/default</outputDirectory>
									<resources>
										<resource>
											<directory>${project.parent.basedir}/asdctool/target</directory>
											<includes>
												<include>sdctool.tar</include>
											</includes>
										</resource>
									</resources>
								</configuration>
							</execution>
						</executions>
					</plugin>
					<plugin>
						<groupId>io.fabric8</groupId>
						<artifactId>docker-maven-plugin</artifactId>
						<configuration>
							<apiVersion>1.23</apiVersion>
							<registry>nexus3.onap.org:10001</registry>
							<authConfig>
								<pull>
									<username>docker</username>
									<password>docker</password>
								</pull>
							</authConfig>
							<images>
								<!-- Build cassandra-init image -->
								<image>
									<name>onap/sdc-cassandra-init</name>
									<alias>sdc-cassandra-init</alias>
									<build>
										<cleanup>try</cleanup>
										<dockerFileDir>${project.basedir}/sdc-cassandra-init</dockerFileDir>
										<tags>
											<tag>${docker.tag}</tag>
											<tag>${parsedVersion.majorVersion}.${parsedVersion.minorVersion}-STAGING-latest</tag>
										</tags>
									</build>
								</image>
							</images>
						</configuration>
						<executions>
							<execution>
								<id>clean-images</id>
								<phase>pre-clean</phase>
								<goals>
									<goal>remove</goal>
								</goals>
								<configuration>
									<removeAll>true</removeAll>
									<image>onap/sdc-cassandra-init</image>
								</configuration>
							</execution>

							<execution>
								<id>generate-images</id>
								<phase>install</phase>
								<goals>
									<goal>build</goal>
								</goals>
							</execution>

							<execution>
								<id>push-images</id>
								<phase>deploy</phase>
								<goals>
									<goal>push</goal>
								</goals>
								<configuration>
									<image>onap/sdc-cassandra-init</image>
								</configuration>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>
	</profiles>
</project>