Browse Source

Create cas profile for enabling CAS sso settings

idwright 9 years ago
parent
commit
798794972b
1 changed files with 681 additions and 604 deletions
  1. 681 604
      pom.xml

+ 681 - 604
pom.xml

@@ -1,621 +1,698 @@
-<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xmlns="http://maven.apache.org/POM/4.0.0"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
 
-    <modelVersion>4.0.0</modelVersion>
+	<modelVersion>4.0.0</modelVersion>
 
-    <prerequisites>
-        <maven>3.2</maven>
-    </prerequisites>
+	<prerequisites>
+		<maven>3.2</maven>
+	</prerequisites>
 
-    <groupId>org.pwm-project</groupId>
-    <artifactId>pwm</artifactId>
-    <version>1.8.0-SNAPSHOT</version>
-    <packaging>war</packaging>
+	<groupId>org.pwm-project</groupId>
+	<artifactId>pwm</artifactId>
+	<version>1.8.0-SNAPSHOT</version>
+	<packaging>war</packaging>
 
-    <licenses>
-        <license>
-            <name>The GNU General Public License (GPL) Version 2</name>
-            <url>http://www.gnu.org/licenses/gpl-2.0.html</url>
-            <distribution>repo</distribution>
-        </license>
-    </licenses>
+	<licenses>
+		<license>
+			<name>The GNU General Public License (GPL) Version 2</name>
+			<url>http://www.gnu.org/licenses/gpl-2.0.html</url>
+			<distribution>repo</distribution>
+		</license>
+	</licenses>
 
-    <organization>
-        <name>Pwm Project</name>
-        <url>http://www.pwm-project.org</url>
-    </organization>
+	<organization>
+		<name>Pwm Project</name>
+		<url>http://www.pwm-project.org</url>
+	</organization>
 
-    <properties>
-        <maven.compiler.source>1.7</maven.compiler.source>
-        <maven.compiler.target>1.7</maven.compiler.target>
-        <skipTests>true</skipTests>
-        <timestamp.iso>${maven.build.timestamp}</timestamp.iso>
-        <maven.build.timestamp.format>yyyy-MM-dd'T'HH:mm:ss'Z'</maven.build.timestamp.format>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-        <build.number>0</build.number>  <!-- default in case not set on command line -->
-        <build.revision>0</build.revision>  <!-- default in case not set on command line -->
-    </properties>
+	<properties>
+		<maven.compiler.source>1.7</maven.compiler.source>
+		<maven.compiler.target>1.7</maven.compiler.target>
+		<skipTests>true</skipTests>
+		<timestamp.iso>${maven.build.timestamp}</timestamp.iso>
+		<maven.build.timestamp.format>yyyy-MM-dd'T'HH:mm:ss'Z'</maven.build.timestamp.format>
+		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+		<build.number>0</build.number>  <!-- default in case not set on command line -->
+		<build.revision>0</build.revision>  <!-- default in case not set on command line -->
+		<!-- Properties used for CAS configuration -->
+		<cas.server>https://cas.localdomain.local:8443/cas/</cas.server>
+		<pwm.server>https://pwm.localdomain.local:8443</pwm.server>
 
