<!-- Copyright (c) 2015 BITPlan GmbH Project details and license at: https://github.com/WolfgangFahl/Mediawiki-Japi -->
<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>com.bitplan</groupId>
	<artifactId>mediawiki-japi</artifactId>
	<packaging>jar</packaging>
	<name>BITPlan-Mediawiki-Japi</name>
	<version>0.0.4</version>
	<description>Java library to call Mediawiki api</description>
	<prerequisites>
		<maven>3.1.1</maven>
	</prerequisites>
	<url>https://github.com/WolfgangFahl/Mediawiki-Japi</url>
	<licenses>
		<license>
			<name>Apache 2.0</name>
			<url>http://www.apache.org/licenses/LICENSE-2.0</url>
		</license>
	</licenses>
	<scm>
		<connection>scm:git:git://github.com/WolfgangFahl/Mediawiki-Japi.git</connection>
		<developerConnection>scm:git:git@github.com:WolfgangFahl/Mediawiki-Japi.git</developerConnection>
		<url>https://github.com/WolfgangFahl/Mediawiki-Japi</url>
	</scm>
	<issueManagement>
		<url>https://github.com/WolfgangFahl/Mediawiki-Japi/issues</url>
		<system>GitHub</system>
	</issueManagement>
	<developers>
		<developer>
			<id>wf</id>
			<name>Wolfgang Fahl</name>
			<organization>BITPlan GmbH</organization>
			<organizationUrl>http://www.bitplan.com</organizationUrl>
		</developer>
	</developers>
	<properties>
		<!-- http://stackoverflow.com/questions/3017695/how-to-configure-encoding-in-maven -->
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<!-- github server corresponds to entry in ~/.m2/settings.xml -->
		<github.global.server>github</github.global.server>
		<!-- versions of other libraries to be used -->
		<jersey.version>1.18</jersey.version>
		<junit4.version>4.11</junit4.version>
		<guice.version>3.0</guice.version>
		<mockito.version>1.10.16</mockito.version>
		<commons.io.version>2.4</commons.io.version>
		<moxy.version>2.6.0-M3</moxy.version>
		<!--  <moxy.version>2.5.2</moxy.version> -->
		<args4j.version>2.0.29</args4j.version>
	</properties>
	<dependencies>
		<!-- Google Guice dependency injection -->
		<dependency>
			<groupId>com.google.inject</groupId>
			<artifactId>guice</artifactId>
			<version>${guice.version}</version>
		</dependency>
		<!-- commons io -->
		<dependency>
			<groupId>commons-io</groupId>
			<artifactId>commons-io</artifactId>
			<version>${commons.io.version}</version>
		</dependency>
		<!-- Jersey client -->
		<dependency>
			<groupId>com.sun.jersey</groupId>
			<artifactId>jersey-client</artifactId>
			<version>${jersey.version}</version>
		</dependency>
		<!-- Jersey apache client -->
		<dependency>
			<groupId>com.sun.jersey.contribs</groupId>
			<artifactId>jersey-apache-client</artifactId>
			<version>${jersey.version}</version>
		</dependency>
		<!-- Multipart support -->
		<dependency>
			<groupId>com.sun.jersey.contribs</groupId>
			<artifactId>jersey-multipart</artifactId>
			<version>${jersey.version}</version>
		</dependency>
		<!-- eclipse moxy -->
		<dependency>
			<groupId>org.eclipse.persistence</groupId>
			<artifactId>org.eclipse.persistence.moxy</artifactId>
			<version>${moxy.version}</version>
		</dependency>
		<!--  
		  needed by eclipse moxy 2.6.0-M3
		  http://dev.eclipse.org/mhonarc/lists/eclipselink-users/msg08372.html
		  http://mvnrepository.com/artifact/javax.validation/validation-api/1.1.0.Final 
		-->
		<dependency>
			<groupId>javax.validation</groupId>
			<artifactId>validation-api</artifactId>
			<version>1.1.0.Final</version>
		</dependency>
		<!-- Jersey moxy -->
		<dependency>
			<groupId>com.sun.jersey.contribs</groupId>
			<artifactId>jersey-moxy</artifactId>
			<version>${jersey.version}</version>
			<scope>provided</scope>
		</dependency>
		<!-- JUnit testing -->
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>${junit4.version}</version>
			<scope>test</scope>
		</dependency>
		<!-- args4j command line utility -->
		<dependency>
			<groupId>args4j</groupId>
			<artifactId>args4j</artifactId>
			<version>${args4j.version}</version>
		</dependency>
		<!-- Mockito -->
		<dependency>
			<groupId>org.mockito</groupId>
			<artifactId>mockito-core</artifactId>
			<version>${mockito.version}</version>
			<scope>test</scope>
		</dependency>
	</dependencies>
	<build>
		<sourceDirectory>src/main/java</sourceDirectory>
		<plugins>
			<!-- compiler -->
			<plugin>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.1</version>
				<configuration>
					<source>1.7</source>
					<target>1.7</target>
				</configuration>
			</plugin>
			<!-- jar creation -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jar-plugin</artifactId>
				<version>2.5</version>
				<configuration>
					<archive>
						<manifest>
							<addClasspath>true</addClasspath>
							<mainClass>com.bitplan.mediawiki.japi.Mediawiki</mainClass>
						</manifest>
					</archive>
				</configuration>
			</plugin>
			<!--
				executable jar with dependencies
				see http://stackoverflow.com/questions/574594/how-can-i-create-an-executable-jar-with-dependencies-using-maven

				run with
				mvn clean compile assembly:single
			-->
			<plugin>
				<artifactId>maven-assembly-plugin</artifactId>
				<configuration>
					<archive>
						<manifest>
							<mainClass>com.bitplan.mediawiki.japi.Mediawiki</mainClass>
						</manifest>
					</archive>
					<descriptorRefs>
						<descriptorRef>jar-with-dependencies</descriptorRef>
					</descriptorRefs>
				</configuration>
			</plugin>
			<!-- sure-fire (test) plugin -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<version>2.18.1</version>
				<configuration>
					<excludes>
						<!-- JUnit4 TestSuites -->
						<exclude>**/TestSuite.java</exclude>
					</excludes>
				</configuration>
			</plugin>
			<plugin>
				<!-- see http://central.sonatype.org/pages/apache-maven.html Javadoc
					and Sources Attachments To get Javadoc and Source jar files generated, 
					you
					have to configure the javadoc and source Maven plugins. -->
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-source-plugin</artifactId>
				<version>2.2.1</version>
				<executions>
					<execution>
						<id>attach-sources</id>
						<goals>
							<goal>jar-no-fork</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
				<version>2.9.1</version>
				<executions>
					<execution>
						<id>attach-javadocs</id>
						<goals>
							<goal>jar</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<!-- GPG Signed Components The Maven GPG plugin is used to sign the components
				with the following configuration. -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<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>
			</plugin>
			<!-- according to : http://central.sonatype.org/pages/apache-maven.html
				Nexus Staging Maven Plugin for Deployment and Release The Nexus Staging 
				Maven
				Plugin is the recommended way to deploy your components to OSSRH and 
				release
				them to the Central Repository. To configure it simply add the plugin 
				to
				your Maven pom.xml. -->
			<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>
					<!-- set to true for automation -->
					<autoReleaseAfterClose>false</autoReleaseAfterClose>
				</configuration>
			</plugin>
			<!-- Maven release plugin -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-release-plugin</artifactId>
				<version>2.5</version>
				<configuration>
					<autoVersionSubmodules>true</autoVersionSubmodules>
					<useReleaseProfile>false</useReleaseProfile>
					<releaseProfiles>release</releaseProfiles>
					<goals>deploy</goals>
					<arguments>-Dgpg.passphrase=${gpg.passphrase}</arguments>
				</configuration>
			</plugin>
			<!-- git hub site plugin https://github.com/github/maven-plugins -->
			<plugin>
				<groupId>com.github.github</groupId>
				<artifactId>site-maven-plugin</artifactId>
				<version>0.10</version>
				<configuration>
					<message>Creating site for ${project.version}</message>
					<repositoryName>Mediawiki-Japi</repositoryName>      <!-- github repo name -->
					<repositoryOwner>WolfgangFahl</repositoryOwner>    <!-- github username -->
				</configuration>
				<executions>
					<execution>
						<goals>
							<goal>site</goal>
						</goals>
						<phase>site</phase>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-site-plugin</artifactId>
				<version>3.0</version>
				<configuration>
					<!-- configuration of reports to be included in site -->
					<reportPlugins>
						<plugin>
							<groupId>org.apache.maven.plugins</groupId>
							<artifactId>maven-project-info-reports-plugin</artifactId>
							<version>2.2</version>
							<configuration>
								<dependencyDetailsEnabled>true</dependencyDetailsEnabled>
								<dependencyLocationsEnabled>true</dependencyLocationsEnabled>
							</configuration>
						</plugin>
						<plugin>
							<groupId>org.apache.maven.plugins</groupId>
							<artifactId>maven-javadoc-plugin</artifactId>
							<version>2.7</version>
						</plugin>
						<plugin>
							<groupId>org.apache.maven.plugins</groupId>
							<artifactId>maven-surefire-report-plugin</artifactId>
							<version>2.6</version>
						</plugin>
						<!-- http://maven.apache.org/plugins/maven-checkstyle-plugin/usage.html -->
						<plugin>
							<groupId>org.apache.maven.plugins</groupId>
							<artifactId>maven-checkstyle-plugin</artifactId>
							<version>2.13</version>
						</plugin>
					</reportPlugins>
				</configuration>
			</plugin>
		</plugins>
	</build>
	<profiles>
		<!-- 
		  Work around Oracle's (IMHO silly) decision to make doclint default. 
		  http://blog.joda.org/2014/02/turning-off-doclint-in-jdk-8-javadoc.html
		  http://stackoverflow.com/questions/15886209/maven-is-not-working-in-java-8-when-javadoc-tags-are-incomplete 
		-->
		<profile>
			<id>doclint-java8-disable</id>
			<activation>
				<jdk>[1.8,)</jdk>
			</activation>
			<build>
				<plugins>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-javadoc-plugin</artifactId>
						<configuration>
							<additionalparam>-Xdoclint:none</additionalparam>
						</configuration>
					</plugin>
				</plugins>
			</build>
		</profile>
	</profiles>
</project>
