spring-security/core/spring-security-core.gradle

67 lines
2.0 KiB
Groovy

import java.util.concurrent.Callable
apply plugin: 'io.spring.convention.spring-module'
def includeProject = project(':spring-security-crypto')
configurations {
included
api.extendsFrom included
}
dependencies {
management platform(project(":spring-security-dependencies"))
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'
included includeProject
optional 'com.fasterxml.jackson.core:jackson-databind'
optional 'io.projectreactor:reactor-core'
optional 'javax.annotation:jsr250-api'
optional 'net.sf.ehcache:ehcache'
optional 'org.aspectj:aspectjrt'
optional 'org.springframework:spring-jdbc'
optional 'org.springframework:spring-tx'
optional 'org.jetbrains.kotlinx:kotlinx-coroutines-reactor'
testImplementation powerMock2Dependencies
testImplementation 'commons-collections:commons-collections'
testImplementation 'io.projectreactor:reactor-test'
testImplementation 'org.skyscreamer:jsonassert'
testImplementation 'org.slf4j:jcl-over-slf4j'
testImplementation 'org.springframework:spring-test'
testRuntimeOnly 'org.hsqldb:hsqldb'
}
task springVersion(type: org.gradle.api.tasks.WriteProperties) {
outputFile = file("${buildDir}/versions/spring-security.versions")
property("org.springframework:spring-core", springVersion())
}
tasks.processResources {
into('META-INF') {
from project.tasks.springVersion.outputs
}
}
tasks.jar.from { includeProject.sourceSets.main.output }
tasks.sourcesJar.from {includeProject.sourceSets.main.java}
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 }
}