diff --git a/.gitignore b/.gitignore
index 9f97022..5ab777d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,6 @@
-target/
\ No newline at end of file
+target/
+.idea/
+build/
+bin/
+*.iml
+.gradle/
\ No newline at end of file
diff --git a/build.gradle b/build.gradle
new file mode 100644
index 0000000..98de8a7
--- /dev/null
+++ b/build.gradle
@@ -0,0 +1,267 @@
+buildscript {
+ repositories {
+ maven { url 'http://repo.springsource.org/plugins-release' }
+ }
+ dependencies {
+ classpath 'org.springframework.build.gradle:docbook-reference-plugin:0.1.5'
+ }
+}
+
+configure(allprojects) {
+ apply plugin: 'java'
+ apply plugin: 'eclipse'
+ apply plugin: 'idea'
+
+ group = 'org.springframework.security.kerberos'
+
+ sourceCompatibility=1.5
+ targetCompatibility=1.5
+
+ ext.junitVersion = '4.10'
+ ext.springSecurityVersion = '3.1.3.RELEASE'
+ ext.springVersion = '3.0.3.RELEASE'
+
+ [compileJava, compileTestJava]*.options*.compilerArgs = ['-Xlint:none']
+
+ test.systemProperty("java.awt.headless", "true")
+
+ repositories {
+ mavenCentral()
+ }
+
+ // servlet-api (2.5) and tomcat-servlet-api (3.0) classpath entries should not be
+ // exported to dependent projects in Eclipse to avoid false compilation errors due
+ // to changing APIs across these versions
+ eclipse.classpath.file.whenMerged { classpath ->
+ classpath.entries.findAll { entry -> entry.path.contains('servlet-api') }*.exported = false
+ }
+}
+
+configure(subprojects) { subproject ->
+ apply from: "${rootProject.projectDir}/publish-maven.gradle"
+
+ jar {
+ manifest.attributes['Created-By'] =
+ "${System.getProperty('java.version')} (${System.getProperty('java.specification.vendor')})"
+ manifest.attributes['Implementation-Title'] = subproject.name
+ manifest.attributes['Implementation-Version'] = subproject.version
+
+ from("${rootProject.projectDir}/src/dist") {
+ include "license.txt"
+ include "notice.txt"
+ into "META-INF"
+ expand(copyright: new Date().format('yyyy'), version: project.version)
+ }
+ }
+
+ javadoc {
+ options.memberLevel = org.gradle.external.javadoc.JavadocMemberLevel.PROTECTED
+ options.author = true
+ options.header = project.name
+ //options.overview = "${projectDir}/src/main/java/overview.html"
+ }
+
+ task sourcesJar(type: Jar, dependsOn:classes) {
+ classifier = 'sources'
+ from sourceSets.main.allJava.srcDirs
+ include '**/*.java', '**/*.aj'
+ }
+
+ task javadocJar(type: Jar) {
+ classifier = 'javadoc'
+ from javadoc
+ }
+
+ artifacts {
+ archives sourcesJar
+ archives javadocJar
+ }
+
+ dependencies {
+ testCompile "junit:junit:$junitVersion"
+ }
+}
+
+
+project('spring-security-kerberos-core') {
+ description = 'Spring Security Kerberos Core'
+
+ dependencies {
+ compile "org.springframework.security:spring-security-core:$springSecurityVersion"
+ compile "org.springframework.security:spring-security-web:$springSecurityVersion"
+ compile("commons-logging:commons-logging:1.1.1", optional)
+ compile("javax.servlet:servlet-api:2.5", provided)
+
+ testCompile "org.mockito:mockito-core:1.9.0"
+ }
+}
+
+project('spring-security-kerberos-sample') {
+ apply plugin: 'jetty'
+
+ description = 'Spring Security Kerberos Sample'
+ dependencies {
+ compile project(":spring-security-kerberos-core")
+ compile("javax.servlet:servlet-api:2.5", provided)
+ compile("org.springframework.security:spring-security-config:$springSecurityVersion")
+ }
+}
+
+configure(rootProject) {
+ description = 'Spring Framework'
+
+ apply plugin: 'docbook-reference'
+
+ reference {
+ sourceDir = file('src/reference/docbook')
+ }
+
+ // don't publish the default jar for the root project
+ configurations.archives.artifacts.clear()
+
+ task api(type: Javadoc) {
+ group = 'Documentation'
+ description = 'Generates aggregated Javadoc API documentation.'
+ title = "${rootProject.description} ${version} API"
+ options.memberLevel = org.gradle.external.javadoc.JavadocMemberLevel.PROTECTED
+ options.author = true
+ options.header = rootProject.description
+// options.overview = 'src/api/overview.html'
+ options.splitIndex = true
+ options.links(
+ 'http://docs.jboss.org/jbossas/javadoc/4.0.5/connector'
+ )
+ source subprojects.collect { project ->
+ project.sourceSets.main.allJava
+ }
+ destinationDir = new File(buildDir, "api")
+ classpath = files(subprojects.collect { project ->
+ project.sourceSets.main.compileClasspath
+ })
+ maxMemory = '1024m'
+ }
+
+ task docsZip(type: Zip) {
+ group = 'Distribution'
+ classifier = 'docs'
+ description = "Builds -${classifier} archive containing api and reference " +
+ "for deployment at static.springframework.org/spring-security-kerberos/docs."
+
+ from('src/dist') {
+ include 'changelog.txt'
+ }
+
+ from (api) {
+ into 'api'
+ }
+
+ from (reference) {
+ into 'reference'
+ }
+ }
+
+ task schemaZip(type: Zip) {
+ group = 'Distribution'
+ classifier = 'schema'
+ description = "Builds -${classifier} archive containing all " +
+ "XSDs for deployment at static.springframework.org/schema."
+
+ subprojects.each { subproject ->
+ def Properties schemas = new Properties();
+
+ subproject.sourceSets.main.resources.find {
+ it.path.endsWith('META-INF/spring.schemas')
+ }?.withInputStream { schemas.load(it) }
+
+ for (def key : schemas.keySet()) {
+ def shortName = key.replaceAll(/http.*schema.(.*).spring-.*/, '$1')
+ assert shortName != key
+ File xsdFile = subproject.sourceSets.main.resources.find {
+ it.path.endsWith(schemas.get(key))
+ }
+ assert xsdFile != null
+ into (shortName) {
+ from xsdFile.path
+ }
+ }
+ }
+ }
+
+ task distZip(type: Zip, dependsOn: [docsZip, schemaZip]) {
+ group = 'Distribution'
+ classifier = 'dist'
+ description = "Builds -${classifier} archive, containing all jars and docs, " +
+ "suitable for community download page."
+
+ ext.baseDir = "${project.name}-${project.version}";
+
+ from('src/dist') {
+ include 'readme.txt'
+ include 'license.txt'
+ include 'notice.txt'
+ into "${baseDir}"
+ expand(copyright: new Date().format('yyyy'), version: project.version)
+ }
+
+ from(zipTree(docsZip.archivePath)) {
+ into "${baseDir}/docs"
+ }
+
+ from(zipTree(schemaZip.archivePath)) {
+ into "${baseDir}/schema"
+ }
+
+ subprojects.each { subproject ->
+ into ("${baseDir}/libs") {
+ from subproject.jar
+ if (subproject.tasks.findByPath('sourcesJar')) {
+ from subproject.sourcesJar
+ }
+ if (subproject.tasks.findByPath('javadocJar')) {
+ from subproject.javadocJar
+ }
+ }
+ }
+ }
+
+ // Create an distribution that contains all dependencies (required and optional).
+ // Not published by default; only for use when building from source.
+ task depsZip(type: Zip, dependsOn: distZip) { zipTask ->
+ group = 'Distribution'
+ classifier = 'dist-with-deps'
+ description = "Builds -${classifier} archive, containing everything " +
+ "in the -${distZip.classifier} archive plus all runtime dependencies."
+
+ from zipTree(distZip.archivePath)
+
+ gradle.taskGraph.whenReady { taskGraph ->
+ if (taskGraph.hasTask(":${zipTask.name}")) {
+ def projectNames = rootProject.subprojects*.name
+ def artifacts = new HashSet()
+ subprojects.each { subproject ->
+ subproject.configurations.runtime.resolvedConfiguration.resolvedArtifacts.each { artifact ->
+ def dependency = artifact.moduleVersion.id
+ if (!projectNames.contains(dependency.name)) {
+ artifacts << artifact.file
+ }
+ }
+ }
+
+ zipTask.from(artifacts) {
+ into "${distZip.baseDir}/deps"
+ }
+ }
+ }
+ }
+
+ artifacts {
+ archives docsZip
+ archives schemaZip
+ archives distZip
+ }
+
+ task wrapper(type: Wrapper) {
+ description = 'Generates gradlew[.bat] scripts'
+ gradleVersion = '1.1'
+ }
+}
diff --git a/gradle.properties b/gradle.properties
new file mode 100644
index 0000000..096efb5
--- /dev/null
+++ b/gradle.properties
@@ -0,0 +1 @@
+version=1.0.0.CI-SNAPSHOT
\ No newline at end of file
diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar
new file mode 100644
index 0000000..7b359d7
Binary files /dev/null and b/gradle/wrapper/gradle-wrapper.jar differ
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
new file mode 100644
index 0000000..d62aea0
--- /dev/null
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -0,0 +1,6 @@
+#Mon Oct 22 11:35:04 CDT 2012
+distributionBase=GRADLE_USER_HOME
+distributionPath=wrapper/dists
+zipStoreBase=GRADLE_USER_HOME
+zipStorePath=wrapper/dists
+distributionUrl=http\://services.gradle.org/distributions/gradle-1.1-bin.zip
diff --git a/gradlew b/gradlew
new file mode 100755
index 0000000..3851082
--- /dev/null
+++ b/gradlew
@@ -0,0 +1,164 @@
+#!/usr/bin/env bash
+
+##############################################################################
+##
+## Gradle start up script for UN*X
+##
+##############################################################################
+
+# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+DEFAULT_JVM_OPTS=""
+
+APP_NAME="Gradle"
+APP_BASE_NAME=`basename "$0"`
+
+# Use the maximum available, or set MAX_FD != -1 to use that value.
+MAX_FD="maximum"
+
+warn ( ) {
+ echo "$*"
+}
+
+die ( ) {
+ echo
+ echo "$*"
+ echo
+ exit 1
+}
+
+# OS specific support (must be 'true' or 'false').
+cygwin=false
+msys=false
+darwin=false
+case "`uname`" in
+ CYGWIN* )
+ cygwin=true
+ ;;
+ Darwin* )
+ darwin=true
+ ;;
+ MINGW* )
+ msys=true
+ ;;
+esac
+
+# For Cygwin, ensure paths are in UNIX format before anything is touched.
+if $cygwin ; then
+ [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
+fi
+
+# Attempt to set APP_HOME
+# Resolve links: $0 may be a link
+PRG="$0"
+# Need this for relative symlinks.
+while [ -h "$PRG" ] ; do
+ ls=`ls -ld "$PRG"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ PRG="$link"
+ else
+ PRG=`dirname "$PRG"`"/$link"
+ fi
+done
+SAVED="`pwd`"
+cd "`dirname \"$PRG\"`/"
+APP_HOME="`pwd -P`"
+cd "$SAVED"
+
+CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
+
+# Determine the Java command to use to start the JVM.
+if [ -n "$JAVA_HOME" ] ; then
+ if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+ # IBM's JDK on AIX uses strange locations for the executables
+ JAVACMD="$JAVA_HOME/jre/sh/java"
+ else
+ JAVACMD="$JAVA_HOME/bin/java"
+ fi
+ if [ ! -x "$JAVACMD" ] ; then
+ die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+ fi
+else
+ JAVACMD="java"
+ which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+fi
+
+# Increase the maximum file descriptors if we can.
+if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
+ MAX_FD_LIMIT=`ulimit -H -n`
+ if [ $? -eq 0 ] ; then
+ if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
+ MAX_FD="$MAX_FD_LIMIT"
+ fi
+ ulimit -n $MAX_FD
+ if [ $? -ne 0 ] ; then
+ warn "Could not set maximum file descriptor limit: $MAX_FD"
+ fi
+ else
+ warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
+ fi
+fi
+
+# For Darwin, add options to specify how the application appears in the dock
+if $darwin; then
+ GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
+fi
+
+# For Cygwin, switch paths to Windows format before running java
+if $cygwin ; then
+ APP_HOME=`cygpath --path --mixed "$APP_HOME"`
+ CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
+
+ # We build the pattern for arguments to be converted via cygpath
+ ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
+ SEP=""
+ for dir in $ROOTDIRSRAW ; do
+ ROOTDIRS="$ROOTDIRS$SEP$dir"
+ SEP="|"
+ done
+ OURCYGPATTERN="(^($ROOTDIRS))"
+ # Add a user-defined pattern to the cygpath arguments
+ if [ "$GRADLE_CYGPATTERN" != "" ] ; then
+ OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
+ fi
+ # Now convert the arguments - kludge to limit ourselves to /bin/sh
+ i=0
+ for arg in "$@" ; do
+ CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
+ CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
+
+ if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
+ eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
+ else
+ eval `echo args$i`="\"$arg\""
+ fi
+ i=$((i+1))
+ done
+ case $i in
+ (0) set -- ;;
+ (1) set -- "$args0" ;;
+ (2) set -- "$args0" "$args1" ;;
+ (3) set -- "$args0" "$args1" "$args2" ;;
+ (4) set -- "$args0" "$args1" "$args2" "$args3" ;;
+ (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
+ (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
+ (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
+ (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
+ (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
+ esac
+fi
+
+# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
+function splitJvmOpts() {
+ JVM_OPTS=("$@")
+}
+eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
+JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
+
+exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"
diff --git a/gradlew.bat b/gradlew.bat
new file mode 100644
index 0000000..aec9973
--- /dev/null
+++ b/gradlew.bat
@@ -0,0 +1,90 @@
+@if "%DEBUG%" == "" @echo off
+@rem ##########################################################################
+@rem
+@rem Gradle startup script for Windows
+@rem
+@rem ##########################################################################
+
+@rem Set local scope for the variables with windows NT shell
+if "%OS%"=="Windows_NT" setlocal
+
+@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+set DEFAULT_JVM_OPTS=
+
+set DIRNAME=%~dp0
+if "%DIRNAME%" == "" set DIRNAME=.
+set APP_BASE_NAME=%~n0
+set APP_HOME=%DIRNAME%
+
+@rem Find java.exe
+if defined JAVA_HOME goto findJavaFromJavaHome
+
+set JAVA_EXE=java.exe
+%JAVA_EXE% -version >NUL 2>&1
+if "%ERRORLEVEL%" == "0" goto init
+
+echo.
+echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:findJavaFromJavaHome
+set JAVA_HOME=%JAVA_HOME:"=%
+set JAVA_EXE=%JAVA_HOME%/bin/java.exe
+
+if exist "%JAVA_EXE%" goto init
+
+echo.
+echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:init
+@rem Get command-line arguments, handling Windowz variants
+
+if not "%OS%" == "Windows_NT" goto win9xME_args
+if "%@eval[2+2]" == "4" goto 4NT_args
+
+:win9xME_args
+@rem Slurp the command line arguments.
+set CMD_LINE_ARGS=
+set _SKIP=2
+
+:win9xME_args_slurp
+if "x%~1" == "x" goto execute
+
+set CMD_LINE_ARGS=%*
+goto execute
+
+:4NT_args
+@rem Get arguments from the 4NT Shell from JP Software
+set CMD_LINE_ARGS=%$
+
+:execute
+@rem Setup the command line
+
+set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
+
+@rem Execute Gradle
+"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
+
+:end
+@rem End local scope for the variables with windows NT shell
+if "%ERRORLEVEL%"=="0" goto mainEnd
+
+:fail
+rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
+rem the _cmd.exe /c_ return code!
+if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
+exit /b 1
+
+:mainEnd
+if "%OS%"=="Windows_NT" endlocal
+
+:omega
diff --git a/pom.xml b/pom.xml
deleted file mode 100644
index 01a0b6c..0000000
--- a/pom.xml
+++ /dev/null
@@ -1,301 +0,0 @@
-
-
- 4.0.0
- org.springframework.security.extensions
- spring-security-kerberos-parent
- 1.0.0.CI-SNAPSHOT
- Spring Security Kerberos parent
- pom
-
- spring-security-kerberos-core
- spring-security-kerberos-sample
-
- Spring Security Kerberos
-
- SpringSource, Inc
- http://www.springsource.com/
-
- 2009
-
-
- The Apache Software License, Version 2.0
- http://www.apache.org/licenses/LICENSE-2.0.txt
- repo
-
-
-
- scm:svn:https://src.springframework.org/svn/se-security/trunk/spring-security-kerberos
- scm:svn:https://src.springframework.org/svn/se-security/trunk/spring-security-kerberos
- https://src.springframework.org/svn/se-security/trunk/spring-security-kerberos
-
-
- jira
- http://jira.springsource.org/browse/SES
-
-
-
- spring-milestone
- Spring Milestone Repository
- s3://maven.springframework.org/milestone
-
-
- spring-snapshot
- Spring Snapshot Repository
- s3://maven.springframework.org/snapshot
-
-
- local
- Local Site Directory
- file:///${user.dir}/site
-
-
-
-
-
- false
-
-
- true
-
- com.springsource.repository.maven.snapshot
- SpringSource Enterprise Bundle Maven Repository - SpringSource Snapshot Releases
- http://maven.springframework.org/snapshot
-
-
-
- true
-
-
- false
-
- com.springsource.repository.maven.milestone
- Spring Framework Maven Milestone Releases (Maven Central Format)
- http://maven.springframework.org/milestone
-
-
-
-
- com.springsource.repository.bundles.release
- SpringSource Enterprise Bundle Repository - SpringSource Bundle Releases
- http://repository.springsource.com/maven/bundles/release
-
-
- com.springsource.repository.bundles.external
- SpringSource Enterprise Bundle Repository - External Bundle Releases
- http://repository.springsource.com/maven/bundles/external
-
-
- com.springsource.repository.bundles.milestone
- SpringSource Enterprise Bundle Repository - External Bundle Milestones
- http://repository.springsource.com/maven/bundles/milestone
-
-
-
-
- Mike Wiesner
- mwiesner
-
- SpringSource
-
-
-
-
-
-
- org.springframework.build.aws
- org.springframework.build.aws.maven
- 3.0.0.RELEASE
-
-
-
-
-
- com.springsource.bundlor
- com.springsource.bundlor.maven
- 1.0.0.M5
-
-
- bundlor
- package
-
- transform
-
-
-
-
-
- org.apache.maven.plugins
- maven-assembly-plugin
- 2.2-beta-2
-
-
- create-project-bundle
- package
-
- single
-
-
-
- project
-
-
-
-
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-resources-plugin
- 2.3
-
- UTF-8
-
-
-
- org.apache.maven.plugins
- maven-surefire-plugin
- 2.4.2
-
-
- **/*Tests.class
-
-
- **/Abstract*
-
- once
-
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
- 2.0.2
-
- 1.6
- 1.6
-
-
-
- org.apache.maven.plugins
- maven-jar-plugin
- 2.1
-
-
-
- test-jar
-
- package
-
-
-
-
-
- org.apache.maven.plugins
- maven-war-plugin
- 2.0.2
-
-
-
- org.apache.maven.plugins
- maven-install-plugin
- 2.2
-
-
- org.apache.maven.plugins
- maven-deploy-plugin
- 2.3
-
-
-
- org.apache.maven.plugins
- maven-eclipse-plugin
- 2.9
-
- true
- 2.0
-
-
-
- org.apache.maven.plugins
- maven-idea-plugin
- 2.0
-
- true
-
-
- true
-
-
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-surefire-report-plugin
- 2.11
-
-
-
- org.codehaus.mojo
- cobertura-maven-plugin
- 2.2
-
-
- org.apache.maven.plugins
- maven-javadoc-plugin
- 2.5
-
- true
- true
-
- http://java.sun.com/javase/6/docs/api/
- http://static.springsource.org/spring-security/site/docs/3.0.x/apidocs/
- http://static.springsource.org/spring/docs/3.0.x/javadoc-api/
-
-
-
-
-
- javadoc
-
-
-
-
-
- org.codehaus.mojo
- taglist-maven-plugin
-
-
- org.apache.maven.plugins
- maven-project-info-reports-plugin
- 2.0.1
-
-
-
-
-
- UTF-8
- UTF-8
- 6.1.26
-
-
diff --git a/publish-maven.gradle b/publish-maven.gradle
new file mode 100644
index 0000000..8076d2c
--- /dev/null
+++ b/publish-maven.gradle
@@ -0,0 +1,60 @@
+apply plugin: 'maven'
+
+ext.optionalDeps = []
+ext.providedDeps = []
+
+ext.optional = { optionalDeps << it }
+ext.provided = { providedDeps << it }
+
+install {
+ repositories.mavenInstaller {
+ customizePom(pom, project)
+ }
+}
+
+def customizePom(pom, gradleProject) {
+ pom.whenConfigured { generatedPom ->
+ // respect 'optional' and 'provided' dependencies
+ gradleProject.optionalDeps.each { dep ->
+ generatedPom.dependencies.find { it.artifactId == dep.name }?.optional = true
+ }
+ gradleProject.providedDeps.each { dep ->
+ generatedPom.dependencies.find { it.artifactId == dep.name }?.scope = 'provided'
+ }
+
+ // eliminate test-scoped dependencies (no need in maven central poms)
+ generatedPom.dependencies.removeAll { dep ->
+ dep.scope == 'test'
+ }
+
+ // add all items necessary for maven central publication
+ generatedPom.project {
+ name = gradleProject.description
+ description = gradleProject.description
+ url = 'http://static.springsource.org/spring-security/site/extensions/krb/index.html'
+ organization {
+ name = 'SpringSource'
+ url = 'http://springsource.org/spring-security-kerberos'
+ }
+ licenses {
+ license {
+ name 'The Apache Software License, Version 2.0'
+ url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
+ distribution 'repo'
+ }
+ }
+ scm {
+ url = 'https://github.com/SpringSource/spring-security-kerberos'
+ connection = 'scm:git:git://github.com/SpringSource/spring-security-kerberos'
+ developerConnection = 'scm:git:git://github.com/SpringSource/spring-security-kerberos'
+ }
+ developers {
+ developer {
+ id = 'mwiesner'
+ name = 'Mike Wiesner'
+ email = 'mwiesner@vmware.com'
+ }
+ }
+ }
+ }
+}
diff --git a/settings.gradle b/settings.gradle
new file mode 100644
index 0000000..972f69d
--- /dev/null
+++ b/settings.gradle
@@ -0,0 +1,4 @@
+rootProject.name = 'spring-security-kerberos'
+
+include 'spring-security-kerberos-core'
+include 'spring-security-kerberos-sample'
\ No newline at end of file
diff --git a/spring-security-kerberos-core/pom.xml b/spring-security-kerberos-core/pom.xml
deleted file mode 100644
index 4c4e0d4..0000000
--- a/spring-security-kerberos-core/pom.xml
+++ /dev/null
@@ -1,71 +0,0 @@
-
-
- 4.0.0
-
- org.springframework.security.extensions
- spring-security-kerberos-parent
- 1.0.0.CI-SNAPSHOT
-
- org.springframework.security.extensions
- spring-security-kerberos-core
- 1.0.0.CI-SNAPSHOT
- Spring Security Kerberos Core
- jar
- Spring Security Kerberos Core
-
-
- Mike Wiesner
- mwiesner
-
- SpringSource
-
-
-
-
-
-
- maven-assembly-plugin
-
-
-
-
-
- junit
- junit
- 4.10
- test
-
-
- org.mockito
- mockito-core
- 1.9.0
- test
-
-
- org.springframework.security
- spring-security-core
- ${spring.security.version}
-
-
- org.springframework.security
- spring-security-web
- ${spring.security.version}
-
-
- javax.servlet
- servlet-api
- 2.5
- provided
-
-
- commons-logging
- commons-logging
- 1.1.1
- true
-
-
-
- 3.0.7.RELEASE
- 3.1.2.RELEASE
-
-
diff --git a/spring-security-kerberos-sample/pom.xml b/spring-security-kerberos-sample/pom.xml
deleted file mode 100644
index 5585f6f..0000000
--- a/spring-security-kerberos-sample/pom.xml
+++ /dev/null
@@ -1,71 +0,0 @@
-
-
- 4.0.0
-
- org.springframework.security.extensions
- spring-security-kerberos-parent
- 1.0.0.CI-SNAPSHOT
-
- org.springframework.security.extensions
- spring-security-kerberos-sample
- 1.0.0.CI-SNAPSHOT
- Spring Security Kerberos Sample
- war
- Spring Security Kerberos Sample
-
-
- junit
- junit
- 4.7
- test
-
-
- javax.servlet
- servlet-api
- 2.5
- provided
-
-
- org.springframework.security.extensions
- spring-security-kerberos-core
- 1.0.0.CI-SNAPSHOT
-
-
- org.springframework.security
- spring-security-config
- 3.0.5.RELEASE
-
-
- log4j
- log4j
- 1.2.14
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-war-plugin
-
-
- org.codehaus.mojo
- tomcat-maven-plugin
-
-
- org.mortbay.jetty
- maven-jetty-plugin
- 6.1.22
-
- /krb-sample
-
-
-
-
-
-
- maven-assembly-plugin
-
-
-
-
diff --git a/src/reference/docbook/index.xml b/src/reference/docbook/index.xml
new file mode 100644
index 0000000..6263bd3
--- /dev/null
+++ b/src/reference/docbook/index.xml
@@ -0,0 +1,74 @@
+
+
+
+ Spring Security Kerberos Reference Manual
+
+ Spring Framework
+
+ ${version}
+
+
+
+
+
+
+
+
+
+ Mike
+ Wiesner
+
+
+
+
+ 2004-2012
+
+ Mike Wiesner
+
+
+
+ Copies of this document may be made for your own use and for
+ distribution to others, provided that you do not charge any fee for such
+ copies and further provided that each copy contains this Copyright
+ Notice, whether distributed in print or electronically.
+
+
+
+
+
+
+
+
+ Overview of Spring Security Kerberos
+
+
+ The Kerberos Extension was created by Mike Wiesner. For additional information refer to the links below.
+
+
+
+ The second milestone of the extension is now available.
+ You'll find more detailed information in Mike Wiesner's
+ blog article
+
+
+
+ For
+ updated samples refer to the
+ spring-security-kerberos-sample.
+
+
+
+ The JavaDoc is available online Here
+
+
+
+ Documentation coming soon
+
+
+
+
+