diff --git a/build.gradle b/build.gradle index d01c52ffb2..b5b616edf1 100644 --- a/build.gradle +++ b/build.gradle @@ -659,6 +659,41 @@ project('spring-integration-xmpp') { [compileJava,compileTestJava]*.options*.compilerArgs = ["${xLintArg},-path"] } +project("spring-integration-bom") { + description = "Spring Integration (Bill of Materials)" + + configurations.archives.artifacts.clear() + artifacts { + // work around GRADLE-2406 by attaching text artifact + archives(file("spring-integration-bom.txt")) + } + + install { + repositories.mavenInstaller { + pom.whenConfigured { + packaging = "pom" + withXml { + asNode().children().last() + { + delegate.dependencyManagement { + delegate.dependencies { + parent.subprojects.sort { "$it.name" }.each { p -> + if (p != project) { + delegate.dependency { + delegate.groupId(p.group) + delegate.artifactId(p.name) + delegate.version(p.version) + } + } + } + } + } + } + } + } + } + } +} + apply plugin: 'docbook-reference' reference { diff --git a/settings.gradle b/settings.gradle index b8cf28024b..6316cc190b 100644 --- a/settings.gradle +++ b/settings.gradle @@ -29,3 +29,4 @@ include 'spring-integration-twitter' include 'spring-integration-ws' include 'spring-integration-xml' include 'spring-integration-xmpp' +include 'spring-integration-bom' diff --git a/spring-integration-bom/spring-integration-bom.txt b/spring-integration-bom/spring-integration-bom.txt new file mode 100644 index 0000000000..9671db5d5f --- /dev/null +++ b/spring-integration-bom/spring-integration-bom.txt @@ -0,0 +1,2 @@ +This meta-project is used to generate a bill-of-materials POM that contains the other +projects in a dependencyManagement section.