| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 | import java.util.concurrent.Callableplugins {	id 'security-nullability'}apply plugin: 'io.spring.convention.spring-module'apply plugin: 'security-kotlin'dependencies {	management platform(project(":spring-security-dependencies"))	api project(':spring-security-crypto')	api 'org.springframework:spring-aop'	api 'org.springframework:spring-beans'	api 'org.springframework:spring-context'	api 'org.springframework:spring-core'	api 'org.springframework:spring-expression'	api 'io.micrometer:micrometer-observation'	optional 'com.fasterxml.jackson.core:jackson-databind'	optional 'io.micrometer:context-propagation'	optional 'io.projectreactor:reactor-core'	optional 'jakarta.annotation:jakarta.annotation-api'	optional 'org.aspectj:aspectjrt'	optional 'org.springframework:spring-jdbc'	optional 'org.springframework:spring-tx'	optional 'org.jetbrains.kotlinx:kotlinx-coroutines-reactor'	optional 'tools.jackson.core:jackson-databind'	testImplementation 'commons-collections:commons-collections'	testImplementation 'com.fasterxml.jackson.datatype:jackson-datatype-jsr310'	testImplementation 'io.projectreactor:reactor-test'	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-core-test"	testImplementation "org.springframework:spring-test"	testImplementation 'org.skyscreamer:jsonassert'	testImplementation 'org.springframework:spring-test'	testImplementation 'org.jetbrains.kotlin:kotlin-reflect'	testImplementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk8'	testImplementation 'io.mockk:mockk'	testRuntimeOnly 'org.hsqldb:hsqldb'	testRuntimeOnly 'org.junit.platform:junit-platform-launcher'}task springVersion(type: org.gradle.api.tasks.WriteProperties) {	destinationFile = file("${buildDir}/versions/spring-security.versions")	property("org.springframework:spring-core", springVersion())}tasks.processResources {	into('META-INF') {		from project.tasks.springVersion.outputs	}}configure(project.tasks.withType(Test)) {	doFirst {		systemProperties['springSecurityVersion'] = version		systemProperties['springVersion'] = springVersion().call()	}}Callable<String> springVersion() {	return  (Callable<String>) { project.configurations.compileClasspath.resolvedConfiguration.resolvedArtifacts    .find { it.name == 'spring-core' }.moduleVersion.id.version }}
 |