-    <profiles>
-        <profile>
-            <id>doclint-java8-disable</id>
-            <activation>
-                <jdk>[1.8,)</jdk>
-            </activation>
-            <properties>
-                <javadoc.opts>-Xdoclint:none</javadoc.opts>
-            </properties>
-        </profile>
-        <profile>
-            <!-- Builds a zip file containing the built war file, along with the supplemental directory -->
-            <id>release-bundle</id>
-            <build>
-                <plugins>
-                    <plugin>
-                        <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-assembly-plugin</artifactId>
-                        <version>2.6</version>
-                        <configuration>
-                            <descriptors>
-                                <descriptor>src/assembly/pwm.xml</descriptor>
-                            </descriptors>
-                            <finalName>${project.build.finalName}-${timestamp.iso}</finalName>
-                        </configuration>
-                        <executions>
-                            <execution>
-                                <id>make-assembly</id>
-                                <phase>package</phase>
-                                <goals>
-                                    <goal>single</goal>
-                                </goals>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-        <profile>
-            <!-- Disables source and javadoc jar file creation.  Handy when wanting to run quick development builds -->
-            <id>developer</id>
-            <properties>
-                <maven.javadoc.skip>true</maven.javadoc.skip>
-                <source.skip>true</source.skip>
-                <jspc.skip>true</jspc.skip>
-            </properties>
-        </profile>
-    </profiles>
+	</properties>
 
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-compiler-plugin</artifactId>
-                <version>3.3</version>
-                <configuration>
-                    <source>${maven.compiler.source}</source>
-                    <target>${maven.compiler.target}</target>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-surefire-plugin</artifactId>
-                <version>2.19</version>
-                <configuration>
-                    <skipTests>${skipTests}</skipTests>
-                </configuration>
-            </plugin>
-            <plugin>
-                <!-- This allows us to run: "mvn tomcat7:run", then we can open a browser to: http://localhost:8080/pwm -->
-                <groupId>org.apache.tomcat.maven</groupId>
-                <artifactId>tomcat7-maven-plugin</artifactId>
-                <version>2.2</version>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-source-plugin</artifactId>
-                <version>2.4</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.10.3</version>
-                <executions>
-                    <execution>
-                        <id>attach-javadocs</id>
-                        <goals>
-                            <goal>jar</goal>
-                        </goals>
-                        <configuration>
-                            <additionalparam>${javadoc.opts}</additionalparam>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-war-plugin</artifactId>
-                <version>2.6</version>
-                <configuration>
-                    <archiveClasses>true</archiveClasses>
-                    <!--
-                    <packagingExcludes>WEB-INF/classes</packagingExcludes>
-                    -->
-                </configuration>
-            </plugin>
-            <plugin>
-                <artifactId>maven-resources-plugin</artifactId>
-                <version>2.7</version>
-                <executions>
-                    <execution>
-                        <id>copy-resources</id>
-                        <phase>validate</phase>
-                        <goals>
-                            <goal>copy-resources</goal>
-                        </goals>
-                        <configuration>
-                            <outputDirectory>${project.build.outputDirectory}/src</outputDirectory>
-                            <resources>
-                                <resource><directory>src/main/java</directory></resource>
-                                <resource><directory>src/main/resources</directory></resource>
-                            </resources>
-                        </configuration>
-                    </execution>
-                    <execution>
-                        <id>replace-build-properties</id>
-                        <phase>process-resources</phase>
-                        <goals>
-                            <goal>copy-resources</goal>
-                        </goals>
-                        <configuration>
-                            <outputDirectory>${project.build.outputDirectory}</outputDirectory>
-                            <overwrite>true</overwrite>
-                            <resources>
-                                <resource>
-                                    <filtering>true</filtering>
-                                    <directory>src/main/resources</directory>
-                                    <includes>
-                                        <include>password/pwm/BuildInformation.properties</include>
-                                    </includes>
-                                </resource>
-                            </resources>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-            <plugin>
-                <groupId>org.jasig.mojo.jspc</groupId>
-                <artifactId>jspc-maven-plugin</artifactId>
-                <version>2.0.0</version>
-                <dependencies>
-                    <dependency>
-                        <groupId>org.jasig.mojo.jspc</groupId>
-                        <artifactId>jspc-compiler-tomcat7</artifactId>
-                        <version>2.0.0</version>
-                    </dependency>
-                </dependencies>
-                <configuration>
-                    <includeInProject>false</includeInProject>
-                </configuration>
-                <executions>
-                    <execution>
-                        <goals>
-                            <goal>compile</goal>
-                        </goals>
-                        <phase>compile</phase>
-                    </execution>
-                </executions>
-            </plugin>
-            <plugin>
-                <artifactId>maven-clean-plugin</artifactId>
-                <version>3.0.0</version>
-                <executions>
-                    <execution>
-                        <id>remove-compiled-jsps</id>
-                        <phase>prepare-package</phase>
-                        <goals>
-                            <goal>clean</goal>
-                        </goals>
-                        <configuration>
-                            <excludeDefaultDirectories>true</excludeDefaultDirectories>
-                            <filesets>
-                                <fileset>
-                                    <directory>target/classes/jsp</directory>
-                                </fileset>
-                            </filesets>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-            <plugin>
-                <groupId>com.github.jinnovations</groupId>
-                <artifactId>attribution-maven-plugin</artifactId>
-                <version>0.9.4</version>
-                <executions>
-                    <execution>
-                        <goals>
-                            <goal>generate-attribution-file</goal>
-                        </goals>
-                        <phase>generate-resources</phase>
-                    </execution>
-                </executions>
-                <configuration>
-                    <outputFile>${project.build.directory}/classes/attribution.xml</outputFile>
-                    <dependencyOverrides>
-                        <dependencyOverride>
-                            <forDependency>org.apache.axis:axis</forDependency>
-                            <projectUrl>https://axis.apache.org/axis/</projectUrl>
-                            <license>
-                                <name>Apache License, Version 2.0</name>
-                                <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-                            </license>
-                        </dependencyOverride>
-                        <dependencyOverride>
-                            <forDependency>net.iharder:base64</forDependency>
-                            <license>
-                                <name>Public Domain (any license you desire)</name>
-                                <url>http://iharder.sourceforge.net/current/java/base64/</url>
-                            </license>
-                        </dependencyOverride>
-                        <dependencyOverride>
-                            <forDependency>javax.xml:jaxrpc-api</forDependency>
-                            <projectUrl>https://java.net/projects/jax-rpc/</projectUrl>
-                            <license>
-                                <name>CDDL-1.0</name>
-                                <url>https://opensource.org/licenses/cddl1.php</url>
-                            </license>
-                        </dependencyOverride>
-                        <dependencyOverride>
-                            <forDependency>org.hamcrest:hamcrest-core</forDependency>
-                            <projectUrl>http://hamcrest.org/JavaHamcrest/</projectUrl>
-                        </dependencyOverride>
-                        <dependencyOverride>
-                            <forDependency>jaxen:jaxen</forDependency>
-                            <license>
-                                <name>Custom</name>
-                                <url>http://jaxen.codehaus.org/license.html</url>
-                            </license>
-                        </dependencyOverride>
-                        <dependencyOverride>
-                            <forDependency>com.novell.security.nmas:ChallengeResponseLCM</forDependency>
-                            <projectUrl>https://www.novell.com/developer/ndk/novell_modular_authentication_service.html</projectUrl>
-                            <downloadUrl>ftp://sdk.provo.novell.com/ndk/nmas/builds/cross_platform/novell-nmas-devel-2009.11.11-cross_platform.zip</downloadUrl>
-                            <license>
-                                <name>Novell Developer License Agreement</name>
-                                <url>https://www.novell.com/developer/novell_developer_license_agreement.html</url>
-                            </license>
-                        </dependencyOverride>
-                        <dependencyOverride>
-                            <forDependency>com.novell.security.nmas:nmasclient</forDependency>
-                            <projectUrl>https://www.novell.com/developer/ndk/novell_modular_authentication_service.html</projectUrl>
-                            <downloadUrl>ftp://sdk.provo.novell.com/ndk/nmas/builds/cross_platform/novell-nmas-devel-2009.11.11-cross_platform.zip</downloadUrl>
-                            <license>
-                                <name>Novell Developer License Agreement</name>
-                                <url>https://www.novell.com/developer/novell_developer_license_agreement.html</url>
-                            </license>
-                        </dependencyOverride>
-                        <dependencyOverride>
-                            <forDependency>com.novell.security.nmas:NMASToolkit</forDependency>
-                            <projectUrl>https://www.novell.com/developer/ndk/novell_modular_authentication_service.html</projectUrl>
-                            <downloadUrl>ftp://sdk.provo.novell.com/ndk/nmas/builds/cross_platform/novell-nmas-devel-2009.11.11-cross_platform.zip</downloadUrl>
-                            <license>
-                                <name>Novell Developer License Agreement</name>
-                                <url>https://www.novell.com/developer/novell_developer_license_agreement.html</url>
-                            </license>
-                        </dependencyOverride>
-                        <dependencyOverride>
-                            <forDependency>com.novell.security.nmas:jsso</forDependency>
-                            <projectUrl>https://www.novell.com/developer/ndk/novell_secretstore_developer_kit_for_java.html</projectUrl>
-                            <downloadUrl>ftp://sdk.provo.novell.com/ndk/nssoj/builds/cross_platform/novell-nssoj-devel-2006.02.17-1cross_platform.zip</downloadUrl>
-                            <license>
-                                <name>Novell Developer License Agreement</name>
-                                <url>https://www.novell.com/developer/novell_developer_license_agreement.html</url>
-                            </license>
-                        </dependencyOverride>
-                        <dependencyOverride>
-                            <forDependency>com.novell.security.nmas:ldap</forDependency>
-                            <projectUrl>https://www.novell.com/developer/ndk/ldap_classes_for_java.html</projectUrl>
-                            <downloadUrl>https://www.novell.com/developer/ndk/ldap_classes_for_java/novell-jldap-devel-2013.08.30.1433-xplat.zip</downloadUrl>
-                            <license>
-                                <name>Novell Developer License Agreement</name>
-                                <url>https://www.novell.com/developer/novell_developer_license_agreement.html</url>
-                            </license>
-                        </dependencyOverride>
-                    </dependencyOverrides>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
+	<profiles>
+		<profile>
+			<id>doclint-java8-disable</id>
+			<activation>
+				<jdk>[1.8,)</jdk>
+			</activation>
+			<properties>
+				<javadoc.opts>-Xdoclint:none</javadoc.opts>
+			</properties>
+		</profile>
+		<profile>
+			<!-- Builds a zip file containing the built war file, along with the supplemental 
+				directory -->
+			<id>release-bundle</id>
+			<build>
+				<plugins>
+					<plugin>
+						<groupId>org.apache.maven.plugins</groupId>
+						<artifactId>maven-assembly-plugin</artifactId>
+						<version>2.6</version>
+						<configuration>
+							<descriptors>
+								<descriptor>src/assembly/pwm.xml</descriptor>
+							</descriptors>
+							<finalName>${project.build.finalName}-${timestamp.iso}</finalName>
+						</configuration>
+						<executions>
+							<execution>
+								<id>make-assembly</id>
+								<phase>package</phase>
+								<goals>
+									<goal>single</goal>
+								</goals>
+							</execution>
+						</executions>
+					</plugin>
+				</plugins>
+			</build>
+		</profile>
+		<profile>
+			<!-- Disables source and javadoc jar file creation. Handy when wanting 
+				to run quick development builds -->
+			<id>developer</id>
+			<properties>
+				<maven.javadoc.skip>true</maven.javadoc.skip>
+				<source.skip>true</source.skip>
+				<jspc.skip>true</jspc.skip>
+			</properties>
+		</profile>
+		<!-- Enables CAS configuration -->
+		<profile>
+			<id>cas</id>
+			<build>
+				<plugins>
+					<plugin>
+						<artifactId>maven-war-plugin</artifactId>
+						<executions>
+							<execution>
+								<id>prepare-exploded-war</id>
+								<goals>
+									<goal>exploded</goal>
+								</goals>
+								<phase>prepare-package</phase>
+							</execution>
+							<execution>
+								<id>default-war</id>
+								<configuration>
+									<webXml>${project.build.directory}/${project.build.finalName}-cas/WEB-INF/web.xml</webXml>
+									<filteringDeploymentDescriptors>true</filteringDeploymentDescriptors>
+								</configuration>
+							</execution>
+						</executions>
+					</plugin>
+					<!-- Replaces web.xml -->
+					<plugin>
+						<groupId>com.google.code.maven-replacer-plugin</groupId>
+						<artifactId>replacer</artifactId>
+						<version>1.5.3</version>
+						<executions>
+							<execution>
+								<id>enable-cas</id>
+								<phase>prepare-package</phase>
+								<goals>
+									<goal>replace</goal>
+								</goals>
+							</execution>
+						</executions>
+						<configuration>
+							<ignoreErrors>true</ignoreErrors>
+							<file>${project.build.directory}/${project.build.finalName}/WEB-INF/web.xml</file>
+							<outputDir>${project.build.directory}/${project.build.finalName}-cas/WEB-INF/</outputDir>
+							<preserveDir>false</preserveDir>
+							<replacements>
+								<replacement>
+									<token><![CDATA[<!-- uncomment and set parameters for CAS integration]]></token>
+									<value><![CDATA[<!-- uncomment and set parameters for CAS integration -->]]></value>
+								</replacement>
+								<replacement>
+									<token><![CDATA[ End CAS Config -->]]></token>
+									<value><![CDATA[<!--    End CAS Config -->]]></value>
+								</replacement>
+							</replacements>
+						</configuration>
+					</plugin>
+				</plugins>
+			</build>
+		</profile>
+	</profiles>
 
