spring-security/saml2/saml2-service-provider/spring-security-saml2-service-provider.gradle
2024-08-06 18:14:11 -06:00

130 lines
3.8 KiB
Groovy

apply plugin: 'io.spring.convention.spring-module'
configurations {
opensaml4Main { extendsFrom(optional, provided) }
opensaml4Test { extendsFrom(opensaml4Main, tests) }
}
sourceSets {
opensaml4Main {
java {
compileClasspath += main.output + configurations.opensaml4Main
srcDir 'src/opensaml4Main/java'
}
}
opensaml4Test {
java {
compileClasspath += main.output + test.output + opensaml4Main.output + configurations.opensaml4Test
srcDir 'src/opensaml4Test/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-core"
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'
}
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
}
sourcesJar {
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
from sourceSets.opensaml4Main.allJava
}
testJar {
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
from sourceSets.opensaml4Test.output
}
javadoc {
classpath += sourceSets.opensaml4Main.runtimeClasspath
source += sourceSets.opensaml4Main.allJava
}
tasks.register("opensaml4Test", Test) {
useJUnitPlatform()
classpath += sourceSets.opensaml4Test.output
}
tasks.named("test") {
dependsOn opensaml4Test
}