<?xml version="1.0" encoding="UTF-8"?>
<!--
    Copyright (c) 2016 AT&T Intellectual Property. All rights reserved.
 -->

<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/maven-v4_0_0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>com.att.authz</groupId>
		<artifactId>parent</artifactId>
		<version>1.0.0-SNAPSHOT</version>
		<relativePath>../pom.xml</relativePath>
	</parent>
		
	<artifactId>authz-gui</artifactId>
	<name>Authz GUI (Mobile First)</name>
	<description>GUI for Authz Management</description>
		<url>https://github.com/att/AAF</url>
	<licenses>
		<license>
		<name>BSD License</name>
		<url> </url>
		</license>
	</licenses>
	<developers>
		<developer>
		<name>Jonathan Gathman</name>
		<email></email>
	<organization>ATT</organization>
	<organizationUrl></organizationUrl>
		</developer>
	</developers>


	<properties>
		<maven.test.failure.ignore>true</maven.test.failure.ignore>
		<project.swmVersion>28</project.swmVersion>
	</properties>
	
		
	<dependencies>
        <dependency>
            <groupId>com.att.authz</groupId>
            <artifactId>authz-core</artifactId>
			<version>${project.version}</version>
            <exclusions>
			  <exclusion> 
					<groupId>javax.servlet</groupId>
       			<artifactId>servlet-api</artifactId>
       		   </exclusion>
		    </exclusions> 
        </dependency>
	    
        <dependency>
            <groupId>com.att.authz</groupId>
            <artifactId>authz-client</artifactId>
			<version>${project.version}</version>
        </dependency>
        
     <!--    <dependency>
            <groupId>com.att.authz</groupId>
            <artifactId>authz-att</artifactId>
        </dependency>    --> 
        
        
        <dependency>
            <groupId>com.att.authz</groupId>
            <artifactId>authz-cmd</artifactId>
			<version>${project.version}</version>
            <exclusions>
		      <exclusion> 
		        <groupId>org.slf4j</groupId>
		        <artifactId>slf4j-log4j12</artifactId>
		      </exclusion>
		      <exclusion> 
		        <groupId>log4j</groupId>
		        <artifactId>log4j</artifactId>
		      </exclusion>
            </exclusions>
        </dependency>

		<dependency> 
			<groupId>org.onap.aaf.cadi</groupId>
			<artifactId>cadi-aaf</artifactId>
			<version>${project.version}</version>
		</dependency>

		<dependency> 
			<groupId>org.onap.aaf.cadi</groupId>
			<artifactId>cadi-tguard</artifactId>
			<version>${project.version}</version>
		</dependency>

		<dependency> 
			<groupId>org.onap.aaf.cadi</groupId>
			<artifactId>cadi-client</artifactId>
			<version>${project.version}</version>
		</dependency>

		<dependency>
			<groupId>gso</groupId>
			<artifactId>GLCookieDecryption</artifactId>
		</dependency>
		
		<dependency>
			<groupId>org.onap.aaf.inno</groupId>
			<artifactId>xgen</artifactId>
			<version>${project.version}</version>
		</dependency>
		
	</dependencies>
	
	<build>
		<plugins>
            <plugin>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-jar-plugin</artifactId>
				<configuration>
                	<includes>
                		<include>**/*.class</include>
                	</includes>
				</configuration>
				<version>2.3.1</version>
			</plugin>
	
			<plugin>
		      <artifactId>maven-assembly-plugin</artifactId>
		      <executions>
		      	<execution>
		      		<id>swm</id>
		      		<phase>package</phase>
		      		<goals>
		      			<goal>single</goal>
		      		</goals>
		      		<configuration>
		      			<finalName>authz-gui-${project.version}.${project.swmVersion}</finalName>
		      		
			      		 <descriptors>
			          		<descriptor>../authz-service/src/main/assemble/swm.xml</descriptor>
			        	</descriptors>
			        	<archive>
				        </archive>
		      		</configuration>
		      	</execution>
		      </executions>
		    </plugin>
		    
		    <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-javadoc-plugin</artifactId>
			<configuration>
			<failOnError>false</failOnError>
			</configuration>
			<executions>
				<execution>
					<id>attach-javadocs</id>
					<goals>
						<goal>jar</goal>
					</goals>
				</execution>
			</executions>
		</plugin> 
	   
	   
	       <plugin>
		      <groupId>org.apache.maven.plugins</groupId>
		      <artifactId>maven-source-plugin</artifactId>
		      <version>2.2.1</version>
		      <executions>
			<execution>
			  <id>attach-sources</id>
			  <goals>
			    <goal>jar-no-fork</goal>
			  </goals>
			</execution>
		      </executions>
		    </plugin>
	
<plugin>
				<groupId>org.sonatype.plugins</groupId>
				<artifactId>nexus-staging-maven-plugin</artifactId>
				<version>1.6.7</version>
				<extensions>true</extensions>
				<configuration>
					<nexusUrl>${nexusproxy}</nexusUrl>
					<stagingProfileId>176c31dfe190a</stagingProfileId>
					<serverId>ecomp-staging</serverId>
				</configuration>
			</plugin>		
			<plugin>
				<groupId>org.jacoco</groupId>
				<artifactId>jacoco-maven-plugin</artifactId>
				<version>0.7.7.201606060606</version>
				<configuration>
					<dumpOnExit>true</dumpOnExit>
					<includes>
						<include>org.onap.aaf.*</include>
					</includes>
				</configuration>
				<executions>
					<execution>
						<id>pre-unit-test</id>
						<goals>
							<goal>prepare-agent</goal>
						</goals>
						<configuration>
							<destFile>${project.build.directory}/coverage-reports/jacoco.exec</destFile>
							<!-- <append>true</append> -->
						</configuration>
					</execution>
					<execution>
						<id>pre-integration-test</id>
						<phase>pre-integration-test</phase>
						<goals>
							<goal>prepare-agent</goal>
						</goals>
						<configuration>
							<destFile>${project.build.directory}/coverage-reports/jacoco-it.exec</destFile>
							<!-- <append>true</append> -->
						</configuration>
					</execution>
					<execution>
                        <goals>
                            <goal>merge</goal>
                        </goals>
                        <phase>post-integration-test</phase>
                        <configuration>
                            <fileSets>
                                <fileSet implementation="org.apache.maven.shared.model.fileset.FileSet">
                                    <directory>${project.build.directory}/coverage-reports</directory>
                                    <includes>
                                        <include>*.exec</include>
                                    </includes>
                                </fileSet>
                            </fileSets>
                            <destFile>${project.build.directory}/jacoco-dev.exec</destFile>
                        </configuration>
                    </execution>
				</executions>
			</plugin>
			
	
		
		</plugins>
		<pluginManagement>
			<plugins/>
		</pluginManagement>
	</build>

</project>