-    <dependencies>
-        <!-- Test dependencies -->
-        <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
-            <version>4.10</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.mockito</groupId>
-            <artifactId>mockito-core</artifactId>
-            <version>1.10.19</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.assertj</groupId>
-            <artifactId>assertj-core</artifactId>
-            <!-- use 3.3.0 for Java 8 projects -->
-            <version>2.3.0</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>com.github.tomakehurst</groupId>
-            <artifactId>wiremock</artifactId>
-            <version>1.58</version>
-            <scope>test</scope>
-        </dependency>
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-compiler-plugin</artifactId>
+				<version>3.3</version>
+				<configuration>
+					<source>${maven.compiler.source}</source>
+					<target>${maven.compiler.target}</target>
+				</configuration>
+			</plugin>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-surefire-plugin</artifactId>
+				<version>2.19</version>
+				<configuration>
+					<skipTests>${skipTests}</skipTests>
+				</configuration>
+			</plugin>
+			<plugin>
+				<!-- This allows us to run: "mvn tomcat7:run", then we can open a browser 
+					to: http://localhost:8080/pwm -->
+				<groupId>org.apache.tomcat.maven</groupId>
+				<artifactId>tomcat7-maven-plugin</artifactId>
+				<version>2.2</version>
+				<!-- See http://tomcat.apache.org/tomcat-7.0-doc/ssl-howto.html#Configuration 
+					if you want to configure this Use the hostname as the first/last name field -->
+				<configuration>
+					<httpsPort>8443</httpsPort>
+					<keystorePass>changeit</keystorePass>
+					<warSourceDirectory>${project.build.directory}/${project.build.finalName}</warSourceDirectory>
+				</configuration>
+			</plugin>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-source-plugin</artifactId>
+				<version>2.4</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.10.3</version>
+				<executions>
+					<execution>
+						<id>attach-javadocs</id>
+						<goals>
+							<goal>jar</goal>
+						</goals>
+						<configuration>
+							<additionalparam>${javadoc.opts}</additionalparam>
+						</configuration>
+					</execution>
+				</executions>
+			</plugin>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-war-plugin</artifactId>
+				<version>2.6</version>
+				<configuration>
+					<archiveClasses>true</archiveClasses>
+					<!-- <packagingExcludes>WEB-INF/classes</packagingExcludes> -->
+				</configuration>
+			</plugin>
+			<plugin>
+				<artifactId>maven-resources-plugin</artifactId>
+				<version>2.7</version>
+				<executions>
+					<execution>
+						<id>copy-resources</id>
+						<phase>validate</phase>
+						<goals>
+							<goal>copy-resources</goal>
+						</goals>
+						<configuration>
+							<outputDirectory>${project.build.outputDirectory}/src</outputDirectory>
+							<resources>
+								<resource>
+									<directory>src/main/java</directory>
+								</resource>
+								<resource>
+									<directory>src/main/resources</directory>
+								</resource>
+							</resources>
+						</configuration>
+					</execution>
+					<execution>
+						<id>replace-build-properties</id>
+						<phase>process-resources</phase>
+						<goals>
+							<goal>copy-resources</goal>
+						</goals>
+						<configuration>
+							<outputDirectory>${project.build.outputDirectory}</outputDirectory>
+							<overwrite>true</overwrite>
+							<resources>
+								<resource>
+									<filtering>true</filtering>
+									<directory>src/main/resources</directory>
+									<includes>
+										<include>password/pwm/BuildInformation.properties</include>
+									</includes>
+								</resource>
+							</resources>
+						</configuration>
+					</execution>
+				</executions>
+			</plugin>
+			<plugin>
+				<groupId>org.jasig.mojo.jspc</groupId>
+				<artifactId>jspc-maven-plugin</artifactId>
+				<version>2.0.0</version>
+				<dependencies>
+					<dependency>
+						<groupId>org.jasig.mojo.jspc</groupId>
+						<artifactId>jspc-compiler-tomcat7</artifactId>
+						<version>2.0.0</version>
+					</dependency>
+				</dependencies>
+				<configuration>
+					<includeInProject>false</includeInProject>
+				</configuration>
+				<executions>
+					<execution>
+						<goals>
+							<goal>compile</goal>
+						</goals>
+						<phase>compile</phase>
+					</execution>
+				</executions>
+			</plugin>
+			<plugin>
+				<artifactId>maven-clean-plugin</artifactId>
+				<version>3.0.0</version>
+				<executions>
+					<execution>
+						<id>remove-compiled-jsps</id>
+						<phase>prepare-package</phase>
+						<goals>
+							<goal>clean</goal>
+						</goals>
+						<configuration>
+							<excludeDefaultDirectories>true</excludeDefaultDirectories>
+							<filesets>
+								<fileset>
+									<directory>target/classes/jsp</directory>
+								</fileset>
+							</filesets>
+						</configuration>
+					</execution>
+				</executions>
+			</plugin>
+			<plugin>
+				<groupId>com.github.jinnovations</groupId>
+				<artifactId>attribution-maven-plugin</artifactId>
+				<version>0.9.4</version>
+				<executions>
+					<execution>
+						<goals>
+							<goal>generate-attribution-file</goal>
+						</goals>
+						<phase>generate-resources</phase>
+					</execution>
+				</executions>
+				<configuration>
+					<outputFile>${project.build.directory}/classes/attribution.xml</outputFile>
+					<dependencyOverrides>
+						<dependencyOverride>
+							<forDependency>org.apache.axis:axis</forDependency>
+							<projectUrl>https://axis.apache.org/axis/</projectUrl>
+							<license>
+								<name>Apache License, Version 2.0</name>
+								<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+							</license>
+						</dependencyOverride>
+						<dependencyOverride>
+							<forDependency>net.iharder:base64</forDependency>
+							<license>
+								<name>Public Domain (any license you desire)</name>
+								<url>http://iharder.sourceforge.net/current/java/base64/</url>
+							</license>
+						</dependencyOverride>
+						<dependencyOverride>
+							<forDependency>javax.xml:jaxrpc-api</forDependency>
+							<projectUrl>https://java.net/projects/jax-rpc/</projectUrl>
+							<license>
+								<name>CDDL-1.0</name>
+								<url>https://opensource.org/licenses/cddl1.php</url>
+							</license>
+						</dependencyOverride>
+						<dependencyOverride>
+							<forDependency>org.hamcrest:hamcrest-core</forDependency>
+							<projectUrl>http://hamcrest.org/JavaHamcrest/</projectUrl>
+						</dependencyOverride>
+						<dependencyOverride>
+							<forDependency>jaxen:jaxen</forDependency>
+							<license>
+								<name>Custom</name>
+								<url>http://jaxen.codehaus.org/license.html</url>
+							</license>
+						</dependencyOverride>
+						<dependencyOverride>
+							<forDependency>com.novell.security.nmas:ChallengeResponseLCM</forDependency>
+							<projectUrl>https://www.novell.com/developer/ndk/novell_modular_authentication_service.html</projectUrl>
+							<downloadUrl>ftp://sdk.provo.novell.com/ndk/nmas/builds/cross_platform/novell-nmas-devel-2009.11.11-cross_platform.zip</downloadUrl>
+							<license>
+								<name>Novell Developer License Agreement</name>
+								<url>https://www.novell.com/developer/novell_developer_license_agreement.html</url>
+							</license>
+						</dependencyOverride>
+						<dependencyOverride>
+							<forDependency>com.novell.security.nmas:nmasclient</forDependency>
+							<projectUrl>https://www.novell.com/developer/ndk/novell_modular_authentication_service.html</projectUrl>
+							<downloadUrl>ftp://sdk.provo.novell.com/ndk/nmas/builds/cross_platform/novell-nmas-devel-2009.11.11-cross_platform.zip</downloadUrl>
+							<license>
+								<name>Novell Developer License Agreement</name>
+								<url>https://www.novell.com/developer/novell_developer_license_agreement.html</url>
+							</license>
+						</dependencyOverride>
+						<dependencyOverride>
+							<forDependency>com.novell.security.nmas:NMASToolkit</forDependency>
+							<projectUrl>https://www.novell.com/developer/ndk/novell_modular_authentication_service.html</projectUrl>
+							<downloadUrl>ftp://sdk.provo.novell.com/ndk/nmas/builds/cross_platform/novell-nmas-devel-2009.11.11-cross_platform.zip</downloadUrl>
+							<license>
+								<name>Novell Developer License Agreement</name>
+								<url>https://www.novell.com/developer/novell_developer_license_agreement.html</url>
+							</license>
+						</dependencyOverride>
+						<dependencyOverride>
+							<forDependency>com.novell.security.nmas:jsso</forDependency>
+							<projectUrl>https://www.novell.com/developer/ndk/novell_secretstore_developer_kit_for_java.html</projectUrl>
+							<downloadUrl>ftp://sdk.provo.novell.com/ndk/nssoj/builds/cross_platform/novell-nssoj-devel-2006.02.17-1cross_platform.zip</downloadUrl>
+							<license>
+								<name>Novell Developer License Agreement</name>
+								<url>https://www.novell.com/developer/novell_developer_license_agreement.html</url>
+							</license>
+						</dependencyOverride>
+						<dependencyOverride>
+							<forDependency>com.novell.security.nmas:ldap</forDependency>
+							<projectUrl>https://www.novell.com/developer/ndk/ldap_classes_for_java.html</projectUrl>
+							<downloadUrl>https://www.novell.com/developer/ndk/ldap_classes_for_java/novell-jldap-devel-2013.08.30.1433-xplat.zip</downloadUrl>
+							<license>
+								<name>Novell Developer License Agreement</name>
+								<url>https://www.novell.com/developer/novell_developer_license_agreement.html</url>
+							</license>
+						</dependencyOverride>
+					</dependencyOverrides>
+				</configuration>
+			</plugin>
+		</plugins>
+	</build>
 
