<?xml version='1.0' encoding='UTF-8'?>
<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>de.lmu.ifi.dbs.elki</groupId>
	<version>0.7.1</version>
	<artifactId>elki-project</artifactId>
	<packaging>pom</packaging>

	<name>ELKI Data Mining Framework - Parent Project</name>
	<url>http://elki.dbs.ifi.lmu.de/</url>
	<organization>
		<name>ELKI Development Team, Lehr- und Forschungseinheit für Datenbanksysteme, Ludwig-Maximilians-Universität München</name>
		<url>http://www.dbs.ifi.lmu.de/</url>
	</organization>

	<licenses>
		<license>
			<name>GNU Affero General Public License (AGPL) version 3.0</name>
			<url>http://www.gnu.org/licenses/agpl-3.0.txt</url>
		</license>
	</licenses>

	<modules>
		<module>elki</module>
		<!-- Use PROFILES to enable further modules! -->
	</modules>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<skipTests>false</skipTests>
		<excludeTests>**/HeapPerformanceTest*</excludeTests>
		<elki.projdir>${basedir}</elki.projdir>
		<year>2015</year>
	</properties>

	<build>
		<plugins>
			<!-- compilation -->
			<plugin>
				<artifactId>maven-compiler-plugin</artifactId>
				<configuration>
					<useIncrementalCompilation>false</useIncrementalCompilation>
					<source>1.7</source>
					<target>1.7</target>
					<debuglevel>source,lines</debuglevel>
					<failOnError>true</failOnError>
					<compilerArgument>-Xlint:all</compilerArgument>
					<showWarnings>true</showWarnings>
					<showDeprecation>true</showDeprecation>
				</configuration>
			</plugin>
			<!-- unit tests -->
			<plugin>
				<artifactId>maven-surefire-plugin</artifactId>
				<configuration>
					<!-- to have the desired paths to the data files -->
					<workingDirectory>${project.build.testOutputDirectory}</workingDirectory>
					<skipTests>${skipTests}</skipTests>
					<failIfNoTests>false</failIfNoTests>
					<excludes>
						<exclude>${excludeTests}</exclude>
					</excludes>
				</configuration>
			</plugin>
			<!-- Include more metadata in the jar, enable indexing. -->
			<plugin>
				<artifactId>maven-jar-plugin</artifactId>
				<configuration>
					<archive>
						<manifestFile>${elki.projdir}/elki/src/main/resources/META-INF/MANIFEST.MF</manifestFile>
						<manifest>
							<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
						</manifest>
						<index>true</index>
					</archive>
				</configuration>
			</plugin>
			<!-- Dependencies -->
			<plugin>
				<artifactId>maven-dependency-plugin</artifactId>
				<executions>
					<execution>
						<id>copy-dependencies</id>
						<phase>package</phase>
						<goals>
							<goal>copy-dependencies</goal>
						</goals>
						<configuration>
							<outputDirectory>${outputDir}</outputDirectory>
							<excludeArtifactIds>junit:*,org.hamcrest:*</excludeArtifactIds>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<!-- Source code packaging -->
			<plugin>
				<artifactId>maven-source-plugin</artifactId>
				<executions>
					<execution>
						<id>attach-sources</id>
						<goals>
							<goal>jar-no-fork</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<!-- Additional JavaDoc resources to install -->
			<plugin>
				<artifactId>maven-resources-plugin</artifactId>
				<executions>
					<execution>
						<id>copy-resources</id>
						<!-- <phase>prepare-package</phase> -->
						<goals>
							<goal>copy-resources</goal>
						</goals>
						<configuration>
							<outputDirectory>${project.build.directory}/apidocs/</outputDirectory>
							<resources>
								<resource>
									<directory>${elki.projdir}/elki/src/main/javadoc</directory>
									<excludes>
										<exclude>**/overview.html</exclude>
									</excludes>
								</resource>
								<resource>
									<directory>${elki.projdir}/elki/target/apidocs</directory>
								</resource>
							</resources>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<!-- JavaDoc generation -->
			<plugin>
				<artifactId>maven-javadoc-plugin</artifactId>
				<executions>
					<execution>
						<id>attach-javadocs</id>
						<goals>
							<goal>aggregate</goal>
							<goal>javadoc</goal>
							<goal>jar</goal>
						</goals>
					</execution>
				</executions>
				<configuration>
					<reportOutputDirectory>${project.build.directory}/apidocs</reportOutputDirectory>
					<aggregate>true</aggregate>
					<stylesheetfile>${elki.projdir}/elki/src/main/javadoc/stylesheet.css</stylesheetfile>
					<notree>false</notree>
					<noindex>false</noindex>
					<nonavbar>false</nonavbar>
					<nohelp>true</nohelp>
					<splitindex>true</splitindex>
					<author>true</author>
					<use>true</use>
					<show>private</show>
					<quiet>true</quiet>
					<nodeprecated>false</nodeprecated>
					<nodeprecatedlist>false</nodeprecatedlist>
					<docfilessubdirs>true</docfilessubdirs>
					<doctitle>ELKI</doctitle>
					<windowtitle><![CDATA[ELKI: Environment for DeveLoping KDD-Applications Supported by Index-Structures]]></windowtitle>
					<docletPath>${doclet.path}</docletPath>
					<doclet>${doclet.doclet}</doclet>
					<additionalparam>${doclet.params}</additionalparam>
					<groups>
						<group>
							<title>Algorithms</title>
							<packages>de.lmu.ifi.dbs.elki.algorithm*</packages>
						</group>
						<group>
							<title>Databases and Index Structures</title>
							<packages>de.lmu.ifi.dbs.elki.database*:de.lmu.ifi.dbs.elki.index*:de.lmu.ifi.dbs.elki.datasource*:de.lmu.ifi.dbs.elki.persistent*</packages>
						</group>
						<group>
							<title>Datatypes and Distance Functions</title>
							<packages>de.lmu.ifi.dbs.elki.data:de.lmu.ifi.dbs.elki.data.*:de.lmu.ifi.dbs.elki.distance*</packages>
						</group>
						<group>
							<title>Evaluation</title>
							<packages>de.lmu.ifi.dbs.elki.evalu*</packages>
						</group>
						<group>
							<title>GUI and Visualization</title>
							<packages>de.lmu.ifi.dbs.elki.gui*:de.lmu.ifi.dbs.elki.vis*</packages>
						</group>
						<group>
							<title>Utilities and Miscellaneous</title>
							<packages>de.lmu.ifi.dbs.elki:de.lmu.ifi.dbs.elki.*</packages>
						</group>
						<group>
							<title>Tutorial Code and Examples</title>
							<packages>tutorial:tutorial.*</packages>
						</group>
					</groups>
					<docencoding>UTF-8</docencoding>
					<header><![CDATA[<img src="{@docRoot}/figures/elki-logo-200.png" width="200">]]></header>
					<footer><![CDATA[ELKI Version ${project.version}]]></footer>
					<bottom><![CDATA[Copyright &copy; ${year} <a href="http://elki.dbs.ifi.lmu.de/">ELKI Development Team</a>, <a href="http://www.dbs.ifi.lmu.de/">Lehr- und Forschungseinheit f&uuml;r Datenbanksysteme</a>, <a href="http://www.lmu.de/">Ludwig-Maximilians-Universit&auml;t M&uuml;nchen</a>. <a href="http://elki.dbs.ifi.lmu.de/wiki/License">License information.</a>]]></bottom>
					<links>
						<!-- To link to related (external) JavaDoc -->
						<link>http://trove4j.sourceforge.net/javadocs/</link>
						<link>http://www.w3.org/2003/01/dom2-javadoc/</link>
						<link>https://xmlgraphics.apache.org/batik/javadoc/</link>
					</links>
				</configuration>
			</plugin>
		</plugins>
		<pluginManagement>
			<!-- Plugin version configuration: -->
			<plugins>
				<!-- compilation -->
				<plugin>
					<artifactId>maven-compiler-plugin</artifactId>
					<version>3.0</version>
				</plugin>
				<!-- unit tests -->
				<plugin>
					<artifactId>maven-surefire-plugin</artifactId>
					<version>2.17</version>
				</plugin>
				<!-- Jar packaging -->
				<plugin>
					<artifactId>maven-jar-plugin</artifactId>
					<version>2.4</version>
				</plugin>
				<!-- Dependencies -->
				<plugin>
					<artifactId>maven-dependency-plugin</artifactId>
					<version>2.8</version>
				</plugin>
				<!-- Running of additional checks -->
				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>exec-maven-plugin</artifactId>
					<version>1.3.2</version>
				</plugin>
				<!-- used for making a directory in batik visualization addon -->
				<plugin>
					<artifactId>maven-antrun-plugin</artifactId>
					<version>1.7</version>
				</plugin>
				<!-- Source code packaging -->
				<plugin>
					<artifactId>maven-source-plugin</artifactId>
					<version>2.2.1</version>
				</plugin>
				<!-- Additional resources installation -->
				<plugin>
					<artifactId>maven-resources-plugin</artifactId>
					<version>2.7</version>
				</plugin>
				<!-- Javadoc -->
				<plugin>
					<artifactId>maven-javadoc-plugin</artifactId>
					<version>2.10.1</version>
				</plugin>
			</plugins>
		</pluginManagement>
	</build>

	<profiles>
		<!-- Bundle: build a standalone "fat jar" version -->
		<profile>
			<id>bundle</id>
			<modules>
				<module>addons/bundle</module>
			</modules>
		</profile>
		<!-- Batik visualization -->
		<profile>
			<id>svg</id>
			<modules>
				<module>addons/batikvis</module>
			</modules>
			<activation>
				<activeByDefault>true</activeByDefault>
			</activation>
		</profile>
		<!-- Tutorial code profile -->
		<profile>
			<id>tutorial</id>
			<modules>
				<module>addons/tutorial</module>
				<!-- since tutorial users will want to see visualizations: -->
				<module>addons/batikvis</module>
			</modules>
			<activation>
				<activeByDefault>true</activeByDefault>
			</activation>
		</profile>
		<!-- LibSVM outlier detection -->
		<profile>
			<id>svm</id>
			<modules>
				<module>addons/libsvm</module>
			</modules>
			<activation>
				<activeByDefault>true</activeByDefault>
			</activation>
		</profile>
		<!-- Image search -->
		<profile>
			<id>imagesearch</id>
			<modules>
				<module>addons/imagesearch</module>
			</modules>
		</profile>
		<!-- Luence backend for text mining -->
		<profile>
			<id>lucene</id>
			<modules>
				<module>addons/lucene</module>
			</modules>
		</profile>
		<!-- OpenGL based visualization -->
		<profile>
			<id>jogl</id>
			<modules>
				<module>addons/batikvis</module>
				<module>addons/3dpc</module>
				<module>addons/joglviz</module>
			</modules>
		</profile>
		<!-- Profile for publishing to Sonatype Maven repository. -->
		<profile>
			<id>publish</id>
			<build>
				<plugins>
					<plugin>
						<groupId>org.sonatype.plugins</groupId>
						<artifactId>nexus-staging-maven-plugin</artifactId>
						<version>1.6.3</version>
						<extensions>true</extensions>
						<configuration>
							<serverId>ossrh</serverId>
							<nexusUrl>https://oss.sonatype.org/</nexusUrl>
							<autoReleaseAfterClose>true</autoReleaseAfterClose>
							<useReleaseProfile>false</useReleaseProfile>
							<releaseProfiles>release</releaseProfiles>
						</configuration>
					</plugin>
					<plugin>
						<artifactId>maven-release-plugin</artifactId>
						<version>2.3.2</version>
						<configuration>
							<mavenExecutorId>forked-path</mavenExecutorId>
						</configuration>
					</plugin>
					<plugin>
						<artifactId>maven-gpg-plugin</artifactId>
						<version>1.5</version>
						<executions>
							<execution>
								<id>sign-artifacts</id>
								<phase>verify</phase>
								<goals>
									<goal>sign</goal>
								</goals>
							</execution>
						</executions>
						<configuration>
							<keyname>elki@dbs.ifi.lmu.de</keyname>
							<useAgent>false</useAgent>
						</configuration>
					</plugin>
				</plugins>
			</build>
		</profile>
		<profile>
			<id>codecov</id>
			<build>
				<plugins>
					<plugin>
						<groupId>org.jacoco</groupId>
						<artifactId>jacoco-maven-plugin</artifactId>
						<version>0.7.5.201505241946</version>
						<executions>
							<execution>
								<goals>
									<goal>prepare-agent</goal>
								</goals>
							</execution>
							<execution>
								<id>report</id>
								<phase>test</phase>
								<goals>
									<goal>report</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>
	</profiles>

	<distributionManagement>
		<snapshotRepository>
			<id>ossrh</id>
			<url>https://oss.sonatype.org/content/repositories/snapshots</url>
		</snapshotRepository>
	</distributionManagement>

	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>net.sf.trove4j</groupId>
				<artifactId>trove4j</artifactId>
				<version>[3.0.3,)</version>
			</dependency>

			<dependency>
				<groupId>org.apache.xmlgraphics</groupId>
				<artifactId>batik-swing</artifactId>
				<version>[1.7,1.9)</version>
			</dependency>

			<dependency>
				<groupId>org.apache.xmlgraphics</groupId>
				<artifactId>batik-rasterizer</artifactId>
				<version>[1.7,1.9)</version>
			</dependency>

			<dependency>
				<groupId>org.apache.xmlgraphics</groupId>
				<artifactId>batik-ext</artifactId>
				<version>[1.7,1.9)</version>
			</dependency>

			<dependency>
				<groupId>org.apache.xmlgraphics</groupId>
				<artifactId>batik-codec</artifactId>
				<version>[1.7,1.9)</version>
			</dependency>

			<dependency>
				<groupId>org.apache.xmlgraphics</groupId>
				<artifactId>xmlgraphics-commons</artifactId>
				<version>[2,3)</version>
			</dependency>

			<dependency>
				<groupId>junit</groupId>
				<artifactId>junit</artifactId>
				<version>[4.8,)</version>
				<scope>test</scope>
			</dependency>
		</dependencies>
	</dependencyManagement>

	<issueManagement>
		<system>trac</system>
		<url>http://elki.dbs.ifi.lmu.de/newticket</url>
	</issueManagement>
	<developers>
		<developer>
			<email>schube@dbs.ifi.lmu.de</email>
			<name>Erich Schubert</name>
		</developer>
		<developer>
			<email>zimek@dbs.ifi.lmu.de</email>
			<name>Arthur Zimek</name>
		</developer>
	</developers>
	<description>ELKI is an open source (AGPLv3) data mining software written in Java. The focus of ELKI is research in algorithms, with an emphasis on unsupervised methods in cluster analysis and outlier detection.
In order to achieve high performance and scalability, ELKI offers many data index structures such as the R*-tree that can provide major performance gains.
ELKI is designed to be easy to extend for researchers and students in this domain, and welcomes contributions in particular of new methods.
ELKI aims at providing a large collection of highly parameterizable algorithms, in order to allow easy and fair evaluation and benchmarking of algorithms.</description>
	<scm>
		<connection>scm:git:git@github.com:elki-project/elki.git</connection>
		<developerConnection>scm:git:git@github.com:elki-project/elki.git</developerConnection>
		<url>git@github.com:elki-project/elki.git</url>
	</scm>
	<inceptionYear>2005</inceptionYear>
</project>
