<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/maven-v4_0_0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<sshwagon.version>2.0</sshwagon.version>
		<javadoc.version>2.8.1</javadoc.version>
		<slf4j.version>1.6.6</slf4j.version>
		<junit.version>4.10</junit.version>
		<metamodel.version>3.2</metamodel.version>
		<easymock.version>3.1</easymock.version>
		<scala.version>2.9.2</scala.version>
	</properties>
	<parent>
		<!-- Uses the OSS sonatype nexus repository for distribution -->
		<!-- See https://docs.sonatype.org/display/Repository/Sonatype+OSS+Maven+Repository+Usage+Guide -->
		<groupId>org.sonatype.oss</groupId>
		<artifactId>oss-parent</artifactId>
		<version>7</version>
	</parent>
	<groupId>org.eobjects.analyzerbeans</groupId>
	<artifactId>AnalyzerBeans</artifactId>
	<version>0.21</version>
	<name>AnalyzerBeans</name>
	<description>A framework for processing and analyzing data in a database, spreadsheet or other data source. AnalyzerBeans is widely based on a simple annotation-based development model where plugin/component development is very easy while it still supports reuse of business logic, configurability, type-safety and super-fast execution.</description>
	<packaging>pom</packaging>
	<modules>
		<module>api</module>
		<module>testware</module>
		<module>core</module>
		<module>components</module>
		<module>env</module>
		<module>cli</module>
	</modules>
	<organization>
		<name>eobjects.org</name>
		<url>http://eobjects.org</url>
	</organization>
	<developers>
		<developer>
			<name>Kasper Sørensen</name>
			<email>kasper@eobjects.dk</email>
		</developer>
	</developers>
	<contributors>
		<contributor>
			<name>Stefan Janssen</name>
			<email>stefan.janssen@humaninference.com</email>
		</contributor>
		<contributor>
			<name>Nancy Sharma</name>
			<email>nsharma@xebia.com</email>
		</contributor>
		<contributor>
			<name>Paritosh Ranjan</name>
			<email>pranjan@xebia.com</email>
		</contributor>
		<contributor>
			<name>Ankit Kumar</name>
			<email>ankitk@xebia.com</email>
		</contributor>
	</contributors>
	<issueManagement>
		<system>trac</system>
		<url>http://eobjects.org/trac</url>
	</issueManagement>
	<licenses>
		<license>
			<name>Lesser General Public License</name>
			<url>http://www.gnu.org/licenses/lgpl.txt</url>
		</license>
	</licenses>
	<scm>
		<connection>
			scm:svn:http://eobjects.org/svn/AnalyzerBeans/tags/AnalyzerBeans-0.21
		</connection>
		<developerConnection>
			scm:svn:http://eobjects.org/svn/AnalyzerBeans/tags/AnalyzerBeans-0.21
		</developerConnection>
		<url>
			http://eobjects.org/svn/AnalyzerBeans/tags/AnalyzerBeans-0.21 
		</url>
	</scm>
	<distributionManagement>
		<snapshotRepository>
			<id>eobjects-snapshot-repo</id>
			<url>scp://192.168.3.110/var/www/repo</url>
		</snapshotRepository>
		<!-- Repository sometimes used for deploying only to eobjects' repository -->
		<!--
		<repository>
			<id>eobjects-release-repo</id>
			<url>scp://192.168.3.110/var/www/repo</url>
		</repository>
		-->
		<site>
			<id>analyzerbeans.eobjects.org</id>
			<name>AnalyzerBeans website</name>
			<url>scp://192.168.3.110/var/www/analyzerbeans</url>
		</site>
	</distributionManagement>
	<build>
		<plugins>
			<plugin>
				<!-- Ensures java 6 compatibility -->
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>2.3.2</version>
				<configuration>
					<source>1.6</source>
					<target>1.6</target>
					<encoding>utf-8</encoding>
				</configuration>
			</plugin>

			<plugin>
				<!-- Ensure inclusion of license header in all main java files -->
				<groupId>com.google.code.maven-license-plugin</groupId>
				<artifactId>maven-license-plugin</artifactId>
				<version>1.4.0</version>
				<inherited>false</inherited>
				<configuration>
					<header>HEADER.txt</header>
					<aggregate>true</aggregate>
					<includes>
						<include>**/src/**/java/org/**</include>
					</includes>
				</configuration>
				<executions>
					<execution>
						<id>verify-license-headers</id>
						<phase>verify</phase>
						<goals>
							<goal>check</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<version>2.8.1</version>
			</plugin>
			<plugin>
				<groupId>org.codehaus.sonar</groupId>
				<artifactId>sonar-maven3-plugin</artifactId>
				<version>2.8</version>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-release-plugin</artifactId>
				<configuration>
					<autoVersionSubmodules>true</autoVersionSubmodules>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-site-plugin</artifactId>
				<version>3.1</version>
				<dependencies>
					<dependency>
						<!-- Provide support for scp based deployment of site -->
						<groupId>org.apache.maven.wagon</groupId>
						<artifactId>wagon-ssh</artifactId>
						<version>${sshwagon.version}</version>
					</dependency>
				</dependencies>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
				<version>${javadoc.version}</version>
				<executions>
					<execution>
						<!-- create aggregate report when "mvn site" is invoked. -->
						<id>aggregate</id>
						<goals>
							<goal>aggregate</goal>
						</goals>
						<phase>site</phase>
					</execution>
				</executions>
				<configuration>
					<links>
						<link>http://metamodel.eobjects.org/apidocs/</link>
						<link>http://sassyreader.eobjects.org/apidocs/</link>
					</links>
				</configuration>
			</plugin>

			<plugin>
				<!-- enforce certain banned dependencies -->
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-enforcer-plugin</artifactId>
				<version>1.1.1</version>
				<executions>
					<execution>
						<id>enforce-versions</id>
						<goals>
							<goal>enforce</goal>
						</goals>
						<configuration>
							<rules>
								<bannedDependencies>
									<excludes>
										<exclude>commons-logging:commons-logging</exclude>
									</excludes>
								</bannedDependencies>
							</rules>
						</configuration>
					</execution>
				</executions>
			</plugin>
		</plugins>

		<extensions>
			<extension>
				<!-- Provide support for scp based deployment of site -->
				<groupId>org.apache.maven.wagon</groupId>
				<artifactId>wagon-ssh</artifactId>
				<version>${sshwagon.version}</version>
			</extension>
		</extensions>

		<pluginManagement>
			<plugins>
				<plugin>
					<!-- Ignore instructions for m2e (overrides eclipse warning) -->
					<groupId>org.eclipse.m2e</groupId>
					<artifactId>lifecycle-mapping</artifactId>
					<version>1.0.0</version>
					<configuration>
						<lifecycleMappingMetadata>
							<pluginExecutions>
								<pluginExecution>
									<pluginExecutionFilter>
										<groupId>org.apache.maven.plugins</groupId>
										<artifactId>maven-enforcer-plugin</artifactId>
										<versionRange>[1.0,)</versionRange>
										<goals>
											<goal>enforce</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<ignore />
									</action>
								</pluginExecution>
								<pluginExecution>
									<pluginExecutionFilter>
										<groupId>org.apache.maven.plugins</groupId>
										<artifactId>maven-dependency-plugin</artifactId>
										<versionRange>[2.0,)</versionRange>
										<goals>
											<goal>copy-dependencies</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<ignore />
									</action>
								</pluginExecution>
								<pluginExecution>
									<pluginExecutionFilter>
										<groupId>net.alchim31.maven</groupId>
										<artifactId>scala-maven-plugin</artifactId>
										<versionRange>[3.1.0,)</versionRange>
										<goals>
											<goal>add-source</goal>
											<goal>compile</goal>
											<goal>testCompile</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<ignore />
									</action>
								</pluginExecution>
							</pluginExecutions>
						</lifecycleMappingMetadata>
					</configuration>
				</plugin>

				<plugin>
					<groupId>net.alchim31.maven</groupId>
					<artifactId>scala-maven-plugin</artifactId>
					<version>3.1.0</version>
					<executions>
						<execution>
							<id>scala-compile-first</id>
							<phase>process-resources</phase>
							<goals>
								<goal>add-source</goal>
								<goal>compile</goal>
							</goals>
						</execution>
						<execution>
							<id>scala-test-compile</id>
							<phase>process-test-resources</phase>
							<goals>
								<goal>testCompile</goal>
							</goals>
						</execution>
					</executions>
					<configuration>
						<args>
							<arg>-unchecked</arg>
							<arg>-deprecation</arg>
							<arg>-explaintypes</arg>
						</args>
					</configuration>
				</plugin>

				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>cobertura-maven-plugin</artifactId>
					<version>2.5.1</version>
				</plugin>
				
				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>build-helper-maven-plugin</artifactId>
					<version>1.7</version>
				</plugin>
				
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-project-info-reports-plugin</artifactId>
					<version>2.5</version>
				</plugin>
				
			</plugins>
		</pluginManagement>
	</build>

	<pluginRepositories>
		<pluginRepository>
			<id>scala-tools.org</id>
			<name>Scala-tools Maven2 Repository</name>
			<url>http://scala-tools.org/repo-releases</url>
		</pluginRepository>
	</pluginRepositories>

	<reporting>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
				<version>${javadoc.version}</version>
				<reportSets>
					<reportSet>
						<id>non-aggregate</id>
						<reports>
							<report>javadoc</report>
						</reports>
					</reportSet>
					<reportSet>
						<id>aggregate</id>
						<configuration>
							<!-- requires graphviz to generate UML diagrams -->
							<doclet>org.umlgraph.doclet.UmlGraphDoc</doclet>
							<docletArtifact>
								<groupId>org.umlgraph</groupId>
								<artifactId>doclet</artifactId>
								<version>5.1</version>
							</docletArtifact>
							<useStandardDocletOptions>true</useStandardDocletOptions>
						</configuration>
						<reports>
							<report>aggregate</report>
						</reports>
					</reportSet>
				</reportSets>
			</plugin>
		</plugins>
	</reporting>

	<repositories>
		<repository>
			<id>eobjects-snapshot-repo</id>
			<url>http://repo.eobjects.org/</url>
			<releases>
				<enabled>true</enabled>
			</releases>
			<snapshots>
				<enabled>true</enabled>
			</snapshots>
		</repository>
	</repositories>

	<dependencies>
		<!--Test dependencies -->
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>${junit.version}</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.easymock</groupId>
			<artifactId>easymock</artifactId>
			<version>${easymock.version}</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-mock</artifactId>
			<version>2.0.8</version>
			<scope>test</scope>
			<exclusions>
				<exclusion>
					<artifactId>commons-logging</artifactId>
					<groupId>commons-logging</groupId>
				</exclusion>
			</exclusions>
		</dependency>
	</dependencies>

	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>org.scala-lang</groupId>
				<artifactId>scala-library</artifactId>
				<version>${scala.version}</version>
			</dependency>
		</dependencies>
	</dependencyManagement>
</project>
