You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
165 lines
6.9 KiB
165 lines
6.9 KiB
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile |
|
|
|
apply plugin: 'io.spring.convention.spring-module' |
|
apply plugin: 'trang' |
|
apply plugin: 'kotlin' |
|
|
|
repositories { |
|
maven { url "https://build.shibboleth.net/nexus/content/repositories/releases/" } |
|
} |
|
|
|
dependencies { |
|
management platform(project(":spring-security-dependencies")) |
|
// NB: Don't add other compile time dependencies to the config module as this breaks tooling |
|
api project(':spring-security-core') |
|
api 'org.springframework:spring-aop' |
|
api 'org.springframework:spring-beans' |
|
api 'org.springframework:spring-context' |
|
api 'org.springframework:spring-core' |
|
|
|
optional project(':spring-security-ldap') |
|
optional project(':spring-security-messaging') |
|
optional project(':spring-security-saml2-service-provider') |
|
optional project(':spring-security-oauth2-client') |
|
optional project(':spring-security-oauth2-jose') |
|
optional project(':spring-security-oauth2-resource-server') |
|
optional project(':spring-security-openid') |
|
optional project(':spring-security-rsocket') |
|
optional project(':spring-security-web') |
|
optional 'io.projectreactor:reactor-core' |
|
optional 'org.aspectj:aspectjweaver' |
|
optional 'org.springframework:spring-jdbc' |
|
optional 'org.springframework:spring-messaging' |
|
optional 'org.springframework:spring-tx' |
|
optional 'org.springframework:spring-webmvc' |
|
optional'org.springframework:spring-web' |
|
optional'org.springframework:spring-webflux' |
|
optional'org.springframework:spring-websocket' |
|
optional 'org.jetbrains.kotlin:kotlin-reflect' |
|
optional 'org.jetbrains.kotlin:kotlin-stdlib-jdk8' |
|
optional 'jakarta.annotation:jakarta.annotation-api' |
|
|
|
provided 'jakarta.servlet:jakarta.servlet-api' |
|
|
|
testImplementation project(':spring-security-aspects') |
|
testImplementation project(':spring-security-cas') |
|
testImplementation project(':spring-security-test') |
|
testImplementation project(path : ':spring-security-core', configuration : 'tests') |
|
testImplementation project(path : ':spring-security-ldap', configuration : 'tests') |
|
testImplementation project(path : ':spring-security-oauth2-client', configuration : 'tests') |
|
testImplementation project(path : ':spring-security-oauth2-resource-server', configuration : 'tests') |
|
testImplementation project(path : ':spring-security-saml2-service-provider', configuration : 'tests') |
|
testImplementation project(path : ':spring-security-saml2-service-provider', configuration : 'opensaml4MainImplementation') |
|
testImplementation project(path : ':spring-security-web', configuration : 'tests') |
|
testImplementation "org.assertj:assertj-core" |
|
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" |
|
testImplementation 'com.squareup.okhttp3:mockwebserver' |
|
testImplementation 'ch.qos.logback:logback-classic' |
|
testImplementation 'io.projectreactor.netty:reactor-netty' |
|
testImplementation 'io.rsocket:rsocket-transport-netty' |
|
testImplementation 'jakarta.annotation:jakarta.annotation-api:1.0' |
|
testImplementation "jakarta.inject:jakarta.inject-api" |
|
testImplementation "jakarta.transaction:jakarta.transaction-api" |
|
testImplementation 'jakarta.xml.bind:jakarta.xml.bind-api' |
|
testImplementation 'ldapsdk:ldapsdk:4.1' |
|
testImplementation('net.sourceforge.htmlunit:htmlunit') { |
|
exclude group: 'commons-logging', module: 'commons-logging' |
|
} |
|
testImplementation "org.apache.directory.server:apacheds-core" |
|
testImplementation "org.apache.directory.server:apacheds-core-entry" |
|
testImplementation "org.apache.directory.server:apacheds-protocol-shared" |
|
testImplementation "org.apache.directory.server:apacheds-protocol-ldap" |
|
testImplementation "org.apache.directory.server:apacheds-server-jndi" |
|
testImplementation 'org.apache.directory.shared:shared-ldap' |
|
testImplementation "com.unboundid:unboundid-ldapsdk" |
|
testImplementation 'org.eclipse.persistence:javax.persistence' |
|
testImplementation('org.hibernate:hibernate-entitymanager') { |
|
exclude group: 'javax.activation', module: 'javax.activation-api' |
|
exclude group: 'javax.persistence', module: 'javax.persistence-api' |
|
exclude group: 'javax.xml.bind', module: 'jaxb-api' |
|
exclude group: 'org.jboss.spec.javax.transaction', module: 'jboss-transaction-api_1.2_spec' |
|
} |
|
testImplementation 'org.hsqldb:hsqldb' |
|
testImplementation 'org.mockito:mockito-core' |
|
testImplementation "org.mockito:mockito-inline" |
|
testImplementation ('org.openid4java:openid4java-nodeps') { |
|
exclude group: 'com.google.code.guice', module: 'guice' |
|
exclude group: 'commons-logging', module: 'commons-logging' |
|
} |
|
testImplementation('org.seleniumhq.selenium:htmlunit-driver') { |
|
exclude group: 'commons-logging', module: 'commons-logging' |
|
} |
|
testImplementation('org.seleniumhq.selenium:selenium-java') { |
|
exclude group: 'commons-logging', module: 'commons-logging' |
|
exclude group: 'io.netty', module: 'netty' |
|
} |
|
testImplementation 'org.springframework.ldap:spring-ldap-core' |
|
testImplementation 'org.springframework:spring-expression' |
|
testImplementation 'org.springframework:spring-jdbc' |
|
testImplementation 'org.springframework:spring-orm' |
|
testImplementation 'org.springframework:spring-tx' |
|
testImplementation ('org.springframework.data:spring-data-jpa') { |
|
exclude group: 'org.aspectj', module: 'aspectjrt' |
|
} |
|
testImplementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core' |
|
testImplementation 'org.jetbrains.kotlinx:kotlinx-coroutines-reactor' |
|
testImplementation 'io.mockk:mockk' |
|
|
|
testRuntimeOnly 'org.hsqldb:hsqldb' |
|
} |
|
|
|
rncToXsd { |
|
rncDir = file('src/main/resources/org/springframework/security/config/') |
|
xsdDir = rncDir |
|
xslFile = new File(rncDir, 'spring-security.xsl') |
|
} |
|
|
|
tasks.withType(KotlinCompile).configureEach { |
|
kotlinOptions { |
|
languageVersion = "1.3" |
|
apiVersion = "1.3" |
|
freeCompilerArgs = ["-Xjsr305=strict", "-Xsuppress-version-warnings"] |
|
jvmTarget = "1.8" |
|
} |
|
} |
|
|
|
build.dependsOn rncToXsd |
|
|
|
compileTestJava { |
|
exclude "org/springframework/security/config/annotation/web/configurers/saml2/**", "org/springframework/security/config/http/Saml2*" |
|
} |
|
|
|
task compileSaml2TestJava(type: JavaCompile) { |
|
javaCompiler = javaToolchains.compilerFor { |
|
languageVersion = JavaLanguageVersion.of(11) |
|
} |
|
source = sourceSets.test.java.srcDirs |
|
include "org/springframework/security/config/annotation/web/configurers/saml2/**", "org/springframework/security/config/http/Saml2*" |
|
classpath = sourceSets.test.compileClasspath |
|
destinationDirectory = new File("${buildDir}/classes/java/test") |
|
options.sourcepath = sourceSets.test.java.getSourceDirectories() |
|
} |
|
|
|
task saml2Tests(type: Test) { |
|
javaLauncher = javaToolchains.launcherFor { |
|
languageVersion = JavaLanguageVersion.of(11) |
|
} |
|
filter { |
|
includeTestsMatching "org.springframework.security.config.annotation.web.configurers.saml2.*" |
|
} |
|
useJUnitPlatform() |
|
dependsOn compileSaml2TestJava |
|
} |
|
|
|
test { |
|
shouldRunAfter saml2Tests |
|
} |
|
|
|
tasks.named('check') { |
|
dependsOn saml2Tests |
|
}
|
|
|