-        <!-- container dependencies -->
-        <dependency>
-            <groupId>javax.servlet</groupId>
-            <artifactId>javax.servlet-api</artifactId>
-            <version>3.0.1</version>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>javax.servlet.jsp</groupId>
-            <artifactId>jsp-api</artifactId>
-            <version>2.2</version>
-            <scope>provided</scope>
-        </dependency>
-        <!-- / container dependencies -->
+	<dependencies>
+		<!-- Test dependencies -->
+		<dependency>
+			<groupId>junit</groupId>
+			<artifactId>junit</artifactId>
+			<version>4.10</version>
+			<scope>test</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.mockito</groupId>
+			<artifactId>mockito-core</artifactId>
+			<version>1.10.19</version>
+			<scope>test</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.assertj</groupId>
+			<artifactId>assertj-core</artifactId>
+			<!-- use 3.3.0 for Java 8 projects -->
+			<version>2.3.0</version>
+			<scope>test</scope>
+		</dependency>
+		<dependency>
+			<groupId>com.github.tomakehurst</groupId>
+			<artifactId>wiremock</artifactId>
+			<version>1.58</version>
+			<scope>test</scope>
+		</dependency>
 
-        <!-- NMAS jars (not available from a maven repo) -->
-        <dependency>
-            <groupId>com.novell.security.nmas</groupId>
-            <artifactId>ChallengeResponseLCM</artifactId>
-            <version>2013.04.18</version>
-        </dependency>
-        <dependency>
-            <groupId>com.novell.security.nmas</groupId>
-            <artifactId>nmasclient</artifactId>
-            <version>2013.04.26</version>
-        </dependency>
-        <dependency>
-            <groupId>com.novell.security.nmas</groupId>
-            <artifactId>NMASToolkit</artifactId>
-            <version>2013.04.26</version>
-        </dependency>
-        <dependency>
-            <groupId>com.novell.security.nmas</groupId>
-            <artifactId>ldap</artifactId>
-            <version>2013.04.26</version>
-        </dependency>
-        <!-- / Novell jars (not available from a maven repo) -->
+		<!-- container dependencies -->
+		<dependency>
+			<groupId>javax.servlet</groupId>
+			<artifactId>javax.servlet-api</artifactId>
+			<version>3.0.1</version>
+			<scope>provided</scope>
+		</dependency>
+		<dependency>
+			<groupId>javax.servlet.jsp</groupId>
+			<artifactId>jsp-api</artifactId>
+			<version>2.2</version>
+			<scope>provided</scope>
+		</dependency>
+		<!-- / container dependencies -->
 
