spring-security-core.gradle 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. import java.util.concurrent.Callable
  2. apply plugin: 'io.spring.convention.spring-module'
  3. def includeProject = project(':spring-security-crypto')
  4. configurations {
  5. included {
  6. visible = false
  7. transitive = false
  8. }
  9. compileClasspath.extendsFrom included
  10. testCompileClasspath.extendsFrom included
  11. testRuntimeClasspath.extendsFrom included
  12. }
  13. dependencies {
  14. management platform(project(":spring-security-dependencies"))
  15. api 'org.springframework:spring-aop'
  16. api 'org.springframework:spring-beans'
  17. api 'org.springframework:spring-context'
  18. api 'org.springframework:spring-core'
  19. api 'org.springframework:spring-expression'
  20. included includeProject
  21. optional 'com.fasterxml.jackson.core:jackson-databind'
  22. optional 'io.projectreactor:reactor-core'
  23. optional 'javax.annotation:jsr250-api'
  24. optional 'net.sf.ehcache:ehcache'
  25. optional 'org.aspectj:aspectjrt'
  26. optional 'org.springframework:spring-jdbc'
  27. optional 'org.springframework:spring-tx'
  28. optional 'org.jetbrains.kotlinx:kotlinx-coroutines-reactor'
  29. testImplementation powerMock2Dependencies
  30. testImplementation 'commons-collections:commons-collections'
  31. testImplementation 'io.projectreactor:reactor-test'
  32. testImplementation 'org.skyscreamer:jsonassert'
  33. testImplementation 'org.slf4j:jcl-over-slf4j'
  34. testImplementation 'org.springframework:spring-test'
  35. testRuntimeOnly 'org.hsqldb:hsqldb'
  36. }
  37. task springVersion(type: org.gradle.api.tasks.WriteProperties) {
  38. outputFile = file("${buildDir}/versions/spring-security.versions")
  39. property("org.springframework:spring-core", springVersion())
  40. }
  41. tasks.processResources {
  42. into('META-INF') {
  43. from project.tasks.springVersion.outputs
  44. }
  45. }
  46. tasks.jar.from { includeProject.sourceSets.main.output }
  47. project.tasks.matching { t -> t.name == "sourcesJar"}.configureEach {
  48. from {includeProject.sourceSets.main.java }
  49. }
  50. configure(project.tasks.withType(Test)) {
  51. doFirst {
  52. systemProperties['springSecurityVersion'] = version
  53. systemProperties['springVersion'] = springVersion().call()
  54. }
  55. }
  56. Callable<String> springVersion() {
  57. return (Callable<String>) { project.configurations.compileClasspath.resolvedConfiguration.resolvedArtifacts
  58. .find { it.name == 'spring-core' }.moduleVersion.id.version }
  59. }