<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>catalog-fe</artifactId>
	<packaging>war</packaging>

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

	<dependencies>

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

		<dependency>
			<groupId>org.openecomp.sdc</groupId>
			<artifactId>security-utils</artifactId>
			<version>${project.version}</version>
			<scope>compile</scope>
		</dependency>

		<dependency>
			<groupId>org.openecomp.sdc</groupId>
			<artifactId>common-app-api</artifactId>
			<version>${project.version}</version>
		</dependency>

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

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

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

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

		<dependency>
			<groupId>org.apache.commons</groupId>
			<artifactId>commons-jci-core</artifactId>
			<version>${commons-jci-core.version}</version>
			<scope>compile</scope>
		</dependency>

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

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

		<dependency>
			<groupId>org.glassfish.jersey.media</groupId>
			<artifactId>jersey-media-multipart</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>javax.mail</groupId>
			<artifactId>javax.mail-api</artifactId>
			<version>1.5.2</version>
			<scope>compile</scope>
		</dependency>

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

		<dependency>
			<groupId>org.glassfish.jersey.inject</groupId>
			<artifactId>jersey-hk2</artifactId>
			<version>${jersey-bom.version}</version>
		</dependency>

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

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

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

		<!-- http client -->
		<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>

		<dependency>
			<groupId>org.apache.httpcomponents</groupId>
			<artifactId>httpmime</artifactId>
			<version>${httpclient.version}</version>
			<scope>compile</scope>
		</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>
		<!-- http client END -->

		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>javax.servlet-api</artifactId>
			<version>${servlet-api.version}</version>
			<scope>provided</scope>
		</dependency>

		<!-- JSON and YAML Parsing -->
		<dependency>
			<groupId>com.fasterxml.jackson.dataformat</groupId>
			<artifactId>jackson-dataformat-yaml</artifactId>
			<version>${jackson.version}</version>
			<scope>compile</scope>
		</dependency>

		<!-- Jetty Proxy -->
		<dependency>
			<groupId>org.eclipse.jetty</groupId>
			<artifactId>jetty-proxy</artifactId>
			<version>${jetty.version}</version>
			<scope>compile</scope>
		</dependency>

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

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

		<!-- Aspects -->
		<dependency>
			<groupId>com.jcabi</groupId>
			<artifactId>jcabi-aspects</artifactId>
			<version>${jcabi.version}</version>
			<scope>compile</scope>
		</dependency>
		<dependency>
			<groupId>org.aspectj</groupId>
			<artifactId>aspectjrt</artifactId>
			<version>${aspectjrt.version}</version>
			<scope>compile</scope>
		</dependency>

		<dependency>
			<groupId>org.apache.commons</groupId>
			<artifactId>commons-lang3</artifactId>
			<version>${lang3.version}</version>
			<scope>compile</scope>
		</dependency>

		<!-- Inserted for ECOMP Portal Integration -->
		<dependency>
			<groupId>org.openecomp.ecompsdkos</groupId>
			<artifactId>epsdk-fw</artifactId>
			<version>${ecomp.version}</version>
			<scope>compile</scope>
			<exclusions>
				<exclusion>
					<groupId>com.att.nsa</groupId>
					<artifactId>cambriaClient</artifactId>
				</exclusion>
				<exclusion>
					<artifactId>slf4j-log4j12</artifactId>
					<groupId>org.slf4j</groupId>
				</exclusion>
			</exclusions>
		</dependency>
		<!-- System metrics -->
		<dependency>
			<groupId>org.fusesource</groupId>
			<artifactId>sigar</artifactId>
			<version>${sigar.version}</version>
			<scope>compile</scope>
		</dependency>

		<!-- TEST -->
		<dependency>
			<groupId>org.glassfish.jersey.test-framework.providers</groupId>
			<artifactId>jersey-test-framework-provider-bundle</artifactId>
			<version>${jersey-bom.version}</version>
			<type>pom</type>
			<scope>test</scope>
		</dependency>

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

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

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

	</dependencies>

	<build>

		<finalName>${project.artifactId}-${project.version}</finalName>

		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-war-plugin</artifactId>
				<configuration>
					<archive>
						<manifest>
							<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
						</manifest>
					</archive>

					<webResources>
						<resource>
							<directory>src/main/resources</directory>
						</resource>
					</webResources>
				</configuration>
			</plugin>

			<plugin>
				<groupId>org.eclipse.jetty</groupId>
				<artifactId>jetty-maven-plugin</artifactId>
				<version>${jetty.version}</version>
				<configuration>
					<webApp>
						<contextPath>/</contextPath>
						<webInfIncludeJarPattern>.*/.*jersey-[^/]\.jar$</webInfIncludeJarPattern>
					</webApp>
					<war>${project.build.directory}/${project.build.finalName}.war</war>
				</configuration>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-deploy-plugin</artifactId>
				<configuration>
					<skip>true</skip>
				</configuration>
			</plugin>

			<plugin>
				<groupId>com.jcabi</groupId>
				<artifactId>jcabi-maven-plugin</artifactId>
				<version>${jcabi.maven.plugin.version}</version>
				<executions>
					<execution>
						<goals>
							<goal>ajc</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-clean-plugin</artifactId>
				<executions>
					<execution>
						<id>clean.catalog.fe.folder</id>
						<phase>clean</phase>
						<goals>
							<goal>clean</goal>
						</goals>
						<configuration>
							<filesets>
								<!-- FE WAR's -->
								<fileset>
									<directory>${project.parent.basedir}/catalog-fe/sdc-frontend/</directory>
									<followSymlinks>false</followSymlinks>
									<includes>
										<include>*.war</include>
									</includes>
								</fileset>
							</filesets>
						</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>
								</validationSet>
							</validationSets>
						</configuration>
					</execution>
				</executions>
			</plugin>

		</plugins>

		<pluginManagement>
			<plugins>
				<!--This plugin's configuration is used to store Eclipse m2e settings
					only. It has no influence on the Maven build itself. -->
				<plugin>
					<groupId>org.eclipse.m2e</groupId>
					<artifactId>lifecycle-mapping</artifactId>
					<version>1.0.0</version>
					<configuration>
						<lifecycleMappingMetadata>
							<pluginExecutions>

								<pluginExecution>
									<pluginExecutionFilter>
										<groupId>com.jcabi</groupId>
										<artifactId>jcabi-maven-plugin</artifactId>
										<versionRange>[0.0,)</versionRange>
										<goals>
											<goal>ajc</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<execute />
									</action>
								</pluginExecution>

							</pluginExecutions>
						</lifecycleMappingMetadata>
					</configuration>
				</plugin>

				<!-- jacbi (log injection) -->

			</plugins>
		</pluginManagement>

	</build>

	<profiles>
		<profile>
			<id>catalog</id>
			<activation>
				<activeByDefault>false</activeByDefault>
			</activation>

			<build>
				<finalName>${project.artifactId}-${project.version}</finalName>
			</build>
		</profile>
		<profile>
			<id>docker-staging</id>
			<properties>
				<docker.tag>${project.version}-STAGING-${maven.build.timestamp}</docker.tag>
				<docker.latest.tag>${project.version}-STAGING-latest</docker.latest.tag>
			</properties>
		</profile>

		<profile>
			<id>docker</id>
			<activation>
				<activeByDefault>false</activeByDefault>
			</activation>
			<properties>
				<docker.username>docker</docker.username>
				<docker.password>docker</docker.password>
			</properties>
			<build>
				<plugins>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-resources-plugin</artifactId>
						<executions>
							<execution>
								<id>copy-resources-fe</id>
								<phase>verify</phase>
								<goals>
									<goal>copy-resources</goal>
								</goals>
								<configuration>
									<outputDirectory>${basedir}/sdc-frontend</outputDirectory>
									<resources>
										<resource>
											<directory>${project.parent.basedir}/catalog-fe/target</directory>
											<includes>
												<include>catalog-fe-${project.version}.war</include>
											</includes>
										</resource>
										<resource>
											<directory>${project.parent.basedir}/openecomp-ui/target</directory>
											<includes>
												<include>onboarding-fe-${project.version}.war</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}</username>
									<password>${docker.password}</password>
								</pull>
							</authConfig>
							<images>

								<!-- Build frontend image -->
								<image>
									<name>onap/sdc-frontend</name>
									<alias>sdc-frontend</alias>
									<build>
										<cleanup>try</cleanup>
										<dockerFileDir>${project.basedir}/sdc-frontend</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-frontend</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-frontend</image>
								</configuration>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>
	</profiles>
</project>