-        <dependency>
-            <groupId>com.github.ldapchai</groupId>
-            <artifactId>ldapchai</artifactId>
-            <version>0.6.8</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.commons</groupId>
-            <artifactId>commons-csv</artifactId>
-            <version>1.2</version>
-        </dependency>
-        <dependency>
-            <groupId>commons-fileupload</groupId>
-            <artifactId>commons-fileupload</artifactId>
-            <version>1.3.1</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.commons</groupId>
-            <artifactId>commons-lang3</artifactId>
-            <version>3.4</version>
-        </dependency>
-        <dependency>
-            <groupId>com.sun.mail</groupId>
-            <artifactId>javax.mail</artifactId>
-            <version>1.5.5</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.httpcomponents</groupId>
-            <artifactId>httpclient</artifactId>
-            <version>4.5.2</version>
-        </dependency>
-        <dependency>
-            <groupId>com.googlecode.concurrentlinkedhashmap</groupId>
-            <artifactId>concurrentlinkedhashmap-lru</artifactId>
-            <version>1.4.2</version>
-        </dependency>
-        <dependency>
-            <groupId>org.graylog2</groupId>
-            <artifactId>syslog4j</artifactId>
-            <version>0.9.48</version>
-        </dependency>
-        <dependency>
-            <groupId>log4j</groupId>
-            <artifactId>log4j</artifactId>
-            <version>1.2.17</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.axis</groupId>
-            <artifactId>axis</artifactId>
-            <version>1.4</version>
-        </dependency>
-        <dependency>
-            <groupId>com.sleepycat</groupId>
-            <artifactId>je</artifactId>
-            <version>6.4.9</version>
-        </dependency>
-        <dependency>
-            <groupId>org.glassfish.jersey.containers</groupId>
-            <artifactId>jersey-container-servlet</artifactId>
-            <version>2.22.2</version>
-        </dependency>
-        <dependency>
-            <groupId>org.glassfish.jersey.media</groupId>
-            <artifactId>jersey-media-json-jackson</artifactId>
-            <version>2.22.2</version>
-        </dependency>
-        <dependency>
-            <groupId>org.jasig.cas.client</groupId>
-            <artifactId>cas-client-core</artifactId>
-            <version>3.4.1</version>
-        </dependency>
-        <dependency>
-            <groupId>org.mapdb</groupId>
-            <artifactId>mapdb</artifactId>
-            <version>3.0.0-M2</version>
-        </dependency>
-        <dependency>
-            <groupId>com.h2database</groupId>
-            <artifactId>h2</artifactId>
-            <version>1.3.176</version>
-        </dependency>
-        <dependency>
-            <groupId>net.glxn</groupId>
-            <artifactId>qrgen</artifactId>
-            <version>1.4</version>
-        </dependency>
-        <dependency>
-            <groupId>org.bouncycastle</groupId>
-            <artifactId>bcprov-jdk15on</artifactId>
-            <version>1.54</version>
-        </dependency>
-        <dependency>
-            <groupId>org.bouncycastle</groupId>
-            <artifactId>bcpkix-jdk15on</artifactId>
-            <version>1.54</version>
-        </dependency>
-        <dependency>
-            <groupId>javax.xml</groupId>
-            <artifactId>jaxrpc</artifactId>
-            <version>1.1</version>
-        </dependency>
-        <dependency>
-            <groupId>jaxen</groupId>
-            <artifactId>jaxen</artifactId>
-            <version>1.1.6</version>
-        </dependency>
-        <dependency>
-            <groupId>org.jdom</groupId>
-            <artifactId>jdom2</artifactId>
-            <version>2.0.6</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.derby</groupId>
-            <artifactId>derby</artifactId>
-            <version>10.12.1.1</version>
-        </dependency>
-        <dependency>
-            <groupId>org.xeustechnologies</groupId>
-            <artifactId>jcl-core</artifactId>
-            <version>2.7</version>
-        </dependency>
-        <dependency>
-            <groupId>net.iharder</groupId>
-            <artifactId>base64</artifactId>
-            <version>2.3.9</version>
-        </dependency>
-        <dependency>
-            <groupId>com.google.code.gson</groupId>
-            <artifactId>gson</artifactId>
-            <version>2.6.2</version>
-        </dependency>
-        <dependency>
-            <groupId>eu.bitwalker</groupId>
-            <artifactId>UserAgentUtils</artifactId>
-            <version>1.18</version>
-        </dependency>
-        <dependency>
-            <groupId>org.jetbrains.xodus</groupId>
-            <artifactId>xodus-environment</artifactId>
-            <version>1.0-SNAPSHOT</version>
-        </dependency>
+		<!-- NMAS jars (not available from a maven repo) -->
+		<dependency>
+			<groupId>com.novell.security.nmas</groupId>
+			<artifactId>ChallengeResponseLCM</artifactId>
+			<version>2013.04.18</version>
+		</dependency>
+		<dependency>
+			<groupId>com.novell.security.nmas</groupId>
+			<artifactId>nmasclient</artifactId>
+			<version>2013.04.26</version>
+		</dependency>
+		<dependency>
+			<groupId>com.novell.security.nmas</groupId>
+			<artifactId>NMASToolkit</artifactId>
+			<version>2013.04.26</version>
+		</dependency>
+		<dependency>
+			<groupId>com.novell.security.nmas</groupId>
+			<artifactId>ldap</artifactId>
+			<version>2013.04.26</version>
+		</dependency>
+		<!-- / Novell jars (not available from a maven repo) -->
 
