build.gradle 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. apply plugin: 'base'
  2. description = 'Spring Security'
  3. allprojects {
  4. version = '3.1.0.CI-SNAPSHOT'
  5. releaseBuild = version.endsWith('RELEASE')
  6. snapshotBuild = version.endsWith('SNAPSHOT')
  7. group = 'org.springframework.security'
  8. repositories {
  9. mavenLocal()
  10. mavenCentral()
  11. mavenRepo name: 'Google Guice', urls: 'http://guice-maven.googlecode.com/svn/trunk'
  12. }
  13. }
  14. // Set up different subproject lists for individual configuration
  15. javaProjects = subprojects.findAll { project -> project.name != 'docs' && project.name != 'faq' && project.name != 'manual' }
  16. sampleProjects = subprojects.findAll { project -> project.name.startsWith('spring-security-samples') }
  17. itestProjects = subprojects.findAll { project -> project.name.startsWith('itest') }
  18. coreModuleProjects = javaProjects - sampleProjects - itestProjects
  19. aspectjProjects = [project(':spring-security-aspects'), project(':spring-security-samples-aspectj')]
  20. configure(javaProjects) {
  21. apply from: "$rootDir/gradle/javaprojects.gradle"
  22. }
  23. configure(coreModuleProjects) {
  24. // Gives better names in structure101 jar diagram
  25. sourceSets.main.classesDir = new File(buildDir, "classes/" + project.name.substring("spring-security".length() + 1))
  26. apply plugin: 'bundlor'
  27. bundlor.expansions = bundlorProperties
  28. apply from: "$rootDir/gradle/maven-deployment.gradle"
  29. apply plugin: 'emma'
  30. }
  31. task coreBuild {
  32. dependsOn coreModuleProjects*.tasks*.matching { task -> task.name == 'build' }
  33. }
  34. configure (aspectjProjects) {
  35. apply plugin: 'aspectj'
  36. }
  37. // Task for creating the distro zip
  38. task dist(type: Zip) {
  39. dependsOn subprojects*.tasks*.matching { task -> task.name == 'assemble' }
  40. evaluationDependsOn(':docs')
  41. def zipRootDir = "${project.name}-$version"
  42. into(zipRootDir) {
  43. from(rootDir) {
  44. include '*.txt'
  45. }
  46. into('docs') {
  47. with(project(':docs').apiSpec)
  48. with(project(':docs:manual').spec)
  49. }
  50. into('dist') {
  51. from coreModuleProjects.collect {project -> project.libsDir }
  52. from project(':spring-security-samples-tutorial').libsDir
  53. from project(':spring-security-samples-contacts').libsDir
  54. }
  55. }
  56. }
  57. task uploadDist(type: S3DistroUpload) {
  58. archiveFile = dist.archivePath
  59. projectKey = 'SEC'
  60. }
  61. apply from: "$rootDir/gradle/ide-integration.gradle"
  62. task wrapper(type: Wrapper) {
  63. gradleVersion = '1.0-milestone-1'
  64. }