apply plugin: 'io.spring.convention.spring-module' apply plugin: 'nebula.facet' facets { opensaml3Main { parentSourceSet = 'main' } opensaml4Main { parentSourceSet = 'main' } opensaml3Test { parentSourceSet = 'opensaml3Main' } opensaml4Test { parentSourceSet = 'opensaml4Main' } } sourceSets { opensaml3Test { compileClasspath += sourceSets.test.output runtimeClasspath += sourceSets.test.output } opensaml4Test { compileClasspath += sourceSets.test.output runtimeClasspath += sourceSets.test.output } } configurations { opensaml3TestImplementation.extendsFrom testImplementation opensaml4TestImplementation.extendsFrom testImplementation opensaml4MainImplementation { canBeConsumed = true } } compileOpensaml4MainJava { javaCompiler = javaToolchains.compilerFor { languageVersion = JavaLanguageVersion.of(11) } sourceCompatibility = '11' targetCompatibility = '11' } compileOpensaml4TestJava { javaCompiler = javaToolchains.compilerFor { languageVersion = JavaLanguageVersion.of(11) } } dependencies { management platform(project(":spring-security-dependencies")) api project(':spring-security-web') api "org.opensaml:opensaml-core" api "org.opensaml:opensaml-saml-api" api "org.opensaml:opensaml-saml-impl" opensaml4MainImplementation "org.opensaml:opensaml-core:4.1.0" opensaml4MainImplementation "org.opensaml:opensaml-saml-api:4.1.0" opensaml4MainImplementation "org.opensaml:opensaml-saml-impl:4.1.0" 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-inline" testImplementation "org.mockito:mockito-junit-jupiter" testImplementation "org.springframework:spring-test" } project.tasks.matching { t -> t.name == "jar"}.configureEach { duplicatesStrategy = DuplicatesStrategy.EXCLUDE from { compileOpensaml3MainJava } from { compileOpensaml4MainJava } } project.tasks.matching { t -> t.name == "sourcesJar"}.configureEach { from { sourceSets.opensaml3Main.allSource } from { sourceSets.opensaml4Main.allSource } } javadoc { source += sourceSets.opensaml3Main.allJava + sourceSets.opensaml4Main.allJava } opensaml3Test { useJUnitPlatform() } opensaml4Test { useJUnitPlatform() }