+		<dependency>
+			<groupId>com.github.ldapchai</groupId>
+			<artifactId>ldapchai</artifactId>
+			<version>0.6.8</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.commons</groupId>
+			<artifactId>commons-csv</artifactId>
+			<version>1.2</version>
+		</dependency>
+		<dependency>
+			<groupId>commons-fileupload</groupId>
+			<artifactId>commons-fileupload</artifactId>
+			<version>1.3.1</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.commons</groupId>
+			<artifactId>commons-lang3</artifactId>
+			<version>3.4</version>
+		</dependency>
+		<dependency>
+			<groupId>com.sun.mail</groupId>
+			<artifactId>javax.mail</artifactId>
+			<version>1.5.5</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.httpcomponents</groupId>
+			<artifactId>httpclient</artifactId>
+			<version>4.5.2</version>
+		</dependency>
+		<dependency>
+			<groupId>com.googlecode.concurrentlinkedhashmap</groupId>
+			<artifactId>concurrentlinkedhashmap-lru</artifactId>
+			<version>1.4.2</version>
+		</dependency>
+		<dependency>
+			<groupId>org.graylog2</groupId>
+			<artifactId>syslog4j</artifactId>
+			<version>0.9.48</version>
+		</dependency>
+		<dependency>
+			<groupId>log4j</groupId>
+			<artifactId>log4j</artifactId>
+			<version>1.2.17</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.axis</groupId>
+			<artifactId>axis</artifactId>
+			<version>1.4</version>
+		</dependency>
+		<dependency>
+			<groupId>com.sleepycat</groupId>
+			<artifactId>je</artifactId>
+			<version>6.4.9</version>
+		</dependency>
+		<dependency>
+			<groupId>org.glassfish.jersey.containers</groupId>
+			<artifactId>jersey-container-servlet</artifactId>
+			<version>2.22.2</version>
+		</dependency>
+		<dependency>
+			<groupId>org.glassfish.jersey.media</groupId>
+			<artifactId>jersey-media-json-jackson</artifactId>
+			<version>2.22.2</version>
+		</dependency>
+		<dependency>
+			<groupId>org.jasig.cas.client</groupId>
+			<artifactId>cas-client-core</artifactId>
+			<version>3.4.1</version>
+		</dependency>
+		<dependency>
+			<groupId>org.mapdb</groupId>
+			<artifactId>mapdb</artifactId>
+			<version>3.0.0-M2</version>
+		</dependency>
+		<dependency>
+			<groupId>com.h2database</groupId>
+			<artifactId>h2</artifactId>
+			<version>1.3.176</version>
+		</dependency>
+		<dependency>
+			<groupId>net.glxn</groupId>
+			<artifactId>qrgen</artifactId>
+			<version>1.4</version>
+		</dependency>
+		<dependency>
+			<groupId>org.bouncycastle</groupId>
+			<artifactId>bcprov-jdk15on</artifactId>
+			<version>1.54</version>
+		</dependency>
+		<dependency>
+			<groupId>org.bouncycastle</groupId>
+			<artifactId>bcpkix-jdk15on</artifactId>
+			<version>1.54</version>
+		</dependency>
+		<dependency>
+			<groupId>javax.xml</groupId>
+			<artifactId>jaxrpc</artifactId>
+			<version>1.1</version>
+		</dependency>
+		<dependency>
+			<groupId>jaxen</groupId>
+			<artifactId>jaxen</artifactId>
+			<version>1.1.6</version>
+		</dependency>
+		<dependency>
+			<groupId>org.jdom</groupId>
+			<artifactId>jdom2</artifactId>
+			<version>2.0.6</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.derby</groupId>
+			<artifactId>derby</artifactId>
+			<version>10.12.1.1</version>
+		</dependency>
+		<dependency>
+			<groupId>org.xeustechnologies</groupId>
+			<artifactId>jcl-core</artifactId>
+			<version>2.7</version>
+		</dependency>
+		<dependency>
+			<groupId>net.iharder</groupId>
+			<artifactId>base64</artifactId>
+			<version>2.3.9</version>
+		</dependency>
+		<dependency>
+			<groupId>com.google.code.gson</groupId>
+			<artifactId>gson</artifactId>
+			<version>2.6.2</version>
+		</dependency>
+		<dependency>
+			<groupId>eu.bitwalker</groupId>
+			<artifactId>UserAgentUtils</artifactId>
+			<version>1.18</version>
+		</dependency>
+		<dependency>
+			<groupId>org.jetbrains.xodus</groupId>
+			<artifactId>xodus-environment</artifactId>
+			<version>1.0-SNAPSHOT</version>
+		</dependency>
 
 
-        <!-- client webjar dependencies -->
-        <!-- changes in client dependencies require updating AppProperty.properties:http.resources.webjarMappings -->
-        <dependency>
-            <groupId>org.webjars.bower</groupId>
-            <artifactId>dojo</artifactId>
-            <version>1.11.1</version>
-        </dependency>
-        <dependency>
-            <groupId>org.webjars.bower</groupId>
-            <artifactId>dijit</artifactId>
-            <version>1.11.1</version>
-        </dependency>
-        <dependency>
-            <groupId>org.webjars.bower</groupId>
-            <artifactId>dojox</artifactId>
-            <version>1.11.1</version>
-        </dependency>
-        <dependency>
-            <groupId>org.webjars.bower</groupId>
-            <artifactId>dgrid</artifactId>
-            <version>1.0.0</version>
-        </dependency>
-        <dependency>
-            <groupId>org.webjars.bower</groupId>
-            <artifactId>dstore</artifactId>
-            <version>1.1.1</version>
-        </dependency>
-        <dependency>
-            <groupId>org.webjars.bower</groupId>
-            <artifactId>font-awesome</artifactId>
-            <version>4.5.0</version>
-        </dependency>
-        <dependency>
-            <groupId>org.webjars.bower</groupId>
-            <artifactId>famfamfam-flags</artifactId>
-            <version>1.0.0</version>
-        </dependency>
-    </dependencies>
 
