INTEXT-16 - Fix Print Module Build Issues

For reference see: https://jira.springsource.org/browse/INTEXT-16
This commit is contained in:
Gunnar Hillert
2012-08-22 23:18:42 -04:00
parent ded9df326d
commit 2c8bf5a65b
2 changed files with 53 additions and 92 deletions

View File

@@ -15,52 +15,21 @@ group = 'org.springframework.integration.print'
repositories { repositories {
maven { url 'http://repo.springsource.org/libs-milestone' } maven { url 'http://repo.springsource.org/libs-milestone' }
maven { url 'http://repo.springsource.org/plugins-release' } // for bundlor maven { url 'http://repo.springsource.org/plugins-release' }
} }
sourceCompatibility=1.6 sourceCompatibility=1.6
targetCompatibility=1.6 targetCompatibility=1.6
ext { ext {
aspectjVersion = '1.6.8'
cglibVersion = '2.2'
commonsNetVersion = '3.0.1'
easymockVersion = '2.3' easymockVersion = '2.3'
groovyVersion = '1.8.5'
jacksonVersion = '1.9.2'
javaxActivationVersion = '1.1.1'
junitVersion = '4.8.2' junitVersion = '4.8.2'
log4jVersion = '1.2.12' log4jVersion = '1.2.12'
mockitoVersion = '1.9.0' mockitoVersion = '1.9.0'
// When changing Spring Versions - don't forget to update bundlor ranges springVersion = '3.1.2.RELEASE'
springVersion = '3.1.1.RELEASE'
springIntegrationVersion = '2.1.2.RELEASE' springIntegrationVersion = '2.1.2.RELEASE'
springAmqpVersion = '1.1.0.RELEASE'
springDataMongoVersion = '1.1.0.M1'
springDataRedisVersion = '1.0.0.RELEASE'
springGemfireVersion = '1.1.1.RELEASE'
springSecurityVersion = '3.1.0.RELEASE'
springSocialTwitterVersion = '1.0.1.RELEASE'
springWsVersion = '2.0.3.RELEASE'
} }
dependencies {
compile "org.springframework.integration:spring-integration-core:$springIntegrationVersion"
compile "org.springframework:spring-tx:$springVersion"
compile("org.codehaus.jackson:jackson-mapper-asl:$jacksonVersion", optional)
compile("org.springframework.amqp:spring-rabbit:$springAmqpVersion") {
exclude group: 'org.springframework', module: 'spring-aop'
exclude group: 'org.springframework', module: 'spring-beans'
exclude group: 'org.springframework', module: 'spring-context'
exclude group: 'org.springframework', module: 'spring-core'
exclude group: 'org.springframework', module: 'spring-oxm'
exclude group: 'org.springframework', module: 'spring-tx'
}
testCompile "org.springframework.integration:spring-integration-test:$springIntegrationVersion"
}
eclipse { eclipse {
project { project {
natures += 'org.springframework.ide.eclipse.core.springnature' natures += 'org.springframework.ide.eclipse.core.springnature'
@@ -81,9 +50,10 @@ configurations {
jacoco //Configuration Group used by Sonar to provide Code Coverage using JaCoCo jacoco //Configuration Group used by Sonar to provide Code Coverage using JaCoCo
} }
// dependencies that are common across all java projects
dependencies { dependencies {
testCompile "cglib:cglib-nodep:$cglibVersion"
compile "org.springframework.integration:spring-integration-core:$springIntegrationVersion"
testCompile "org.springframework.integration:spring-integration-test:$springIntegrationVersion"
testCompile "junit:junit-dep:$junitVersion" testCompile "junit:junit-dep:$junitVersion"
testCompile "log4j:log4j:$log4jVersion" testCompile "log4j:log4j:$log4jVersion"
testCompile "org.easymock:easymock:$easymockVersion" testCompile "org.easymock:easymock:$easymockVersion"
@@ -155,19 +125,16 @@ sonar {
task api(type: Javadoc) { task api(type: Javadoc) {
group = 'Documentation' group = 'Documentation'
description = 'Generates aggregated Javadoc API documentation.' description = 'Generates the Javadoc API documentation.'
title = "${rootProject.description} ${version} API" title = "${rootProject.description} ${version} API"
options.memberLevel = org.gradle.external.javadoc.JavadocMemberLevel.PROTECTED options.memberLevel = org.gradle.external.javadoc.JavadocMemberLevel.PROTECTED
options.author = true options.author = true
options.header = rootProject.description options.header = rootProject.description
options.overview = 'src/api/overview.html' options.overview = 'src/api/overview.html'
source subprojects.collect { project ->
project.sourceSets.main.allJava source = sourceSets.main.allJava
} classpath = project.sourceSets.main.compileClasspath
destinationDir = new File(buildDir, "api") destinationDir = new File(buildDir, "api")
classpath = files(subprojects.collect { project ->
project.sourceSets.main.compileClasspath
})
} }
task schemaZip(type: Zip) { task schemaZip(type: Zip) {
@@ -176,27 +143,23 @@ task schemaZip(type: Zip) {
description = "Builds -${classifier} archive containing all " + description = "Builds -${classifier} archive containing all " +
"XSDs for deployment at static.springframework.org/schema." "XSDs for deployment at static.springframework.org/schema."
subprojects.each { subproject -> def Properties schemas = new Properties();
def Properties schemas = new Properties(); def shortName = project.name.replaceFirst("${rootProject.name}-", '')
def shortName = subproject.name.replaceFirst("${rootProject.name}-", '')
if (subproject.name.endsWith("-core")) { project.sourceSets.main.resources.find {
shortName = '' it.path.endsWith('META-INF/spring.schemas')
}?.withInputStream { schemas.load(it) }
for (def key : schemas.keySet()) {
File xsdFile = project.sourceSets.main.resources.find {
it.path.endsWith(schemas.get(key))
} }
assert xsdFile != null
subproject.sourceSets.main.resources.find { into ("integration/${shortName}") {
it.path.endsWith('META-INF/spring.schemas') from xsdFile.path
}?.withInputStream { schemas.load(it) }
for (def key : schemas.keySet()) {
File xsdFile = subproject.sourceSets.main.resources.find {
it.path.endsWith(schemas.get(key))
}
assert xsdFile != null
into ("integration/${shortName}") {
from xsdFile.path
}
} }
} }
} }
task docsZip(type: Zip) { task docsZip(type: Zip) {
@@ -239,13 +202,12 @@ task distZip(type: Zip, dependsOn: [docsZip, schemaZip]) {
into "${baseDir}/schema" into "${baseDir}/schema"
} }
subprojects.each { subproject -> into ("${baseDir}/libs") {
into ("${baseDir}/libs") { from project.jar
from subproject.jar from project.sourcesJar
from subproject.sourcesJar from project.javadocJar
from subproject.javadocJar
}
} }
} }
// Create an optional "with dependencies" distribution. // Create an optional "with dependencies" distribution.
@@ -260,14 +222,13 @@ task depsZip(type: Zip, dependsOn: distZip) { zipTask ->
gradle.taskGraph.whenReady { taskGraph -> gradle.taskGraph.whenReady { taskGraph ->
if (taskGraph.hasTask(":${zipTask.name}")) { if (taskGraph.hasTask(":${zipTask.name}")) {
def projectNames = rootProject.subprojects*.name def projectName = rootProject.name
def artifacts = new HashSet() def artifacts = new HashSet()
subprojects.each { subproject ->
subproject.configurations.runtime.resolvedConfiguration.resolvedArtifacts.each { artifact -> rootProject.configurations.runtime.resolvedConfiguration.resolvedArtifacts.each { artifact ->
def dependency = artifact.moduleVersion.id def dependency = artifact.moduleVersion.id
if (!projectNames.contains(dependency.name)) { if (!projectName.equals(dependency.name)) {
artifacts << artifact.file artifacts << artifact.file
}
} }
} }

View File

@@ -1,22 +1,22 @@
<html> <html>
<body> <body>
This document is the API specification for Spring Integration This document is the API specification for the Spring Integration Print Module
<hr/> <hr/>
<div id="overviewBody"> <div id="overviewBody">
<p> <p>
For further API reference and developer documentation, see the For further API reference and developer documentation, see the
<a href="http://static.springsource.org/spring-integration/reference" target="_top">Spring <a href="http://static.springsource.org/spring-integration/reference" target="_top">Spring
Integration reference documentation</a>. Integration reference documentation</a>.
That documentation contains more detailed, developer-targeted That documentation contains more detailed, developer-targeted
descriptions, with conceptual overviews, definitions of terms, descriptions, with conceptual overviews, definitions of terms,
workarounds, and working code examples. workarounds, and working code examples.
</p> </p>
<p> <p>
If you are interested in commercial training, consultancy, and If you are interested in commercial training, consultancy, and
support for Spring Integration, please visit <a href="http://www.springsource.com" target="_top"> support for Spring Integration, please visit <a href="http://www.springsource.com" target="_top">
http://www.springsource.com</a> http://www.springsource.com</a>
</p> </p>
</div> </div>
</body> </body>
</html> </html>