1
0
mirror of synced 2026-05-22 21:33:16 +00:00
Files
spring-security/config/spring-security-config.gradle
T

178 lines
7.4 KiB
Groovy
Raw Normal View History

2020-04-07 10:49:38 -04:00
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
2023-09-14 16:01:50 -05:00
import org.springframework.gradle.xsd.CreateVersionlessXsdTask
2023-08-17 15:45:45 +01:00
import trang.RncToXsd
2020-04-07 10:49:38 -04:00
2017-03-28 15:45:30 -05:00
apply plugin: 'io.spring.convention.spring-module'
apply plugin: 'trang'
apply plugin: 'kotlin'
2017-03-28 15:45:30 -05:00
dependencies {
2021-10-05 11:23:29 -03:00
management platform(project(":spring-security-dependencies"))
2017-03-28 15:45:30 -05:00
// NB: Don't add other compile time dependencies to the config module as this breaks tooling
2021-04-04 07:31:47 -05:00
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'
2017-03-28 15:45:30 -05:00
optional project(':spring-security-ldap')
optional project(':spring-security-messaging')
2021-05-17 15:51:12 -05:00
optional project(':spring-security-saml2-service-provider')
2017-03-20 16:18:08 -04:00
optional project(':spring-security-oauth2-client')
optional project(':spring-security-oauth2-jose')
2018-06-12 21:33:26 -06:00
optional project(':spring-security-oauth2-resource-server')
2017-03-28 15:45:30 -05:00
optional project(':spring-security-openid')
2019-09-04 19:16:56 -05:00
optional project(':spring-security-rsocket')
2017-03-28 15:45:30 -05:00
optional project(':spring-security-web')
optional 'io.projectreactor:reactor-core'
2017-03-28 15:45:30 -05:00
optional 'org.aspectj:aspectjweaver'
optional 'org.springframework:spring-jdbc'
2019-09-04 19:16:56 -05:00
optional 'org.springframework:spring-messaging'
2017-03-28 15:45:30 -05:00
optional 'org.springframework:spring-tx'
optional 'org.springframework:spring-webmvc'
optional'org.springframework:spring-web'
optional'org.springframework:spring-webflux'
2017-03-28 15:45:30 -05:00
optional'org.springframework:spring-websocket'
optional 'org.jetbrains.kotlin:kotlin-reflect'
optional 'org.jetbrains.kotlin:kotlin-stdlib-jdk8'
2022-01-19 13:57:06 -06:00
optional 'jakarta.annotation:jakarta.annotation-api'
2017-03-28 15:45:30 -05:00
provided 'jakarta.servlet:jakarta.servlet-api'
2017-03-28 15:45:30 -05:00
2021-04-04 07:31:47 -05:00
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')
2021-05-17 15:51:12 -05:00
testImplementation project(path : ':spring-security-saml2-service-provider', configuration : 'tests')
2021-10-01 14:50:39 -03:00
testImplementation project(path : ':spring-security-saml2-service-provider', configuration : 'opensaml4MainImplementation')
2021-04-04 07:31:47 -05:00
testImplementation project(path : ':spring-security-web', configuration : 'tests')
2021-07-12 13:06:44 -05:00
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"
2021-04-04 07:31:47 -05:00
testImplementation 'com.squareup.okhttp3:mockwebserver'
testImplementation 'ch.qos.logback:logback-classic'
testImplementation 'io.projectreactor.netty:reactor-netty'
testImplementation 'io.rsocket:rsocket-transport-netty'
2022-01-19 13:57:06 -06:00
testImplementation 'jakarta.annotation:jakarta.annotation-api:1.0'
2022-01-19 10:42:51 -06:00
testImplementation "jakarta.inject:jakarta.inject-api"
2022-01-19 10:43:30 -06:00
testImplementation "jakarta.transaction:jakarta.transaction-api"
testImplementation 'jakarta.xml.bind:jakarta.xml.bind-api'
2021-04-04 07:31:47 -05:00
testImplementation 'ldapsdk:ldapsdk:4.1'
testImplementation('net.sourceforge.htmlunit:htmlunit') {
2017-09-08 15:45:17 -05:00
exclude group: 'commons-logging', module: 'commons-logging'
}
2021-07-12 13:06:44 -05:00
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'
2021-10-04 15:21:34 +02:00
testImplementation "com.unboundid:unboundid-ldapsdk"
2021-04-04 07:31:47 -05:00
testImplementation 'org.eclipse.persistence:javax.persistence'
2022-01-19 10:43:30 -06:00
testImplementation('org.hibernate:hibernate-entitymanager') {
2022-01-19 10:43:59 -06:00
exclude group: 'javax.activation', module: 'javax.activation-api'
exclude group: 'javax.persistence', module: 'javax.persistence-api'
exclude group: 'javax.xml.bind', module: 'jaxb-api'
2022-01-19 10:43:30 -06:00
exclude group: 'org.jboss.spec.javax.transaction', module: 'jboss-transaction-api_1.2_spec'
}
2021-04-04 07:31:47 -05:00
testImplementation 'org.hsqldb:hsqldb'
2021-07-07 09:11:53 -05:00
testImplementation 'org.mockito:mockito-core'
testImplementation "org.mockito:mockito-inline"
2021-04-04 07:31:47 -05:00
testImplementation ('org.openid4java:openid4java-nodeps') {
2017-03-28 15:45:30 -05:00
exclude group: 'com.google.code.guice', module: 'guice'
2022-01-14 16:35:12 -06:00
exclude group: 'commons-logging', module: 'commons-logging'
2017-03-28 15:45:30 -05:00
}
2021-04-04 07:31:47 -05:00
testImplementation('org.seleniumhq.selenium:htmlunit-driver') {
2017-09-08 15:45:17 -05:00
exclude group: 'commons-logging', module: 'commons-logging'
}
2021-04-04 07:31:47 -05:00
testImplementation('org.seleniumhq.selenium:selenium-java') {
2017-09-08 15:45:17 -05:00
exclude group: 'commons-logging', module: 'commons-logging'
exclude group: 'io.netty', module: 'netty'
}
2021-04-04 07:31:47 -05:00
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') {
2017-03-28 15:45:30 -05:00
exclude group: 'org.aspectj', module: 'aspectjrt'
}
2021-04-09 13:11:18 +02:00
testImplementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core'
testImplementation 'org.jetbrains.kotlinx:kotlinx-coroutines-reactor'
2021-04-28 12:33:18 +02:00
testImplementation 'io.mockk:mockk'
2017-03-28 15:45:30 -05:00
2021-04-04 07:31:47 -05:00
testRuntimeOnly 'org.hsqldb:hsqldb'
2017-03-28 15:45:30 -05:00
}
2023-09-14 16:01:50 -05:00
def versionlessXsd = project.tasks.create("versionlessXsd", CreateVersionlessXsdTask) {
inputFiles.from(project.sourceSets.main.resources)
versionlessXsdFile = project.layout.buildDirectory.file("versionlessXsd/spring-security.xsd")
}
2023-09-18 14:07:24 -05:00
def rncToXsd = tasks.named('rncToXsd', RncToXsd)
rncToXsd.configure {
2017-03-28 15:45:30 -05:00
rncDir = file('src/main/resources/org/springframework/security/config/')
xsdDir = rncDir
xslFile = new File(rncDir, 'spring-security.xsl')
}
2023-09-18 14:07:24 -05:00
tasks.named('processResources', ProcessResources).configure {
from(versionlessXsd) {
into 'org/springframework/security/config/'
}
from(rncToXsd) {
duplicatesStrategy DuplicatesStrategy.EXCLUDE
into 'org/springframework/security/config/'
}
2023-08-18 16:26:17 +01:00
}
2020-04-07 10:49:38 -04:00
tasks.withType(KotlinCompile).configureEach {
kotlinOptions {
2021-05-18 15:13:13 +02:00
languageVersion = "1.3"
apiVersion = "1.3"
2021-05-17 10:08:27 -05:00
freeCompilerArgs = ["-Xjsr305=strict", "-Xsuppress-version-warnings"]
2020-04-07 10:49:38 -04:00
jvmTarget = "1.8"
}
}
2022-02-03 10:00:55 -03:00
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
2022-02-03 10:00:55 -03:00
}