<!--
  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.hivemall</groupId>
	<artifactId>hivemall</artifactId>
	<version>0.5.0-incubating-SNAPSHOT</version>

	<parent>
	  <groupId>org.apache</groupId>
	  <artifactId>apache</artifactId>
	  <version>18</version>
	</parent>

	<name>Apache Hivemall</name>
	<description>Scalable Machine Learning Library for Apache Hive, Apache Spark, and Apache Pig</description>
	<url>http://hivemall.incubator.apache.org/</url>
	<inceptionYear>2013</inceptionYear>
	<organization>
		<name>Apache Hivemall</name>
		<url>http://hivemall.incubator.apache.org/</url>
	</organization>

	<licenses>
		<license>
			<name>Apache License, Version 2.0</name>
			<url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
			<distribution>repo</distribution>
		</license>
	</licenses>

	<scm>
		<url>https://git-wip-us.apache.org/repos/asf/incubator-hivemall.git</url>
		<connection>scm:git:https://git-wip-us.apache.org/repos/asf/incubator-hivemall.git</connection>
		<developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/incubator-hivemall.git</developerConnection>
	</scm>

	<mailingLists>
		<mailingList>
			<name>user</name>
			<post>user@hivemall.incubator.apache.org</post>
			<subscribe>user-subscribe@hivemall.incubator.apache.org</subscribe>
			<unsubscribe>user-unsubscribe@hivemall.incubator.apache.org</unsubscribe>
			<archive>https://lists.apache.org/list.html?user@hivemall.apache.org</archive>
			<otherArchives>
				<otherArchive>http://markmail.org/search/?q=list%3Aorg.apache.hivemall.user</otherArchive>
			</otherArchives>
		</mailingList>
		<mailingList>
			<name>dev</name>
			<post>dev@hivemall.incubator.apache.org</post>
			<subscribe>dev-subscribe@hivemall.incubator.apache.org</subscribe>
			<unsubscribe>dev-unsubscribe@hivemall.incubator.apache.org</unsubscribe>
			<archive>https://lists.apache.org/list.html?dev@hivemall.apache.org</archive>
			<otherArchives>
				<otherArchive>http://markmail.org/search/?q=list%3Aorg.apache.hivemall.dev</otherArchive>
			</otherArchives>
		</mailingList>
		<mailingList>
			<name>commits</name>
			<post>commits@hivemall.incubator.apache.org</post>
			<subscribe>commits-subscribe@hivemall.incubator.apache.org</subscribe>
			<unsubscribe>commits-unsubscribe@hivemall.incubator.apache.org</unsubscribe>
			<archive>https://lists.apache.org/list.html?commits@hivemall.apache.org</archive>
			<otherArchives>
				<otherArchive>http://markmail.org/search/?q=list%3Aorg.apache.hivemall.commits</otherArchive>
			</otherArchives>
		</mailingList>
		<mailingList>
			<name>issues</name>
			<post>issues@hivemall.incubator.apache.org</post>
			<subscribe>issues-subscribe@hivemall.incubator.apache.org</subscribe>
			<unsubscribe>issues-unsubscribe@hivemall.incubator.apache.org</unsubscribe>
			<archive>https://lists.apache.org/list.html?issues@hivemall.apache.org</archive>
			<otherArchives>
				<otherArchive>http://markmail.org/search/?q=list%3Aorg.apache.hivemall.issues</otherArchive>
			</otherArchives>
		</mailingList>
	</mailingLists>

	<developers>
		<!-- Initial Committers -->
		<developer>
			<id>myui</id>
			<name>Makoto Yui</name>
			<email>myui[at]apache.org</email>
			<url>http://myui.github.io/</url>
			<organization>Treasure Data, Inc.</organization>
			<organizationUrl>https://www.treasuredata.com/</organizationUrl>
			<roles>
				<role>PPMC Member</role>
			</roles>
			<timezone>+9</timezone>
		</developer>
		<developer>
			<id>maropu</id>
			<name>Takashi Yamamuro</name>
			<email>yamamuro[at]apache.org</email>
			<url>https://github.com/maropu/</url>
			<organization>Nippon Telegraph and Telephone Corporation (NTT)</organization>
			<organizationUrl>http://www.ntt.co.jp/</organizationUrl>
			<roles>
				<role>PPMC Member</role>
			</roles>
			<timezone>+9</timezone>
		</developer>
		<developer>
			<id>daijy</id>
			<name>Daniel Dai</name>
			<email>daijy[at]apache.org</email>
			<url>http://people.apache.org/~daijy/</url>
			<organization>Hortonworks Inc.</organization>
			<organizationUrl>http://hortonworks.com/</organizationUrl>
			<roles>
				<role>PPMC Member</role>
				<role>Mentor</role>
			</roles>
			<timezone>-8</timezone>
		</developer>
		<developer>
			<id>lewuathe</id>
			<name>Kai Sasaki</name>
			<email>lewuathe[at]apache.org</email>
			<url>http://www.lewuathe.com/</url>
			<organization>Treasure Data, Inc.</organization>
			<organizationUrl>https://www.treasuredata.com/</organizationUrl>
			<roles>
				<role>PPMC Member</role>
			</roles>
			<timezone>+9</timezone>
		</developer>
		<developer>
			<id>ozawa</id>
			<name>Tsuyoshi Ozawa</name>
			<email>ozawa[at]apache.org</email>
			<url>https://people.apache.org/~ozawa/</url>
			<organization>Nippon Telegraph and Telephone Corporation (NTT)</organization>
			<organizationUrl>http://www.ntt.co.jp/</organizationUrl>
			<roles>
				<role>PPMC Member</role>
			</roles>
			<timezone>+9</timezone>
		</developer>
		<developer>
			<id>takuti</id>
			<name>Takuya Kitazawa</name>
			<email>takuti[at]apache.org</email>
			<url>https://github.com/takuti</url>
			<organization>Treasure Data, Inc.</organization>
			<organizationUrl>https://www.treasuredata.com/</organizationUrl>
			<roles>
				<role>PPMC Member</role>
			</roles>
			<timezone>+9</timezone>
		</developer>
		<developer>
			<id>ri</id>
			<name>Ryu-ichi Ito</name>
			<email>ri[at]apache.org</email>
			<url>https://github.com/amaya382</url>
			<organization>Osaka University</organization>
			<organizationUrl>http://www.osaka-u.ac.jp/</organizationUrl>
			<roles>
				<role>Committer</role>
			</roles>
			<timezone>+9</timezone>
		</developer>
		<developer>
			<id>nzw</id>
			<name>Kento Nozawa</name>
			<email>nzw[at]apache.org</email>
			<url>http://nzw0301.github.io/</url>
			<organization>Tsukuba University</organization>
			<organizationUrl>http://www.tsukuba.ac.jp/</organizationUrl>
			<roles>
				<role>Committer</role>
			</roles>
			<timezone>+9</timezone>
		</developer>
		<!-- Project mentors -->
		<developer>
			<id>rvs</id>
			<name>Roman Shaposhnik</name>
			<email>rvs[at]apache.org</email>
			<url>http://github.com/rvs</url>
			<organization>Pivotal Inc.</organization>
			<organizationUrl>https://pivotal.io/</organizationUrl>
			<roles>
				<role>Champion</role>
			</roles>
		</developer>
		<developer>
			<id>rxin</id>
			<name>Reynold Xin</name>
			<email>rxin[at]databricks.com</email>
			<url>http://rxin.org</url>
			<organization>Databricks Inc.</organization>
			<organizationUrl>https://databricks.com/</organizationUrl>
			<roles>
				<role>Mentor</role>
			</roles>
		</developer>
		<developer>
			<id>weimer</id>
			<name>Markus Weimer</name>
			<email>markus[at]weimo.de</email>
			<url>http://www.markusweimer.com/</url>
			<organization>Microsoft Corporation</organization>
			<organizationUrl>https://www.microsoft.com/</organizationUrl>
			<roles>
				<role>Mentor</role>
			</roles>
		</developer>
		<developer>
			<id>meng</id>
			<name>Xiangrui Meng</name>
			<email>meng[at]databricks.com</email>
			<url>https://github.com/mengxr</url>
			<organization>Databricks Inc.</organization>
			<organizationUrl>https://databricks.com/</organizationUrl>
			<roles>
				<role>Mentor</role>
			</roles>
		</developer>
	</developers>

	<packaging>pom</packaging>

	<modules>
		<module>core</module>
		<module>nlp</module>
		<module>xgboost</module>
		<module>mixserv</module>
	</modules>

	<properties>
		<java.source.version>1.7</java.source.version>
		<java.target.version>1.7</java.target.version>
		<maven.compiler.source>1.7</maven.compiler.source>
		<maven.compiler.target>1.7</maven.compiler.target>
		<scala.version>2.11.8</scala.version>
		<scala.binary.version>2.11</scala.binary.version>
		<maven.build.timestamp.format>yyyy</maven.build.timestamp.format>
		<build.year>${maven.build.timestamp}</build.year>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<protobuf.version>2.5.0</protobuf.version>
		<protoc.path>${env.PROTOC_PATH}</protoc.path>
		<hadoop.version>2.4.0</hadoop.version>
		<hive.version>0.13.0</hive.version>
		<guava.version>11.0.2</guava.version>
		<junit.version>4.12</junit.version>
		<dependency.locations.enabled>false</dependency.locations.enabled>
		<main.basedir>${project.basedir}</main.basedir>
		<maven-enforcer-plugin.version>3.0.0-M1</maven-enforcer-plugin.version>
		<surefire.version>2.19.1</surefire.version>
	</properties>

	<distributionManagement>
		<repository>
			<id>apache.releases.https</id>
			<name>Apache Release Distribution Repository</name>
			<url>https://repository.apache.org/service/local/staging/deploy/maven2</url>
		</repository>
		<snapshotRepository>
			<id>apache.snapshots.https</id>
			<name>Apache Development Snapshot Repository</name>
			<url>https://repository.apache.org/content/repositories/snapshots</url>
		</snapshotRepository>
		<!--
		<snapshotRepository>
			<id>ossrh</id>
			<url>https://oss.sonatype.org/content/repositories/snapshots</url>
		</snapshotRepository>
		-->
	</distributionManagement>

	<repositories>
		<repository>
			<id>apache.snapshots</id>
			<name>Apache Snapshot Repository</name>
			<url>https://repository.apache.org/snapshots</url>
			<releases>
				<enabled>true</enabled>
			</releases>
		</repository>
	</repositories>

	<issueManagement>
		<url>https://issues.apache.org/jira/browse/HIVEMALL/</url>
		<system>JIRA</system>
	</issueManagement>
	<ciManagement>
		<system>Travis CI</system>
		<url>https://travis-ci.org/apache/incubator-hivemall</url>
	</ciManagement>

	<profiles>
		<profile>
			<id>spark-2.2</id>
			<modules>
				<module>spark/spark-2.2</module>
				<module>spark/spark-common</module>
			</modules>
			<properties>
				<spark.version>2.2.0</spark.version>
				<spark.binary.version>2.2</spark.binary.version>
			</properties>
			<build>
				<plugins>
					<!-- Spark-2.2 only supports Java 8 -->
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-enforcer-plugin</artifactId>
						<version>${maven-enforcer-plugin.version}</version>
						<executions>
							<execution>
								<id>enforce-versions</id>
								<phase>validate</phase>
								<goals>
									<goal>enforce</goal>
								</goals>
								<configuration>
									<rules>
										<requireProperty>
											<property>java.source.version</property>
											<regex>1.8</regex>
											<regexMessage>When -Pspark-2.2 set, java.source.version must be 1.8</regexMessage>
										</requireProperty>
										<requireProperty>
											<property>java.target.version</property>
											<regex>1.8</regex>
											<regexMessage>When -Pspark-2.2 set, java.target.version must be 1.8</regexMessage>
										</requireProperty>
									</rules>
								</configuration>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>
		<profile>
			<id>spark-2.1</id>
			<modules>
				<module>spark/spark-2.1</module>
				<module>spark/spark-common</module>
			</modules>
			<properties>
				<spark.version>2.1.1</spark.version>
				<spark.binary.version>2.1</spark.binary.version>
			</properties>
		</profile>
		<profile>
			<id>spark-2.0</id>
			<modules>
				<module>spark/spark-2.0</module>
				<module>spark/spark-common</module>
			</modules>
			<properties>
				<spark.version>2.0.2</spark.version>
				<spark.binary.version>2.0</spark.binary.version>
			</properties>
		</profile>
		<profile>
			<id>java7</id>
			<properties>
				<spark.test.jvm.opts>-ea -Xms768m -Xmx1024m -XX:PermSize=128m -XX:MaxPermSize=512m -XX:ReservedCodeCacheSize=512m</spark.test.jvm.opts>
			</properties>
			<activation>
				<jdk>[,1.8)</jdk> <!-- version < 1.8 -->
			</activation>
		</profile>
		<profile>
			<id>java8</id>
			<properties>
				<spark.test.jvm.opts>-ea -Xms768m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m -XX:ReservedCodeCacheSize=512m</spark.test.jvm.opts>
			</properties>
			<activation>
				<jdk>[1.8,)</jdk> <!-- version >= 1.8 -->
			</activation>
		</profile>
		<profile>
			<id>compile-xgboost</id>
			<build>
				<plugins>
					<plugin>
						<artifactId>exec-maven-plugin</artifactId>
						<groupId>org.codehaus.mojo</groupId>
						<executions>
							<execution>
								<id>native</id>
								<phase>generate-sources</phase>
								<goals>
									<goal>exec</goal>
								</goals>
								<configuration>
									<executable>./bin/build_xgboost.sh</executable>
								</configuration>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>
		<profile>
			<id>doclint-java8-disable</id>
			<activation>
				<jdk>[1.8,)</jdk>
			</activation>
			<properties>
				<javadoc.opts>-Xdoclint:none</javadoc.opts>
			</properties>
		</profile>
	</profiles>

	<build>
		<directory>target</directory>
		<outputDirectory>target/classes</outputDirectory>
		<finalName>${project.artifactId}-${project.version}</finalName>
		<testOutputDirectory>target/test-classes</testOutputDirectory>

		<pluginManagement>
			<plugins>
				<plugin>
					<!-- mvn formatter:format -->
					<groupId>net.revelc.code</groupId>
					<artifactId>formatter-maven-plugin</artifactId>
					<version>0.5.2</version>
					<configuration>
						<configFile>${main.basedir}/resources/eclipse-style.xml</configFile>
						<encoding>UTF-8</encoding>
						<lineEnding>LF</lineEnding>
					</configuration>
				</plugin>
				<plugin>
					<!-- mvn license:check; mvn license:format -->
					<groupId>com.mycila</groupId>
					<artifactId>license-maven-plugin</artifactId>
					<version>3.0</version>
					<configuration>
						<header>${main.basedir}/resources/license-header.txt</header>
						<properties>
							<currentYear>${build.year}</currentYear>
							<copyrightOwner>${project.organization.name}</copyrightOwner>
						</properties>
						<includes>
							<include>src/main/**/*.java</include>
							<include>src/test/**/*.java</include>
							<include>src/main/**/*.scala</include>
							<include>src/test/**/*.scala</include>
							<include>bin/*.sh</include>
							<include>**/pom.xml</include>
							<include>docs/gitbook/**/*.md</include>
							<include>src/site/markdown/**/*.md</include>
						</includes>
						<useDefaultExcludes>false</useDefaultExcludes>
						<excludes>
							<exclude>docs/gitbook/node_modules/**</exclude>
						</excludes>
						<encoding>UTF-8</encoding>
						<headerDefinitions>
							<headerDefinition>${main.basedir}/resources/header-definition.xml</headerDefinition>
						</headerDefinitions>
						<mapping>
							<md>XML_STYLE</md>
						</mapping>
					</configuration>
					<executions>
						<execution>
							<goals>
								<goal>check</goal>
							</goals>
						</execution>
					</executions>
				</plugin>
				<!-- mvn apache-rat:check -->
				<plugin>
					<groupId>org.apache.rat</groupId>
					<artifactId>apache-rat-plugin</artifactId>
					<version>0.12</version>
				</plugin>
				<!-- javadoc.jar -->
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-javadoc-plugin</artifactId>
					<configuration>
						<locale>en_US</locale>
						<docencoding>UTF-8</docencoding>
						<show>protected</show>
						<linksource>true</linksource>
					</configuration>
					<executions>
						<execution>
							<id>attach-javadocs</id>
							<goals>
								<goal>jar</goal>
							</goals>
							<configuration>
								<!-- workaround for Java 8 -->
								<!-- see http://stackoverflow.com/questions/15886209/maven-is-not-working-in-java-8-when-javadoc-tags-are-incomplete -->
								<additionalparam>${javadoc.opts}</additionalparam>
							</configuration>
						</execution>
					</executions>
				</plugin>
				<!-- Disable git push during mvn release:prepare -->
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-release-plugin</artifactId>
					<configuration>
						<goals>deploy</goals>
						<pushChanges>false</pushChanges>
						<localCheckout>true</localCheckout>
					</configuration>
				</plugin>
				<!-- Copy LICENSE/NOTICE/DISCLAIMER to jar -->
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-remote-resources-plugin</artifactId>
					<configuration>
						<skip>true</skip>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-resources-plugin</artifactId>
					<executions>
						<execution>
						<id>copy-resources</id>
						<phase>validate</phase>
						<goals>
							<goal>copy-resources</goal>
						</goals>
						<configuration>
							<outputDirectory>${project.basedir}/target/classes/META-INF</outputDirectory>
							<resources>
								<resource>
								<directory>${main.basedir}/</directory>
								<includes>
									<include>LICENSE</include>
									<include>NOTICE</include>
									<include>DISCLAIMER</include>
								</includes>
								</resource>
							</resources>
						</configuration>
						</execution>
					</executions>
				</plugin>
			</plugins>
		</pluginManagement>

		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-enforcer-plugin</artifactId>
				<executions>
					<execution>
						<id>enforce-maven</id>
						<goals>
							<goal>enforce</goal>
						</goals>
						<configuration>
							<rules>
								<requireMavenVersion>
									<version>[3.3.1,)</version>
								</requireMavenVersion>
							</rules>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<!-- mvn formatter:format -->
				<groupId>net.revelc.code</groupId>
				<artifactId>formatter-maven-plugin</artifactId>
			</plugin>
			<plugin>
				<!-- mvn license:check; mvn license:format -->
				<groupId>com.mycila</groupId>
				<artifactId>license-maven-plugin</artifactId>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-failsafe-plugin</artifactId>
				<configuration>
					<skipTests>${skipTests}</skipTests>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<configuration>
					<source>${java.source.version}</source>
					<target>${java.target.version}</target>
					<debug>true</debug>
					<debuglevel>lines,vars,source</debuglevel>
					<encoding>UTF-8</encoding>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<configuration>
					<enableAssertions>true</enableAssertions>
					<forkCount>1</forkCount>
					<reuseForks>false</reuseForks>
					<forkedProcessTimeoutInSeconds>600</forkedProcessTimeoutInSeconds>
					<argLine>-Xmx1536m -XX:+HeapDumpOnOutOfMemoryError</argLine>
					<failIfNoTests>false</failIfNoTests>
					<environmentVariables>
						<JAVA_HOME>${java.home}</JAVA_HOME>
						<MALLOC_ARENA_MAX>4</MALLOC_ARENA_MAX>
					</environmentVariables>
					<systemPropertyVariables>
						<java.net.preferIPv4Stack>true</java.net.preferIPv4Stack>
					</systemPropertyVariables>
				</configuration>
			</plugin>
			<!-- start coveralls -->
			<plugin>
				<groupId>org.eluder.coveralls</groupId>
				<artifactId>coveralls-maven-plugin</artifactId>
				<version>4.3.0</version>
				<configuration>
					<repoToken>UhHBKJx1qjSDccp9RmlRXhXUoRrdAr150</repoToken>
				</configuration>
			</plugin>
			<!-- 
			  Cobertura does not support Java 8 yet
			  https://github.com/cobertura/cobertura/issues/166
			-->
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>cobertura-maven-plugin</artifactId>
				<version>2.7</version>
				<configuration>
					<format>xml</format>
					<maxmem>256m</maxmem>
					<aggregate>true</aggregate>
				</configuration>
			</plugin>
			<!--
			<plugin>
				<groupId>org.jacoco</groupId>
				<artifactId>jacoco-maven-plugin</artifactId>
				<version>0.7.6.201602180812</version>
				<executions>
					<execution>
						<id>prepare-agent</id>
						<goals>
							<goal>prepare-agent</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			-->
			<!-- end overalls -->
			<!-- start mvn site -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-site-plugin</artifactId>
				<dependencies>
					<dependency>
						<groupId>org.apache.maven.doxia</groupId>
						<artifactId>doxia-module-markdown</artifactId>
						<version>1.7</version>
					</dependency>
				</dependencies>
			</plugin>
			<!-- end mvn site -->
			<plugin>
				<groupId>org.scalastyle</groupId>
				<artifactId>scalastyle-maven-plugin</artifactId>
				<version>0.8.0</version>
				<configuration>
					<verbose>false</verbose>
					<failOnViolation>true</failOnViolation>
					<includeTestSourceDirectory>true</includeTestSourceDirectory>
					<failOnWarning>false</failOnWarning>
					<sourceDirectory>${basedir}/src/main/scala</sourceDirectory>
					<testSourceDirectory>${basedir}/src/test/scala</testSourceDirectory>
					<configLocation>spark/spark-common/scalastyle-config.xml</configLocation>
					<outputFile>${basedir}/target/scalastyle-output.xml</outputFile>
					<inputEncoding>${project.build.sourceEncoding}</inputEncoding>
					<outputEncoding>${project.reporting.outputEncoding}</outputEncoding>
				</configuration>
				<executions>
					<execution>
						<goals>
							<goal>check</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<!-- mvn apache-rat:check -->
			<plugin>
				<groupId>org.apache.rat</groupId>
				<artifactId>apache-rat-plugin</artifactId>
				<configuration>
					<excludesFile>.rat-excludes</excludesFile>
				</configuration>
				<executions>
					<execution>
						<phase>verify</phase>
						<goals>
							<goal>check</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-release-plugin</artifactId>
				<configuration>
					<tagNameFormat>v@{project.version}</tagNameFormat>
				</configuration>
			</plugin>
		</plugins>
	</build>

</project>