-    <repositories>
-        <repository>
-            <id>central</id>
-            <url>https://repo1.maven.org/maven2</url>
-            <snapshots>
-                <enabled>false</enabled>
-            </snapshots>
-        </repository>
-        <!-- Include our own local maven repository, for artifacts that aren't available elsewhere -->
-        <repository>
-            <id>project.local</id>
-            <name>project</name>
-            <url>file:///${project.basedir}/local-maven-repo</url>
-        </repository>
-        <repository>
-            <id>maven-public</id> <!-- used by xodus -->
-            <url>https://oss.sonatype.org/content/groups/public</url>
-            <snapshots>
-                <enabled>true</enabled>
-            </snapshots>
-        </repository>
-        <repository>
-            <id>oracleReleases</id>
-            <name>Oracle Released Java Packages</name>
-            <url>http://download.oracle.com/maven</url>
-            <layout>default</layout>
-        </repository>
-    </repositories>
-    <pluginRepositories>
-        <pluginRepository>
-            <id>central</id>
-            <url>https://repo1.maven.org/maven2</url>
-            <snapshots>
-                <enabled>false</enabled>
-            </snapshots>
-        </pluginRepository>
-    </pluginRepositories>
+		<!-- client webjar dependencies -->
+		<!-- changes in client dependencies require updating AppProperty.properties:http.resources.webjarMappings -->
+		<dependency>
+			<groupId>org.webjars.bower</groupId>
+			<artifactId>dojo</artifactId>
+			<version>1.11.1</version>
+		</dependency>
+		<dependency>
+			<groupId>org.webjars.bower</groupId>
+			<artifactId>dijit</artifactId>
+			<version>1.11.1</version>
+		</dependency>
+		<dependency>
+			<groupId>org.webjars.bower</groupId>
+			<artifactId>dojox</artifactId>
+			<version>1.11.1</version>
+		</dependency>
+		<dependency>
+			<groupId>org.webjars.bower</groupId>
+			<artifactId>dgrid</artifactId>
+			<version>1.0.0</version>
+		</dependency>
+		<dependency>
+			<groupId>org.webjars.bower</groupId>
+			<artifactId>dstore</artifactId>
+			<version>1.1.1</version>
+		</dependency>
+		<dependency>
+			<groupId>org.webjars.bower</groupId>
+			<artifactId>font-awesome</artifactId>
+			<version>4.5.0</version>
+		</dependency>
+		<dependency>
+			<groupId>org.webjars.bower</groupId>
+			<artifactId>famfamfam-flags</artifactId>
+			<version>1.0.0</version>
+		</dependency>
+	</dependencies>
+
+	<repositories>
+		<repository>
+			<id>central</id>
+			<url>https://repo1.maven.org/maven2</url>
+			<snapshots>
+				<enabled>false</enabled>
+			</snapshots>
+		</repository>
+		<!-- Include our own local maven repository, for artifacts that aren't 
+			available elsewhere -->
+		<repository>
+			<id>project.local</id>
+			<name>project</name>
+			<url>file:///${project.basedir}/local-maven-repo</url>
+		</repository>
+		<repository>
+			<id>maven-public</id> <!-- used by xodus -->
+			<url>https://oss.sonatype.org/content/groups/public</url>
+			<snapshots>
+				<enabled>true</enabled>
+			</snapshots>
+		</repository>
+		<repository>
+			<id>oracleReleases</id>
+			<name>Oracle Released Java Packages</name>
+			<url>http://download.oracle.com/maven</url>
+			<layout>default</layout>
+		</repository>
+	</repositories>
+	<pluginRepositories>
+		<pluginRepository>
+			<id>central</id>
+			<url>https://repo1.maven.org/maven2</url>
+			<snapshots>
+				<enabled>false</enabled>
+			</snapshots>
+		</pluginRepository>
+	</pluginRepositories>
 </project>