<!-- ============LICENSE_START======================================================= 
	org.onap.dmaap ================================================================================ 
	Copyright © 2017 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========================================================= 
	ECOMP is a trademark and service mark of AT&T Intellectual Property. -->
<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>
	<groupId>org.onap.dmaap.messagerouter.msgrtr</groupId>
	<artifactId>msgrtr</artifactId>
	<version>1.1.3-SNAPSHOT</version>
	<packaging>jar</packaging>
	<name>dmaap-messagerouter-msgrtr</name>
	<description>Message Router - Restful interface built for kafka</description>

	<parent>
		<groupId>org.onap.oparent</groupId>
		<artifactId>oparent</artifactId>
		<version>1.1.0</version>
	</parent>

	<properties>
		<spring.version>3.2.18.RELEASE</spring.version>
		<cxf.version>3.0.4</cxf.version>
		<jstl.version>1.2</jstl.version>
		<maven.compiler.target>1.7</maven.compiler.target>
		<maven.compiler.source>1.7</maven.compiler.source>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

		<!-- SONAR -->
		<jacoco.version>0.7.7.201606060606</jacoco.version>
		<sonar-jacoco-listeners.version>3.2</sonar-jacoco-listeners.version>
		<sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin>
		<!-- Default Sonar configuration -->
		<sonar.jacoco.reportPath>target/code-coverage/jacoco-ut.exec</sonar.jacoco.reportPath>
		<sonar.jacoco.itReportPath>target/code-coverage/jacoco-it.exec</sonar.jacoco.itReportPath>
		<!-- Note: This list should match jacoco-maven-plugin's exclusion list 
			below -->
		<sonar.exclusions>**/gen/**,**/generated-sources/**,**/yang-gen**,**/pax/**</sonar.exclusions>
		<sitePath>/content/sites/site/org/onap/dmaap/messagerouter/msgrtr/${project.artifactId}/${project.version}</sitePath>
		<nexusproxy>https://nexus.onap.org</nexusproxy>
	</properties>

	<!-- Distribution management -->
	<!-- Currently all artifacts will be uploaded to att-public-group reposiotry 
		on Maven Central -->
	<distributionManagement>
		<site>
			<id>ecomp-site</id>
			<url>dav:${nexusproxy}${sitePath}</url>
		</site>
	</distributionManagement>

	<!-- End Distribution management -->

	<licenses>
		<license>
			<name>Apache License Version 2.0</name>
		</license>
	</licenses>

	<developers>
		<developer>
			<name>Rajashree</name>
			<email></email>
			<organization>ATT</organization>
			<organizationUrl>www.att.com</organizationUrl>
		</developer>
		<developer>
			<name>Ramkumar</name>
			<email></email>
			<organization>ATT</organization>
			<organizationUrl>www.att.com</organizationUrl>
		</developer>
	</developers>

	<dependencies>
	   <!--  <dependency>
			<groupId>org.apache.tomcat</groupId>
			<artifactId>tomcat-catalina</artifactId>
			<version>8.0.47</version>
		</dependency>
		<dependency>
			<groupId>org.apache.tomcat</groupId>
			<artifactId>tomcat-util</artifactId>
			<version>8.0.47</version>
		</dependency>
		<dependency>
			<groupId>org.apache.tomcat.embed</groupId>
			<artifactId>tomcat-embed-core</artifactId>
			<version>8.0.47</version>
		</dependency> -->
		<dependency>
			<groupId>commons-collections</groupId>
			<artifactId>commons-collections</artifactId>
			<version>3.2.2</version>
		</dependency>
		<dependency>
			<groupId>ch.qos.logback</groupId>
			<artifactId>logback-core</artifactId>
			<version>1.2.0</version>
		</dependency>
		<dependency>
			<groupId>ch.qos.logback</groupId>
			<artifactId>logback-classic</artifactId>
			<version>1.2.0</version>
		</dependency>
		<!-- <dependency> <groupId>commons-beanutils</groupId> <artifactId>commons-beanutils</artifactId> 
			<version>1.9.2</version> <exclusions> We have JCL-over-SLF4J instead. <exclusion> 
			<groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> 
			</exclusion> </exclusions> </dependency> -->
		<dependency>
			<groupId>org.grails</groupId>
			<artifactId>grails-web</artifactId>
			<version>2.5.4</version>
			<exclusions>
				<exclusion>
					<groupId>org.grails</groupId>
					<artifactId>grails-web-jsp</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		 <dependency>
      <groupId>org.grails</groupId>
      <artifactId>grails-bootstrap</artifactId>
      <version>2.5.4</version>
      <scope>compile</scope>
      <exclusions>
        <exclusion>
          <artifactId>ant</artifactId>
          <groupId>org.apache.ant</groupId>
        </exclusion>
        <exclusion>
          <artifactId>jna</artifactId>
          <groupId>net.java.dev.jna</groupId>
        </exclusion>
        <exclusion>
          <artifactId>ant-trax</artifactId>
          <groupId>org.apache.ant</groupId>
        </exclusion>
        <exclusion>
          <artifactId>gant_groovy1.8</artifactId>
          <groupId>org.codehaus.gant</groupId>
        </exclusion>
        <exclusion>
          <artifactId>ant-launcher</artifactId>
          <groupId>org.apache.ant</groupId>
        </exclusion>
        <exclusion>
          <artifactId>jline</artifactId>
          <groupId>jline</groupId>
        </exclusion>
        <exclusion>
          <artifactId>ivy</artifactId>
          <groupId>org.apache.ivy</groupId>
        </exclusion>
        <exclusion>
          <artifactId>jansi</artifactId>
          <groupId>org.fusesource.jansi</groupId>
        </exclusion>
        <exclusion>
          <artifactId>commons-logging</artifactId>
          <groupId>commons-logging</groupId>
        </exclusion>
        <exclusion>
          <artifactId>ant-junit</artifactId>
          <groupId>org.apache.ant</groupId>
        </exclusion>
      </exclusions>
    </dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-test</artifactId>
			<version>${spring.version}</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.codehaus.groovy</groupId>
			<artifactId>groovy-all</artifactId>
			<version>2.4.4</version>
			<scope>compile</scope>
			<exclusions>
				<exclusion>
					<artifactId>jline</artifactId>
					<groupId>jline</groupId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>commons-fileupload</groupId>
			<artifactId>commons-fileupload</artifactId>
			<version>1.3.3</version>
		</dependency>

		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.11</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>com.att.aft</groupId>
			<artifactId>dme2</artifactId>
			<version>3.1.200-oss</version>
		</dependency>

		<!-- slf4j logger -->
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-api</artifactId>
			<version>1.7.6</version>
		</dependency>

		<dependency>
			<groupId>javax.inject</groupId>
			<artifactId>javax.inject</artifactId>
			<version>1</version>
		</dependency>

		<dependency>
			<groupId>com.att.ajsc</groupId>
			<artifactId>ajsc-core</artifactId>
			<version>1.0.0</version>
		</dependency>

		<dependency>
			<groupId>javax.ws.rs</groupId>
			<artifactId>javax.ws.rs-api</artifactId>
			<version>2.0.1</version>
		</dependency>

		<!-- <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-rs-client</artifactId> 
			<version>${cxf.version}</version> </dependency> <dependency> <groupId>org.apache.cxf</groupId> 
			<artifactId>cxf-rt-frontend-jaxws</artifactId> <version>${cxf.version}</version> 
			</dependency> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-transports-http</artifactId> 
			<version>${cxf.version}</version> </dependency> Jetty is needed if you're 
			are not using the CXFServlet <dependency> <groupId>org.apache.cxf</groupId> 
			<artifactId>cxf-rt-transports-http-jetty</artifactId> <version>${cxf.version}</version> 
			</dependency> -->
		<!-- Begin - Spring Dependencies for DI -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-core</artifactId>
			<version>${spring.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context</artifactId>
			<version>${spring.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-webmvc</artifactId>
			<version>${spring.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-web</artifactId>
			<version>${spring.version}</version>
		</dependency>
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>javax.servlet-api</artifactId>
			<version>3.0.1</version>
			<scope>provided</scope>
		</dependency>
		<!-- End - Spring Dependencies for DI -->
		<!-- Begin - Dependency on Dmaap Spring layer -->
		<!-- <dependency> <groupId>com.att.dmaap</groupId> <artifactId>dmaap-spring</artifactId> 
			<version>0.0.1-SNAPSHOT</version> </dependency> -->
		<!-- End - Dependency on Dmaap Spring layer -->
		<!-- Begin - Dependency on log4j for logging purpose -->
		<!-- <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> 
			<version>1.2.17</version> </dependency> -->
		<!-- Log4j's enhanced pattern layout is shipped separately <dependency> 
			<groupId>log4j</groupId> <artifactId>apache-log4j-extras</artifactId> <version>1.2.17</version> 
			</dependency> -->
		<!-- End - Dependency on log4j for logging purpose -->
		<!-- ZooKeeper Library -->
		<dependency>
			<groupId>org.apache.zookeeper</groupId>
			<artifactId>zookeeper</artifactId>
			<version>3.4.10</version>
		</dependency>

		<!-- JSON libraries -->
		<dependency>
			<groupId>org.json</groupId>
			<artifactId>json</artifactId>
			<version>20131018</version>
		</dependency>

		<!-- Apache Kafka -->
		<dependency>
			<groupId>org.apache.kafka</groupId>
			<artifactId>kafka_2.10</artifactId>
			<version>0.8.2.1</version>
		</dependency>

		<dependency>
			<groupId>com.att.eelf</groupId>
			<artifactId>eelf-core</artifactId>
			<version>0.0.1</version>
			<scope>compile</scope>
		</dependency>
		<!-- our NSA server library -->
		<dependency>
			<groupId>com.att.nsa</groupId>
			<artifactId>nsaServerLibrary</artifactId>
			<version>1.0.10</version>
		</dependency>
		<dependency>
			<groupId>com.att.nsa</groupId>
			<artifactId>saToolkit</artifactId>
			<version>0.0.1</version>
		</dependency>

		<!-- our Highland Park library -->
		<!-- <dependency> <groupId>com.att.nsa</groupId> <artifactId>highlandParkCore</artifactId> 
			<version>0.4.9</version> </dependency> -->

		<!-- our base client library, for its command line tools -->
		<dependency>
			<groupId>com.att.nsa</groupId>
			<artifactId>saClientLibrary</artifactId>
			<version>0.0.1</version>
			<exclusions>
				<exclusion>
					<groupId>org.apache.httpcomponents</groupId>
					<artifactId>httpclient</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.apache.httpcomponents</groupId>
					<artifactId>httpclient-cache</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>org.apache.httpcomponents</groupId>
			<artifactId>httpclient</artifactId>
			<version>4.5.3</version>
		</dependency>
		<dependency>
			<groupId>org.apache.httpcomponents</groupId>
			<artifactId>httpclient-cache</artifactId>
			<version>4.5.3</version>
		</dependency>
		<dependency>
			<groupId>org.apache.httpcomponents</groupId>
			<artifactId>httpcore</artifactId>
			<version>4.4.1</version>
		</dependency>


		<!-- explicit jline add b/c it conflicts with the zk client -->
		<dependency>
			<groupId>jline</groupId>
			<artifactId>jline</artifactId>
			<version>2.12.1</version>
		</dependency>

		<dependency>
			<groupId>org.apache.curator</groupId>
			<artifactId>curator-recipes</artifactId>
			<version>2.6.0</version>
		</dependency>

		<dependency>
			<groupId>org.apache.curator</groupId>
			<artifactId>curator-test</artifactId>
			<version>2.6.0</version>
		</dependency>


		<dependency>
			<groupId>com.google.code.gson</groupId>
			<artifactId>gson</artifactId>
			<version>2.8.0</version>
		</dependency>

		<dependency>
			<groupId>com.fasterxml.jackson.core</groupId>
			<artifactId>jackson-core</artifactId>
			<version>2.8.11</version>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>com.fasterxml.jackson.core</groupId>
			<artifactId>jackson-databind</artifactId>
			<version>2.8.11.1</version>
		</dependency>

		<dependency>
			<groupId>org.powermock</groupId>
			<artifactId>powermock-api-mockito</artifactId>
			<version>1.6.4</version>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>org.powermock</groupId>
			<artifactId>powermock-module-junit4</artifactId>
			<version>1.6.4</version>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>org.powermock</groupId>
			<artifactId>powermock-module-junit4-rule</artifactId>
			<version>1.6.4</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.mockito</groupId>
			<artifactId>mockito-core</artifactId>
			<version>1.10.19</version>
			<scope>test</scope>
		</dependency>

	</dependencies>
	<build>
		<finalName>DMaaP</finalName>
		<resources>
			<resource>
				<directory>src/main/resources</directory>
				<filtering>true</filtering>
				<includes>
					<include>**/*.properties</include>
				</includes>
			</resource>
			<!-- <resource> <directory>src/main/config</directory> <filtering>true</filtering> 
				<includes> <include>**/log4j*.xml</include> </includes> </resource> <resource> 
				<directory>src/main/resources</directory> <filtering>false</filtering> <excludes> 
				<exclude>**/cambriaApiVersion.properties</exclude> </excludes> </resource> -->
		</resources>
		<plugins>
			<!-- <plugin> <artifactId>maven-assembly-plugin</artifactId> <version>2.4.1</version> 
				<configuration> <descriptors> <descriptor>src/assembly/dep.xml</descriptor> 
				</descriptors> </configuration> <executions> <execution> <id>make-assembly</id> 
				this is used for inheritance merges -->
			<!-- <phase>package</phase> bind to the packaging phase <goals> <goal>single</goal> 
				</goals> </execution> </executions> </plugin> -->
			<!-- -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-site-plugin</artifactId>
				<version>3.6</version>
				<dependencies>
					<dependency>
						<groupId>org.apache.maven.wagon</groupId>
						<artifactId>wagon-webdav-jackrabbit</artifactId>
						<version>2.10</version>
					</dependency>
				</dependencies>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
				<version>2.10.4</version>
				<configuration>
					<additionalparam>-Xdoclint:none</additionalparam>
				</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>3.0.0</version>
				<executions>
					<execution>
						<id>attach-sources</id>
						<goals>
							<goal>jar-no-fork</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<version>2.12.4</version>
				<configuration>
					<excludes>
						<!-- exclude until junits updated <exclude>**/DME2*.java</exclude> -->
					</excludes>
					<!-- <skipTests>true</skipTests> -->
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>cobertura-maven-plugin</artifactId>
				<version>2.7</version>
				<configuration>
					<formats>
						<format>html</format>
						<format>xml</format>
					</formats>
				</configuration>
			</plugin>
			<!-- <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> 
				<version>${jacoco.version}</version> <configuration> Note: This exclusion 
				list should match <sonar.exclusions> property above <excludes> <exclude>**/gen/**</exclude> 
				<exclude>**/generated-sources/**</exclude> <exclude>**/yang-gen/**</exclude> 
				<exclude>**/pax/**</exclude> </excludes> </configuration> <executions> Prepares 
				the property pointing to the JaCoCo runtime agent which is passed as VM argument 
				when Maven the Surefire plugin is executed. <execution> <id>pre-unit-test</id> 
				<goals> <goal>prepare-agent</goal> </goals> <configuration> Sets the path 
				to the file which contains the execution data. <destFile>${project.build.directory}/code-coverage/jacoco-ut.exec</destFile> 
				Sets the name of the property containing the settings for JaCoCo runtime 
				agent. <propertyName>surefireArgLine</propertyName> </configuration> </execution> 
				Ensures that the code coverage report for unit tests is created after unit 
				tests have been run. <execution> <id>post-unit-test</id> <phase>test</phase> 
				<goals> <goal>report</goal> </goals> <configuration> Sets the path to the 
				file which contains the execution data. <dataFile>${project.build.directory}/code-coverage/jacoco-ut.exec</dataFile> 
				Sets the output directory for the code coverage report. <outputDirectory>${project.reporting.outputDirectory}/jacoco-ut</outputDirectory> 
				</configuration> </execution> <execution> <id>pre-integration-test</id> <phase>pre-integration-test</phase> 
				<goals> <goal>prepare-agent</goal> </goals> <configuration> Sets the path 
				to the file which contains the execution data. <destFile>${project.build.directory}/code-coverage/jacoco-it.exec</destFile> 
				Sets the name of the property containing the settings for JaCoCo runtime 
				agent. <propertyName>failsafeArgLine</propertyName> </configuration> </execution> 
				Ensures that the code coverage report for integration tests after integration 
				tests have been run. <execution> <id>post-integration-test</id> <phase>post-integration-test</phase> 
				<goals> <goal>report</goal> </goals> <configuration> Sets the path to the 
				file which contains the execution data. <dataFile>${project.build.directory}/code-coverage/jacoco-it.exec</dataFile> 
				Sets the output directory for the code coverage report. <outputDirectory>${project.reporting.outputDirectory}/jacoco-it</outputDirectory> 
				</configuration> </execution> </executions> </plugin> -->
		</plugins>
	</build>

	<!-- <profiles> <profile> <id>jenkins</id> <activation> <property> <name>env.BUILD_NUMBER</name> 
		</property> </activation> <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> 
		<artifactId>cobertura-maven-plugin</artifactId> </plugin> <plugin> <groupId>com.att.aft.swm</groupId> 
		<artifactId>swm-plugin</artifactId> <version>1.4.4.12</version> <configuration> 
		<distFilesRootDirPath>/opt/app/dmaap/msgrtr/jenkinsbuild</distFilesRootDirPath> 
		<version>${project.version}-${env.BUILD_NUMBER}</version> <scriptExcludes> 
		<scriptExclude>**/swmpkgclean.sh</scriptExclude> </scriptExcludes> </configuration> 
		<executions> <execution> <id>pkgstage</id> <goals> <goal>pkgstage</goal> 
		</goals> </execution> <execution> <id>pkgcreate</id> <goals> <goal>pkgcreate</goal> 
		</goals> </execution> <execution> <id>pkginstall</id> <goals> <goal>install</goal> 
		</goals> <configuration> <componentName>com.att.nsa:msgrtr</componentName> 
		<version>${project.version}-${env.BUILD_NUMBER}</version> <waitTimeMins>4</waitTimeMins> 
		<properties> <property> <name>overrideDependencyConflicts</name> <value>true</value> 
		</property> <property> <name>AFTSWM_NOTIFY_ADDRESSES</name> <value>mailto:rs857c@att.com</value> 
		</property> </properties> </configuration> </execution> </executions> </plugin> 
		<plugin> <artifactId>maven-antrun-plugin</artifactId> <executions> <execution> 
		<phase>package</phase> <configuration> <tasks> <copy file="./src/main/scripts/swmpkgclean.sh" 
		toDir="./target" /> </tasks> </configuration> <goals> <goal>run</goal> </goals> 
		</execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> 
		<artifactId>maven-deploy-plugin</artifactId> <version>2.5</version> <configuration> 
		<skip>true</skip> </configuration> </plugin> </plugins> </build> </profile> 
		</profiles> -->
</project>
