<?xml version="1.0"?>
<!-- 
	Copyright 2007 Kasper B. Graversen

	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.
-->
<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>
  
  	<!-- Use Sonatype's OSS repo to deploy to Maven central -->
	<parent>
		<groupId>org.sonatype.oss</groupId>
		<artifactId>oss-parent</artifactId>
		<version>7</version>
	</parent>

	<groupId>net.sf.supercsv</groupId>
	<artifactId>super-csv-parent</artifactId>
	<version>2.0.1</version>
	<packaging>pom</packaging>
	<url>http://supercsv.sourceforge.net</url>
	<name>Super CSV</name>
	<description>Super CSV parent project</description>
	<inceptionYear>2007</inceptionYear>

	<modules>
		<module>super-csv</module>
		<module>super-csv-dozer</module>
		<module>super-csv-distribution</module>
	</modules>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
	</properties>

	<build>
		<pluginManagement>
			<plugins>
				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>animal-sniffer-maven-plugin</artifactId>
					<version>1.9</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-ant-plugin</artifactId>
					<version>2.3</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-assembly-plugin</artifactId>
					<version>2.4</version>
				</plugin>
				<plugin>
					<groupId>org.apache.felix</groupId>
					<artifactId>maven-bundle-plugin</artifactId>
					<version>2.3.7</version>
				</plugin>
				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>cobertura-maven-plugin</artifactId>
					<version>2.5.1</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-compiler-plugin</artifactId>
					<version>3.0</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-eclipse-plugin</artifactId>
					<version>2.9</version>
				</plugin>
				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>findbugs-maven-plugin</artifactId>
					<version>2.5.2</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-jar-plugin</artifactId>
					<version>2.4</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-javadoc-plugin</artifactId>
					<version>2.9</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-jxr-plugin</artifactId>
					<version>2.3</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-pmd-plugin</artifactId>
					<version>2.7.1</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-project-info-reports-plugin</artifactId>
					<version>2.6</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-release-plugin</artifactId>
					<version>2.3.2</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-source-plugin</artifactId>
					<version>2.1.2</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-site-plugin</artifactId>
					<version>3.2</version>
					<dependencies>
						<!-- add support for ssh/scp -->
						<dependency>
							<groupId>org.apache.maven.wagon</groupId>
							<artifactId>wagon-ssh</artifactId>
							<version>2.2</version>
						</dependency>
					</dependencies>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-surefire-plugin</artifactId>
					<version>2.12.4</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-surefire-report-plugin</artifactId>
					<version>2.12.4</version>
				</plugin>

			</plugins>
		</pluginManagement>

		<plugins>
			<!-- Compiles the Java source -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<configuration>
					<source>1.5</source>
					<target>1.5</target>
				</configuration>
			</plugin>

			<!-- Generates the OSGi manifest (required for OSGi support) -->
			<plugin>
				<groupId>org.apache.felix</groupId>
				<artifactId>maven-bundle-plugin</artifactId>
				<extensions>true</extensions>
				<configuration>
					<instructions>
						<Export-Package>org.supercsv.*</Export-Package>
					</instructions>
				</configuration>
				<executions>
					<execution>
						<id>bundle-manifest</id>
						<phase>process-classes</phase>
						<goals>
							<goal>manifest</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			
			<!-- Creates the final jar. This is needed to use the OSGi manifest entries -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jar-plugin</artifactId>
				<configuration>
					<archive>
						<manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
					</archive>
				</configuration>
			</plugin>

			<!-- Generates the site documentation -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-site-plugin</artifactId>
			</plugin>

			<!-- Creates the Eclipse .classpath and .project files -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-eclipse-plugin</artifactId>
				<configuration>
					<downloadJavadocs>true</downloadJavadocs>
					<downloadSources>true</downloadSources>
					<testSourcesLast>true</testSourcesLast>
					<classpathContainers>
						<!-- Use J2SE 1.5 -->
						<classpathContainer>org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5</classpathContainer>
					</classpathContainers>
				</configuration>
			</plugin>

			<!-- Runs the Junit tests -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
			</plugin>

			<!-- Generates the cobertura code-coverage report -->
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>cobertura-maven-plugin</artifactId>
				<configuration>
					<formats>
						<format>xml</format>
						<format>html</format>
					</formats>
				</configuration>
			</plugin>

			<!-- Creates the sources jar -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-source-plugin</artifactId>
				<executions>
					<execution>
						<id>attach-sources</id>
						<goals>
							<goal>jar</goal>
						</goals>
					</execution>
				</executions>
			</plugin>

			<!-- Creates the javadoc jar -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
				<executions>
					<execution>
						<id>attach-javadocs</id>
						<goals>
							<goal>jar</goal>
						</goals>
					</execution>
				</executions>
			</plugin>

			<!-- Performs the release to SVN and Maven -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-release-plugin</artifactId>
				<configuration>
					<autoVersionSubmodules>true</autoVersionSubmodules>
					<preparationGoals>clean verify</preparationGoals>
					<goals>deploy</goals>
					<tagNameFormat>v@{project.version}</tagNameFormat>
				</configuration>
			</plugin>
			
			<!-- Ensures Java 1.5 compatability -->
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>animal-sniffer-maven-plugin</artifactId>
				<configuration>
					<signature>
						<groupId>org.codehaus.mojo.signature</groupId>
						<artifactId>java15</artifactId>
						<version>1.0</version>
					</signature>
				</configuration>
        		<executions>
					<execution>
						<id>check-java15-compatability</id>
						<phase>test</phase>
						<goals>
							<goal>check</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			
		</plugins>
	</build>

	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>net.sf.supercsv</groupId>
				<artifactId>super-csv</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>net.sf.supercsv</groupId>
				<artifactId>super-csv-dozer</artifactId>
				<version>${project.version}</version>
			</dependency>
		</dependencies>
	</dependencyManagement>

	<dependencies>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.10</version>
			<scope>test</scope>
		</dependency>
	</dependencies>
	
	<!-- Developers with commit access (id is SourceForge username) -->
	<developers>
		<developer>
			<name>Kasper Graversen</name>
			<id>kbg</id>
			<roles>
				<role>Project Lead/Founder</role>
			</roles>
			<timezone>+1</timezone>
		</developer>
		<developer>
			<name>James Bassett</name>
			<id>jamesbassett</id>
			<email>james.bassett@gmail.com</email>
			<timezone>+10</timezone>
			<roles>
				<role>Developer (current)</role>
			</roles>
		</developer>
		<developer>
			<name>Dominique De Vito</name>
			<id>ddv36a78</id>
			<roles>
				<role>Developer (past)</role>
			</roles>
		</developer>
	</developers>

	<!-- List of contributors is in alphabetical order -->
	<contributors>
		<contributor>
			<name>Alf Richter (Haskell2000)</name>
		</contributor>
		<contributor>
			<name>John Gibson (noredshadow)</name>
		</contributor>
		<contributor>
			<name>Lubor Vágenknecht (lubor)</name>
		</contributor>
		<contributor>
			<name>Pete Lichten (boneshaker335)</name>
		</contributor>
		<contributor>
			<name>Thor Michael Støre (thormick)</name>
		</contributor>
	</contributors>

	<organization>
		<name>Super CSV</name>
		<url>http://supercsv.sourceforge.net/</url>
	</organization>

	<licenses>
		<license>
			<name>Apache License, Version 2.0</name>
			<url>http://www.apache.org/licenses/LICENSE-2.0.html</url>
		</license>
	</licenses>

	<reporting>
		<!-- Reporting plugins don't inherit version from plugin management,
		     so have to be defined again (make sure they are the same!) -->
		<plugins>
			<!-- Adds extra project info to the site -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-project-info-reports-plugin</artifactId>
				<version>2.6</version>
				<reportSets>
					<reportSet>
						<reports>
							<report>index</report>
							<report>dependencies</report>
							<report>project-team</report>
							<report>issue-tracking</report>
							<report>license</report>
						</reports>
					</reportSet>
				</reportSets>
			</plugin>

			<!-- Adds the cobertura report to the site -->
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>cobertura-maven-plugin</artifactId>
				<version>2.5.1</version>
			</plugin>

			<!-- Adds the surefire report to the site -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-report-plugin</artifactId>
				<version>2.12.4</version>
			</plugin>

			<!-- Adds the javadoc to the site -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
				<version>2.9</version>
				<configuration>
					<aggregate>true</aggregate>
					<links>
						<link>http://java.sun.com/j2se/1.5.0/docs/api</link>
						<link>http://dozer.sourceforge.net/apidocs</link>
					</links>
				</configuration>
				<reportSets>
					<reportSet>
						<reports>
							<report>javadoc</report>
						</reports>
					</reportSet>
				</reportSets>
			</plugin>

			<!-- Adds the pmd report to the site -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-pmd-plugin</artifactId>
				<version>2.7.1</version>
				<configuration>
					<targetJdk>1.5</targetJdk>
				</configuration>
			</plugin>

			<!-- Adds the findbugs report to the site -->
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>findbugs-maven-plugin</artifactId>
				<version>2.5.2</version>
			</plugin>
			
			<!-- Generates a cross-reference of the sources -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jxr-plugin</artifactId>
				<version>2.3</version>
			</plugin>
		</plugins>
	</reporting>

	<issueManagement>
		<system>Sourceforge</system>
		<url>https://sourceforge.net/p/supercsv/bugs/</url>
	</issueManagement>

	<distributionManagement>
		<site>
			<id>supercsv.sourceforge.net</id>
			<url>scp://shell.sourceforge.net/home/project-web/supercsv/htdocs</url>
		</site>
	</distributionManagement>

	<scm>
		<connection>scm:svn:https://svn.code.sf.net/p/supercsv/code/tags/v2.0.1</connection>
		<developerConnection>scm:svn:svn+ssh://jamesbassett@svn.code.sf.net/p/supercsv/code/tags/v2.0.1</developerConnection>
		<url>https://sourceforge.net/p/supercsv/code/tags/v2.0.1</url>
	</scm>
</project>