<?xml version="1.0" encoding="UTF-8"?>
<!--
  Licensed to the Apache Software
	Foundation (ASF) under one or more contributor license agreements. See the
	NOTICE file distributed with this work for additional information regarding
	copyright ownership. The ASF licenses this file to You 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.
  -->

<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.apache.metron</groupId>
	<artifactId>Metron-Streaming</artifactId>
	<version>0.1BETA</version>
	<packaging>pom</packaging>
	<name>Metron-Streaming</name>
	<description>Stream analytics for Metron</description>
	<url>https://metron.incubator.apache.org/</url>
	<scm>
		<connection>scm:git:https://git-wip-us.apache.org/repos/asf/incubator-metron.git</connection>
		<developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/incubator-metron.git</developerConnection>
		<tag>HEAD</tag>
		<url>https://git-wip-us.apache.org/repos/asf/incubator-metron</url>
	</scm>
	<properties>
		<twitter>@ApacheMetron</twitter>
		<global_opencsv_version>3.7</global_opencsv_version>
		<global_storm_version>0.10.0</global_storm_version>
		<global_flux_version>0.10.0</global_flux_version>
		<global_pcap_version>1.7.1</global_pcap_version>
		<global_kafka_version>0.8.2.2</global_kafka_version>
		<global_hadoop_version>2.7.1</global_hadoop_version>
		<global_hbase_version>1.1.1</global_hbase_version>
		<global_flume_version>1.5.2</global_flume_version>
		<global_elasticsearch_version>1.7.4</global_elasticsearch_version>
		<global_json_simple_version>1.1.1</global_json_simple_version>
		<global_metrics_version>3.0.2</global_metrics_version>
		<global_junit_version>4.4</global_junit_version>
		<global_guava_version>17.0</global_guava_version>
		<global_hbase_guava_version>12.0</global_hbase_guava_version>
		<global_json_schema_validator_version>2.2.5</global_json_schema_validator_version>
		<global_slf4j_version>1.7.7</global_slf4j_version>
		<global_opencsv_version>3.7</global_opencsv_version>
		<global_solr_version>5.2.1</global_solr_version>
		<global_mockito_version>1.10.19</global_mockito_version>
	</properties>
	<licenses>
		<license>
			<name>The Apache Software License, Version 2.0</name>
			<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
			<distribution>repo</distribution>
		</license>
	</licenses>
	<developers>
		<developer>
			<id>jsirota</id>
			<name>James Sirota</name>
			<email>jsirota@cisco.com</email>
			<properties>
				<twitter>@JamesSirota</twitter>
				<blog>medium.com/@JamesSirota</blog>
			</properties>
		</developer>
	</developers>
	<modules>
		<module>Metron-Common</module>
		<module>Metron-EnrichmentAdapters</module>
		<module>Metron-MessageParsers</module>
		<module>Metron-Indexing</module>
		<module>Metron-Alerts</module>
		<module>Metron-DataLoads</module>
		<module>Metron-Topologies</module>
		<module>Metron-Pcap_Service</module>
		<module>Metron-Elasticsearch</module>
		<module>Metron-Solr</module>
		<module>Metron-Testing</module>
		<module>Metron-TestingUtilities</module>
	</modules>
	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>org.mockito</groupId>
				<artifactId>mockito-core</artifactId>
				<version>${global_mockito_version}</version>
			</dependency>
		</dependencies>
	</dependencyManagement>
	<dependencies>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.12</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.adrianwalker</groupId>
			<artifactId>multiline-string</artifactId>
			<version>0.1.2</version>
			<scope>test</scope>
		</dependency>
	</dependencies>
	<build>
		<pluginManagement>
			<plugins>
				<plugin>
					<!-- Separates the unit tests from the integration tests. -->
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-surefire-plugin</artifactId>
					<version>2.18</version>
					<configuration>
						<!-- Skip the default running of this plug-in (or everything is run twice...see below) -->
						<argLine>-Xmx2048m -XX:MaxPermSize=256m</argLine>
						<skip>true</skip>
						<!-- Show 100% of the lines from the stack trace (doesn't work) -->
						<trimStackTrace>false</trimStackTrace>
					</configuration>
					<executions>
						<execution>
							<id>unit-tests</id>
							<phase>test</phase>
							<goals>
								<goal>test</goal>
							</goals>
							<configuration>
								<!-- Never skip running the tests when the test phase is invoked -->
								<skip>false</skip>
								<includes>
									<!-- Include unit tests within integration-test phase. -->
									<include>**/*Test.java</include>
								</includes>
								<excludes>
									<!-- Exclude integration tests within (unit) test phase. -->
									<exclude>**/*IntegrationTest.java</exclude>
								</excludes>
							</configuration>
						</execution>
						<execution>
							<id>integration-tests</id>
							<phase>integration-test</phase>
							<goals>
								<goal>test</goal>
							</goals>
							<configuration>
								<!-- Never skip running the tests when the integration-test phase is invoked -->
								<skip>false</skip>
								<includes>
									<!-- Include integration tests within integration-test phase. -->
									<include>**/*IntegrationTest.java</include>
								</includes>
							</configuration>
						</execution>
					</executions>
				</plugin>
			</plugins>
		</pluginManagement>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-checkstyle-plugin</artifactId>
				<version>2.17</version>
				<executions>
					<execution>
						<id>checkstyle</id>
						<phase>package</phase>
						<goals>
							<goal>check</goal>
						</goals>
					</execution>
				</executions>
				<configuration>
					<configLocation>style/checkstyle.xml</configLocation>
					<headerLocation>style/LICENSE</headerLocation>
					<failOnViolation>true</failOnViolation>
					<includeTestSourceDirectory>true</includeTestSourceDirectory>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.5.1</version>
				<configuration>
					<source>1.7</source>
					<target>1.7</target>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>cobertura-maven-plugin</artifactId>
				<version>2.7</version>
				<configuration>
					<check />
					<formats>
						<format>html</format>
					</formats>
					<aggregate>true</aggregate>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.rat</groupId>
				<artifactId>apache-rat-plugin</artifactId>
				<version>0.11</version>
				<configuration>
					<excludes>
						<exclude>**/README.md</exclude>
						<exclude>**/*.json</exclude>
						<exclude>**/*.log</exclude>
						<exclude>**/src/main/resources/patterns/**</exclude>
						<exclude>**/src/main/resources/sample/data/SampleIndexed/**</exclude>
						<exclude>**/src/main/resources/sample/data/SampleInput/**</exclude>
						<exclude>**/src/main/resources/sample/data/SampleParsed/**</exclude>
						<exclude>**/dependency-reduced-pom.xml</exclude>
					</excludes>
				</configuration>
			</plugin>
		</plugins>
	</build>
	<reporting>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<version>2.18</version>
				<configuration>
					<argLine>-Xmx2048m -XX:MaxPermSize=256m</argLine>
					<systemProperties>
						<property>
							<name>mode</name>
							<value>local</value>
						</property>
					</systemProperties>
				</configuration>
			</plugin>
			<!-- Normally, dependency report takes time, skip it -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-project-info-reports-plugin</artifactId>
				<version>2.7</version>
				<configuration>
					<dependencyLocationsEnabled>false</dependencyLocationsEnabled>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-pmd-plugin</artifactId>
				<version>3.3</version>
				<configuration>
					<targetJdk>1.7</targetJdk>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>emma-maven-plugin</artifactId>
				<version>1.0-alpha-3</version>
				<inherited>true</inherited>
			</plugin>
		</plugins>
	</reporting>
	<repositories>
		<repository>
			<id>clojars.org</id>
			<url>http://clojars.org/repo</url>
		</repository>
		<repository>
			<id>multiline-release-repo</id>
			<url>https://raw.github.com/benelog/multiline/master/maven-repository</url>
			<snapshots>
				<enabled>false</enabled>
			</snapshots>
		</repository>
    </repositories>
</project>
