spring-security/saml2/saml2-service-provider/spring-security-saml2-servi...

160 lines
4.9 KiB
Groovy

apply plugin: 'io.spring.convention.spring-module'
configurations {
opensamlFiveMain { extendsFrom(optional, provided) }
opensamlFiveTest { extendsFrom(opensamlFiveMain, testImplementation) }
}
sourceSets {
opensaml4Main {
java {
compileClasspath += main.output
srcDir 'src/opensaml4Main/java'
}
}
opensaml5Main {
java {
compileClasspath = main.output + configurations.opensamlFiveMain
srcDir 'src/opensaml5Main/java'
}
}
opensaml4Test {
java {
compileClasspath += main.output + test.output + opensaml4Main.output + test.compileClasspath
runtimeClasspath += main.output + test.output + opensaml4Main.output + test.runtimeClasspath
srcDir 'src/opensaml4Test/java'
}
}
opensaml5Test {
java {
compileClasspath = main.output + test.output + opensaml5Main.output + configurations.opensamlFiveTest
runtimeClasspath = main.output + test.output + opensaml5Main.output + configurations.opensamlFiveTest
srcDir 'src/opensaml5Test/java'
}
}
}
sourceSets.configureEach { set ->
if (!set.name.containsIgnoreCase("main")) {
return
}
def from = copySpec {
from("$projectDir/src/$set.name/java/org/springframework/security/saml2/internal")
}
copy {
into "$projectDir/src/$set.name/java/org/springframework/security/saml2/provider/service/authentication/logout"
filter { line -> line.replaceAll(".saml2.internal", ".saml2.provider.service.authentication.logout") }
with from
}
copy {
into "$projectDir/src/$set.name/java/org/springframework/security/saml2/provider/service/authentication"
filter { line -> line.replaceAll(".saml2.internal", ".saml2.provider.service.authentication") }
with from
}
copy {
into "$projectDir/src/$set.name/java/org/springframework/security/saml2/provider/service/metadata"
filter { line -> line.replaceAll(".saml2.internal", ".saml2.provider.service.metadata") }
with from
}
copy {
into "$projectDir/src/$set.name/java/org/springframework/security/saml2/provider/service/web/authentication/logout"
filter { line -> line.replaceAll(".saml2.internal", ".saml2.provider.service.web.authentication.logout") }
with from
}
copy {
into "$projectDir/src/$set.name/java/org/springframework/security/saml2/provider/service/web/authentication"
filter { line -> line.replaceAll(".saml2.internal", ".saml2.provider.service.web.authentication") }
with from
}
copy {
into "$projectDir/src/$set.name/java/org/springframework/security/saml2/provider/service/web"
filter { line -> line.replaceAll(".saml2.internal", ".saml2.provider.service.web") }
with from
}
copy {
into "$projectDir/src/$set.name/java/org/springframework/security/saml2/provider/service/registration"
filter { line -> line.replaceAll(".saml2.internal", ".saml2.provider.service.registration") }
with from
}
}
dependencies {
management platform(project(":spring-security-dependencies"))
api project(':spring-security-web')
api ('org.opensaml:opensaml-saml-api') {
exclude group: 'commons-logging', module: 'commons-logging'
}
api ('org.opensaml:opensaml-saml-impl') {
exclude group: 'commons-logging', module: 'commons-logging'
}
opensamlFiveMain (libs.org.opensaml.opensaml5.saml.api) {
exclude group: 'commons-logging', module: 'commons-logging'
}
opensamlFiveMain (libs.org.opensaml.opensaml5.saml.impl) {
exclude group: 'commons-logging', module: 'commons-logging'
}
provided 'jakarta.servlet:jakarta.servlet-api'
optional 'com.fasterxml.jackson.core:jackson-databind'
testImplementation 'com.squareup.okhttp3:mockwebserver'
testImplementation "org.assertj:assertj-core"
testImplementation "org.skyscreamer:jsonassert"
testImplementation "org.junit.jupiter:junit-jupiter-api"
testImplementation "org.junit.jupiter:junit-jupiter-params"
testImplementation "org.junit.jupiter:junit-jupiter-engine"
testImplementation "org.mockito:mockito-core"
testImplementation "org.mockito:mockito-junit-jupiter"
testImplementation "org.springframework:spring-test"
}
jar {
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
from sourceSets.opensaml4Main.output
from sourceSets.opensaml5Main.output
}
sourcesJar {
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
from sourceSets.opensaml4Main.allJava
from sourceSets.opensaml5Main.allJava
}
testJar {
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
from sourceSets.opensaml4Test.output
from sourceSets.opensaml5Test.output
}
javadoc {
classpath += configurations.opensamlFiveMain
source = sourceSets.main.allJava + sourceSets.opensaml4Main.allJava + sourceSets.opensaml5Main.allJava
}
tasks.register("opensaml4Test", Test) {
useJUnitPlatform()
testClassesDirs = sourceSets.opensaml4Test.output.classesDirs
classpath = sourceSets.opensaml4Test.runtimeClasspath
}
tasks.register("opensaml5Test", Test) {
useJUnitPlatform()
testClassesDirs = sourceSets.opensaml5Test.output.classesDirs
classpath = sourceSets.opensaml5Test.output + sourceSets.opensaml5Test.runtimeClasspath
}
tasks.named("test") {
dependsOn opensaml4Test
dependsOn opensaml5Test
}