<?xml version="1.0" encoding="UTF-8"?>
<!--
   Copyright 2012 - 2015 pac4j organization

   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/maven-v4_0_0.xsd">
	<modelVersion>4.0.0</modelVersion>

	<parent>
		<groupId>org.sonatype.oss</groupId>
		<artifactId>oss-parent</artifactId>
		<version>7</version>
	</parent>

	<groupId>org.pac4j</groupId>
	<artifactId>pac4j</artifactId>
	<packaging>pom</packaging>
	<name>pac4j</name>
	<version>1.8.8</version>
	<description>Profile &amp; Authentication Client for Java</description>
	<url>https://github.com/pac4j/pac4j</url>

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

	<scm>
		<url>https://github.com/pac4j/pac4j.git</url>
		<connection>scm:git:git@github.com:pac4j/pac4j.git</connection>
		<developerConnection>scm:git:git@github.com:pac4j/pac4j.git</developerConnection>
	</scm>

	<developers>
		<developer>
			<id>leleuj</id>
			<name>Jerome LELEU</name>
			<email>leleuj@gmail.com</email>
		</developer>
	</developers>

	<repositories>
		<repository>
			<id>scribe-java-mvn-repo</id>
			<url>https://raw.github.com/fernandezpablo85/scribe-java/mvn-repo/</url>
			<snapshots>
				<enabled>true</enabled>
				<updatePolicy>always</updatePolicy>
			</snapshots>
		</repository>
	</repositories>

	<modules>
		<module>pac4j-core</module>
		<module>pac4j-config</module>
		<module>pac4j-oauth</module>
		<module>pac4j-cas</module>
		<module>pac4j-openid</module>
		<!--module>pac4j-test-cas</module-->
		<module>pac4j-http</module>
		<module>pac4j-saml</module>
		<module>pac4j-gae</module>
		<module>pac4j-oidc</module>
		<module>pac4j-jwt</module>
		<module>pac4j-ldap</module>
		<module>pac4j-sql</module>
		<module>pac4j-mongo</module>
		<module>pac4j-stormpath</module>
	</modules>

	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>org.pac4j</groupId>
				<artifactId>pac4j-core</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>org.pac4j</groupId>
				<artifactId>pac4j-oauth</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>org.pac4j</groupId>
				<artifactId>pac4j-cas</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>org.pac4j</groupId>
				<artifactId>pac4j-http</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>org.pac4j</groupId>
				<artifactId>pac4j-saml</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>org.pac4j</groupId>
				<artifactId>pac4j-oidc</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>org.jasig.cas</groupId>
				<artifactId>cas-server-webapp</artifactId>
				<version>${cas.version}</version>
				<type>war</type>
			</dependency>
			<dependency>
				<groupId>org.jasig.cas</groupId>
				<artifactId>cas-server-support-oauth</artifactId>
				<version>${cas.version}</version>
			</dependency>
            <dependency>
                <groupId>org.jasig.cas</groupId>
                <artifactId>cas-server-integration-restlet</artifactId>
                <version>${cas.version}</version>
            </dependency>
			<dependency>
				<groupId>org.slf4j</groupId>
				<artifactId>slf4j-api</artifactId>
				<version>${slf4j.version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.commons</groupId>
				<artifactId>commons-lang3</artifactId>
				<version>3.1</version>
			</dependency>
			<dependency>
				<groupId>org.scribe</groupId>
				<artifactId>scribe</artifactId>
				<version>1.3.6</version>
			</dependency>
			<dependency>
				<groupId>com.fasterxml.jackson.core</groupId>
				<artifactId>jackson-databind</artifactId>
				<version>2.5.1</version>
			</dependency>
			<dependency>
				<groupId>org.jasig.cas.client</groupId>
				<artifactId>cas-client-core</artifactId>
				<version>3.4.1</version>
				<exclusions>
					<exclusion>
						<groupId>commons-logging</groupId>
						<artifactId>commons-logging</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>org.jasig.cas.client</groupId>
				<artifactId>cas-client-support-saml</artifactId>
				<version>3.4.1</version>
			</dependency>
			<dependency>
				<groupId>commons-codec</groupId>
				<artifactId>commons-codec</artifactId>
				<version>1.10</version>
			</dependency>
			<dependency>
				<groupId>org.openid4java</groupId>
				<artifactId>openid4java</artifactId>
				<version>0.9.8</version>
                <exclusions>
                    <exclusion>
                        <groupId>commons-logging</groupId>
                        <artifactId>commons-logging</artifactId>
                    </exclusion>
                </exclusions>
			</dependency>
			<dependency>
				<groupId>javax.servlet</groupId>
				<artifactId>javax.servlet-api</artifactId>
				<version>3.0.1</version>
				<scope>provided</scope>
			</dependency>
			<dependency>
				<groupId>com.esotericsoftware</groupId>
				<artifactId>kryo-shaded</artifactId>
				<version>3.0.3</version>
			</dependency>
            <dependency>
                <groupId>xml-apis</groupId>
                <artifactId>xml-apis</artifactId>
                <version>1.4.01</version>
            </dependency>
			<dependency>
				<groupId>org.pac4j</groupId>
				<artifactId>pac4j-jwt</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>com.nimbusds</groupId>
				<artifactId>oauth2-oidc-sdk</artifactId>
				<version>5.1</version>
			</dependency>
			<dependency>
				<groupId>com.nimbusds</groupId>
				<artifactId>nimbus-jose-jwt</artifactId>
				<version>4.11</version>
			</dependency>
			<dependency>
				<groupId>org.bouncycastle</groupId>
				<artifactId>bcprov-jdk15on</artifactId>
				<version>1.51</version>
			</dependency>
			<dependency>
				<groupId>org.ldaptive</groupId>
				<artifactId>ldaptive</artifactId>
				<version>1.0.6</version>
			</dependency>
			<dependency>
				<groupId>org.jdbi</groupId>
				<artifactId>jdbi</artifactId>
				<version>2.63</version>
			</dependency>
			<dependency>
				<groupId>org.mongodb</groupId>
				<artifactId>mongo-java-driver</artifactId>
				<version>3.0.3</version>
			</dependency>
			<dependency>
				<groupId>com.google.guava</groupId>
				<artifactId>guava</artifactId>
				<version>18.0</version>
			</dependency>
			<!-- for testing -->
			<dependency>
				<groupId>org.pac4j</groupId>
				<artifactId>pac4j-core</artifactId>
				<version>${project.version}</version>
				<type>test-jar</type>
			</dependency>
			<dependency>
				<groupId>org.pac4j</groupId>
				<artifactId>pac4j-cas</artifactId>
				<version>${project.version}</version>
				<type>test-jar</type>
			</dependency>
			<dependency>
				<groupId>junit</groupId>
				<artifactId>junit</artifactId>
				<version>4.11</version>
			</dependency>
			<dependency>
				<groupId>org.apache.httpcomponents</groupId>
				<artifactId>httpclient</artifactId>
				<version>4.3.5</version>
				<exclusions>
					<exclusion>
						<groupId>commons-logging</groupId>
						<artifactId>commons-logging</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>net.sourceforge.nekohtml</groupId>
				<artifactId>nekohtml</artifactId>
				<version>1.9.21</version>
			</dependency>
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>spring-test</artifactId>
				<version>${spring.version}</version>
				<scope>test</scope>
				<exclusions>
					<exclusion>
						<groupId>commons-logging</groupId>
						<artifactId>commons-logging</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>net.sourceforge.htmlunit</groupId>
				<artifactId>htmlunit</artifactId>
				<version>2.15</version>
				<exclusions>
					<exclusion>
						<groupId>commons-logging</groupId>
						<artifactId>commons-logging</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>ch.qos.logback</groupId>
				<artifactId>logback-classic</artifactId>
				<version>1.1.3</version>
			</dependency>
			<dependency>
				<groupId>org.slf4j</groupId>
				<artifactId>jcl-over-slf4j</artifactId>
				<version>${slf4j.version}</version>
			</dependency>
			<dependency>
				<groupId>org.mockito</groupId>
				<artifactId>mockito-core</artifactId>
				<version>1.9.5</version>
			</dependency>
			<dependency>
				<groupId>com.unboundid</groupId>
				<artifactId>unboundid-ldapsdk</artifactId>
				<version>2.3.8</version>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>com.h2database</groupId>
				<artifactId>h2</artifactId>
				<version>1.4.187</version>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>de.flapdoodle.embed</groupId>
				<artifactId>de.flapdoodle.embed.mongo</artifactId>
				<version>1.48.2</version>
				<scope>test</scope>
			</dependency>
			<!-- for testing -->
		</dependencies>
	</dependencyManagement>

	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<version>2.12.4</version>
				<configuration>
					<includes>
						<include>**/Test*.java</include>
						<include>**/*Test.java</include>
						<include>**/*Tests.java</include>
					</includes>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-failsafe-plugin</artifactId>
				<version>2.6</version>
				<executions>
					<execution>
						<goals>
							<goal>integration-test</goal>
							<goal>verify</goal>
						</goals>
					</execution>
				</executions>
				<configuration>
					<skipTests>true</skipTests>
					<includes>
						<include>**/*IT.java</include>
					</includes>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.1</version>
				<configuration>
					<source>1.7</source>
					<target>1.7</target>
					<encoding>UTF-8</encoding>
				</configuration>
			</plugin>
			<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>
			<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>
		</plugins>
		<pluginManagement>
			<plugins>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-jar-plugin</artifactId>
					<version>2.5</version>
					<configuration>
						<archive>
							<!-- configure plugin to use MANIFEST.MF
                        	generated by maven-bundle-plugin -->
							<manifestFile>
								${project.build.outputDirectory}/META-INF/MANIFEST.MF
							</manifestFile>
						</archive>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-javadoc-plugin</artifactId>
					<version>2.9.1</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-source-plugin</artifactId>
					<version>2.3</version>
				</plugin>
				<plugin>
					<groupId>org.apache.felix</groupId>
					<artifactId>maven-bundle-plugin</artifactId>
					<version>2.5.0</version>
					<extensions>true</extensions>
					<executions>
						<execution>
							<id>bundle-manifest</id>
							<phase>process-classes</phase>
							<goals>
								<goal>manifest</goal>
							</goals>
						</execution>
					</executions>
					<configuration>
						<!-- configure plugin to support jar packaging -->
						<supportedProjectTypes>
							<supportedProjectType>jar</supportedProjectType>
						</supportedProjectTypes>
					</configuration>
				</plugin>
			</plugins>
		</pluginManagement>
	</build>

	<profiles>
		<profile>
			<id>release-sign-artifacts</id>
			<activation>
				<property>
					<name>performRelease</name>
					<value>true</value>
				</property>
			</activation>
			<build>
				<plugins>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-gpg-plugin</artifactId>
						<version>1.1</version>
						<executions>
							<execution>
								<id>sign-artifacts</id>
								<phase>verify</phase>
								<goals>
									<goal>sign</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>
	</profiles>

	<properties>
		<spring.version>4.1.5.RELEASE</spring.version>
		<cas.version>3.6.0</cas.version>
		<slf4j.version>1.7.12</slf4j.version>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
	</properties>
</project>
