diff --git a/build.gradle b/build.gradle index ac510aecf1..2426288f11 100644 --- a/build.gradle +++ b/build.gradle @@ -1,858 +1,858 @@ import org.gradle.plugins.ide.eclipse.model.ProjectDependency buildscript { - repositories { - maven { url 'http://repo.springsource.org/plugins-release' } - } - dependencies { - classpath 'org.springframework.build.gradle:docbook-reference-plugin:0.2.2' - } + repositories { + maven { url 'http://repo.springsource.org/plugins-release' } + } + dependencies { + classpath 'org.springframework.build.gradle:docbook-reference-plugin:0.2.2' + } } configure(allprojects) { - ext.aspectjVersion = '1.6.12' - ext.easymockVersion = '2.5.2' - ext.hsqldbVersion = '1.8.0.10' - ext.junitVersion = '4.11' - ext.slf4jVersion = '1.6.1' - ext.gradleScriptDir = "${rootProject.projectDir}/gradle" + ext.aspectjVersion = '1.6.12' + ext.easymockVersion = '2.5.2' + ext.hsqldbVersion = '1.8.0.10' + ext.junitVersion = '4.11' + ext.slf4jVersion = '1.6.1' + ext.gradleScriptDir = "${rootProject.projectDir}/gradle" - apply plugin: 'java' - apply plugin: 'eclipse' - apply plugin: 'idea' - apply from: "${gradleScriptDir}/ide.gradle" + apply plugin: 'java' + apply plugin: 'eclipse' + apply plugin: 'idea' + apply from: "${gradleScriptDir}/ide.gradle" - group = 'org.springframework' + group = 'org.springframework' - sourceCompatibility=1.5 - targetCompatibility=1.5 + sourceCompatibility=1.5 + targetCompatibility=1.5 - [compileJava, compileTestJava]*.options*.compilerArgs = ['-Xlint:none'] + [compileJava, compileTestJava]*.options*.compilerArgs = ['-Xlint:none'] - sourceSets.test.resources.srcDirs = ['src/test/resources', 'src/test/java'] + sourceSets.test.resources.srcDirs = ['src/test/resources', 'src/test/java'] - test.systemProperty("java.awt.headless", "true") + test.systemProperty("java.awt.headless", "true") - repositories { - maven { url "http://repo.springsource.org/libs-release" } - maven { url "http://repo.springsource.org/ebr-maven-external" } - } + repositories { + maven { url "http://repo.springsource.org/libs-release" } + maven { url "http://repo.springsource.org/ebr-maven-external" } + } - dependencies { - testCompile "org.hamcrest:hamcrest-all:1.3" - testCompile "org.easymock:easymock:${easymockVersion}" - } + dependencies { + testCompile "org.hamcrest:hamcrest-all:1.3" + testCompile "org.easymock:easymock:${easymockVersion}" + } } configure(subprojects - project(":spring-test")) { - dependencies { - testCompile ("junit:junit:${junitVersion}") { - // We already have hamcrest-all as a global testCompile dependency. - exclude group: 'org.hamcrest', module: 'hamcrest-core' - } - } + dependencies { + testCompile ("junit:junit:${junitVersion}") { + // We already have hamcrest-all as a global testCompile dependency. + exclude group: 'org.hamcrest', module: 'hamcrest-core' + } + } } configure(subprojects) { subproject -> - apply from: "${gradleScriptDir}/publish-maven.gradle" + apply from: "${gradleScriptDir}/publish-maven.gradle" - jar { - manifest.attributes['Created-By'] = - "${System.getProperty('java.version')} (${System.getProperty('java.specification.vendor')})" - manifest.attributes['Implementation-Title'] = subproject.name - manifest.attributes['Implementation-Version'] = subproject.version + jar { + manifest.attributes['Created-By'] = + "${System.getProperty('java.version')} (${System.getProperty('java.specification.vendor')})" + manifest.attributes['Implementation-Title'] = subproject.name + manifest.attributes['Implementation-Version'] = subproject.version - from("${rootProject.projectDir}/src/dist") { - include "license.txt" - include "notice.txt" - into "META-INF" - expand(copyright: new Date().format('yyyy'), version: project.version) - } - } + from("${rootProject.projectDir}/src/dist") { + include "license.txt" + include "notice.txt" + into "META-INF" + expand(copyright: new Date().format('yyyy'), version: project.version) + } + } - javadoc { - options.memberLevel = org.gradle.external.javadoc.JavadocMemberLevel.PROTECTED - options.author = true - options.header = project.name - //options.overview = "${projectDir}/src/main/java/overview.html" - } + javadoc { + options.memberLevel = org.gradle.external.javadoc.JavadocMemberLevel.PROTECTED + options.author = true + options.header = project.name + //options.overview = "${projectDir}/src/main/java/overview.html" + } - task sourcesJar(type: Jar, dependsOn:classes) { - classifier = 'sources' - from sourceSets.main.allJava.srcDirs - include '**/*.java', '**/*.aj' - } + task sourcesJar(type: Jar, dependsOn:classes) { + classifier = 'sources' + from sourceSets.main.allJava.srcDirs + include '**/*.java', '**/*.aj' + } - task javadocJar(type: Jar) { - classifier = 'javadoc' - from javadoc - } + task javadocJar(type: Jar) { + classifier = 'javadoc' + from javadoc + } - artifacts { - archives sourcesJar - archives javadocJar - } + artifacts { + archives sourcesJar + archives javadocJar + } } project('spring-core') { - description = 'Spring Core' + description = 'Spring Core' - // As of Spring 3.2 spring-core repackages both asm 4.0 and cglib 3.0 and inlines both - // into the spring-core jar. cglib 3.0 itself depends on asm 4.0, and is therefore - // further transformed by the JarJar task to depend on org.springframework.asm; this - // avoids including two different copies of asm unnecessarily. If however future cglib - // versions drift from the version of asm used by Spring internally, this duplication - // will become necessary. - def asmVersion = '4.0' - def cglibVersion = '3.0' + // As of Spring 3.2 spring-core repackages both asm 4.0 and cglib 3.0 and inlines both + // into the spring-core jar. cglib 3.0 itself depends on asm 4.0, and is therefore + // further transformed by the JarJar task to depend on org.springframework.asm; this + // avoids including two different copies of asm unnecessarily. If however future cglib + // versions drift from the version of asm used by Spring internally, this duplication + // will become necessary. + def asmVersion = '4.0' + def cglibVersion = '3.0' - configurations { - jarjar - asm - cglib - } + configurations { + jarjar + asm + cglib + } - task asmRepackJar(type: Jar) { repackJar -> - repackJar.baseName = "spring-asm-repack" - repackJar.version = asmVersion + task asmRepackJar(type: Jar) { repackJar -> + repackJar.baseName = "spring-asm-repack" + repackJar.version = asmVersion - doLast() { - project.ant { - taskdef name: "jarjar", classname: "com.tonicsystems.jarjar.JarJarTask", - classpath: configurations.jarjar.asPath - jarjar(destfile: repackJar.archivePath) { - configurations.asm.each { originalJar -> - zipfileset(src: originalJar) - } - rule(pattern: 'org.objectweb.asm.**', result: 'org.springframework.asm.@1') - } - } - } - } + doLast() { + project.ant { + taskdef name: "jarjar", classname: "com.tonicsystems.jarjar.JarJarTask", + classpath: configurations.jarjar.asPath + jarjar(destfile: repackJar.archivePath) { + configurations.asm.each { originalJar -> + zipfileset(src: originalJar) + } + rule(pattern: 'org.objectweb.asm.**', result: 'org.springframework.asm.@1') + } + } + } + } - task cglibRepackJar(type: Jar) { repackJar -> - repackJar.baseName = "spring-cglib-repack" - repackJar.version = cglibVersion + task cglibRepackJar(type: Jar) { repackJar -> + repackJar.baseName = "spring-cglib-repack" + repackJar.version = cglibVersion - doLast() { - project.ant { - taskdef name: "jarjar", classname: "com.tonicsystems.jarjar.JarJarTask", - classpath: configurations.jarjar.asPath - jarjar(destfile: repackJar.archivePath) { - configurations.cglib.each { originalJar -> - zipfileset(src: originalJar) - } - // repackage net.sf.cglib => org.springframework.cglib - rule(pattern: 'net.sf.cglib.**', result: 'org.springframework.cglib.@1') - // as mentioned above, transform cglib's internal asm dependencies from - // org.objectweb.asm => org.springframework.asm. Doing this counts on the - // the fact that Spring and cglib depend on the same version of asm! - rule(pattern: 'org.objectweb.asm.**', result: 'org.springframework.asm.@1') - } - } - } - } + doLast() { + project.ant { + taskdef name: "jarjar", classname: "com.tonicsystems.jarjar.JarJarTask", + classpath: configurations.jarjar.asPath + jarjar(destfile: repackJar.archivePath) { + configurations.cglib.each { originalJar -> + zipfileset(src: originalJar) + } + // repackage net.sf.cglib => org.springframework.cglib + rule(pattern: 'net.sf.cglib.**', result: 'org.springframework.cglib.@1') + // as mentioned above, transform cglib's internal asm dependencies from + // org.objectweb.asm => org.springframework.asm. Doing this counts on the + // the fact that Spring and cglib depend on the same version of asm! + rule(pattern: 'org.objectweb.asm.**', result: 'org.springframework.asm.@1') + } + } + } + } - dependencies { - asm "org.ow2.asm:asm:${asmVersion}@jar", "org.ow2.asm:asm-commons:${asmVersion}@jar" - cglib "cglib:cglib:${cglibVersion}@jar" - jarjar 'com.googlecode.jarjar:jarjar:1.3' + dependencies { + asm "org.ow2.asm:asm:${asmVersion}@jar", "org.ow2.asm:asm-commons:${asmVersion}@jar" + cglib "cglib:cglib:${cglibVersion}@jar" + jarjar 'com.googlecode.jarjar:jarjar:1.3' - compile files(asmRepackJar) - compile "commons-logging:commons-logging:1.1.1" - compile("org.aspectj:aspectjweaver:${aspectjVersion}", optional) - compile("net.sf.jopt-simple:jopt-simple:3.0") { dep -> - optional dep - exclude group: 'org.apache.ant', module: 'ant' - } - compile("log4j:log4j:1.2.15") { dep -> - optional dep - exclude group: 'javax.mail', module: 'mail' - exclude group: 'javax.jms', module: 'jms' - exclude group: 'com.sun.jdmk', module: 'jmxtools' - exclude group: 'com.sun.jmx', module: 'jmxri' - } - testCompile "xmlunit:xmlunit:1.2" - testCompile "org.codehaus.woodstox:wstx-asl:3.2.7" - } + compile files(asmRepackJar) + compile "commons-logging:commons-logging:1.1.1" + compile("org.aspectj:aspectjweaver:${aspectjVersion}", optional) + compile("net.sf.jopt-simple:jopt-simple:3.0") { dep -> + optional dep + exclude group: 'org.apache.ant', module: 'ant' + } + compile("log4j:log4j:1.2.15") { dep -> + optional dep + exclude group: 'javax.mail', module: 'mail' + exclude group: 'javax.jms', module: 'jms' + exclude group: 'com.sun.jdmk', module: 'jmxtools' + exclude group: 'com.sun.jmx', module: 'jmxri' + } + testCompile "xmlunit:xmlunit:1.2" + testCompile "org.codehaus.woodstox:wstx-asl:3.2.7" + } - jar { - // inline all repackaged asm and cglib classes directly into the spring-core jar - dependsOn asmRepackJar - from(zipTree(asmRepackJar.archivePath)) { - include 'org/springframework/asm/**' - } - dependsOn cglibRepackJar - from(zipTree(cglibRepackJar.archivePath)) { - include 'org/springframework/cglib/**' - } - } + jar { + // inline all repackaged asm and cglib classes directly into the spring-core jar + dependsOn asmRepackJar + from(zipTree(asmRepackJar.archivePath)) { + include 'org/springframework/asm/**' + } + dependsOn cglibRepackJar + from(zipTree(cglibRepackJar.archivePath)) { + include 'org/springframework/cglib/**' + } + } } project('spring-beans') { - description = 'Spring Beans' - dependencies { - compile project(":spring-core") - compile files(project(":spring-core").cglibRepackJar) - compile("javax.el:el-api:1.0", provided) - compile("javax.inject:javax.inject:1", provided) - } + description = 'Spring Beans' + dependencies { + compile project(":spring-core") + compile files(project(":spring-core").cglibRepackJar) + compile("javax.el:el-api:1.0", provided) + compile("javax.inject:javax.inject:1", provided) + } } project('spring-aop') { - description = 'Spring AOP' - dependencies { - compile project(":spring-core") - compile files(project(":spring-core").cglibRepackJar) - compile project(":spring-beans") - compile("aopalliance:aopalliance:1.0") - compile("com.jamonapi:jamon:2.4", optional) - compile("commons-pool:commons-pool:1.5.3", optional) - compile("org.aspectj:aspectjweaver:${aspectjVersion}", optional) - } + description = 'Spring AOP' + dependencies { + compile project(":spring-core") + compile files(project(":spring-core").cglibRepackJar) + compile project(":spring-beans") + compile("aopalliance:aopalliance:1.0") + compile("com.jamonapi:jamon:2.4", optional) + compile("commons-pool:commons-pool:1.5.3", optional) + compile("org.aspectj:aspectjweaver:${aspectjVersion}", optional) + } } project('spring-expression') { - description = 'Spring Expression Language (SpEL)' - dependencies { - compile project(":spring-core") - } + description = 'Spring Expression Language (SpEL)' + dependencies { + compile project(":spring-core") + } } project('spring-instrument') { - description = 'Spring Instrument' - dependencies { - compile project(":spring-core") - } - jar { - manifest.attributes['Premain-Class'] = - 'org.springframework.instrument.InstrumentationSavingAgent' - } + description = 'Spring Instrument' + dependencies { + compile project(":spring-core") + } + jar { + manifest.attributes['Premain-Class'] = + 'org.springframework.instrument.InstrumentationSavingAgent' + } } project('spring-instrument-tomcat') { - description = 'Spring Instrument Tomcat' - dependencies { - compile("org.apache.tomcat:catalina:6.0.16", provided) - } + description = 'Spring Instrument Tomcat' + dependencies { + compile("org.apache.tomcat:catalina:6.0.16", provided) + } } project('spring-context') { - description = 'Spring Context' - dependencies { - compile(project(":spring-instrument"), optional) - compile project(":spring-aop") - compile project(":spring-beans") - compile project(":spring-expression") - compile project(":spring-core") - compile files(project(":spring-core").cglibRepackJar) - compile("backport-util-concurrent:backport-util-concurrent:3.0", optional) - compile("javax.ejb:ejb-api:3.0", optional) - compile("javax.inject:javax.inject:1", optional) - compile("org.apache.geronimo.specs:geronimo-jms_1.1_spec:1.1", optional) - compile("javax.persistence:persistence-api:1.0", optional) - compile("javax.validation:validation-api:1.0.0.GA", optional) - compile("org.beanshell:bsh:2.0b4", optional) - compile("org.codehaus.groovy:groovy-all:1.8.8", optional) - compile("org.jruby:jruby:1.6.5.1", optional) - compile("joda-time:joda-time:2.1", optional) - compile("org.slf4j:slf4j-api:${slf4jVersion}", optional) - compile("org.hibernate:hibernate-validator:4.3.0.Final") { dep -> - optional dep - exclude group: 'org.slf4j', module: 'slf4j-api' - } - compile("org.aspectj:aspectjweaver:${aspectjVersion}", optional) - testCompile "commons-dbcp:commons-dbcp:1.2.2" - testCompile("javax.inject:com.springsource.org.atinject.tck:1.0.0") - } + description = 'Spring Context' + dependencies { + compile(project(":spring-instrument"), optional) + compile project(":spring-aop") + compile project(":spring-beans") + compile project(":spring-expression") + compile project(":spring-core") + compile files(project(":spring-core").cglibRepackJar) + compile("backport-util-concurrent:backport-util-concurrent:3.0", optional) + compile("javax.ejb:ejb-api:3.0", optional) + compile("javax.inject:javax.inject:1", optional) + compile("org.apache.geronimo.specs:geronimo-jms_1.1_spec:1.1", optional) + compile("javax.persistence:persistence-api:1.0", optional) + compile("javax.validation:validation-api:1.0.0.GA", optional) + compile("org.beanshell:bsh:2.0b4", optional) + compile("org.codehaus.groovy:groovy-all:1.8.8", optional) + compile("org.jruby:jruby:1.6.5.1", optional) + compile("joda-time:joda-time:2.1", optional) + compile("org.slf4j:slf4j-api:${slf4jVersion}", optional) + compile("org.hibernate:hibernate-validator:4.3.0.Final") { dep -> + optional dep + exclude group: 'org.slf4j', module: 'slf4j-api' + } + compile("org.aspectj:aspectjweaver:${aspectjVersion}", optional) + testCompile "commons-dbcp:commons-dbcp:1.2.2" + testCompile("javax.inject:com.springsource.org.atinject.tck:1.0.0") + } - test { - jvmArgs = ['-disableassertions:org.aspectj.weaver.UnresolvedType'] // SPR-7989 - } + test { + jvmArgs = ['-disableassertions:org.aspectj.weaver.UnresolvedType'] // SPR-7989 + } } project('spring-tx') { - description = 'Spring Transaction' - dependencies { - compile(project(":spring-context"), optional) // for JCA, @EnableTransactionManagement - compile(project(":spring-aop"), optional) - compile project(":spring-beans") - compile project(":spring-core") - compile("aopalliance:aopalliance:1.0") - compile("com.ibm.websphere:uow:6.0.2.17", provided) - compile("javax.resource:connector-api:1.5", optional) - compile("org.apache.geronimo.specs:geronimo-jta_1.1_spec:1.1", optional) - testCompile "org.easymock:easymockclassextension:${easymockVersion}" - } + description = 'Spring Transaction' + dependencies { + compile(project(":spring-context"), optional) // for JCA, @EnableTransactionManagement + compile(project(":spring-aop"), optional) + compile project(":spring-beans") + compile project(":spring-core") + compile("aopalliance:aopalliance:1.0") + compile("com.ibm.websphere:uow:6.0.2.17", provided) + compile("javax.resource:connector-api:1.5", optional) + compile("org.apache.geronimo.specs:geronimo-jta_1.1_spec:1.1", optional) + testCompile "org.easymock:easymockclassextension:${easymockVersion}" + } } project('spring-oxm') { - description = 'Spring Object/XML Marshalling' - apply from: 'oxm.gradle' - dependencies { - compile project(":spring-beans") - compile project(":spring-core") - compile(project(":spring-context"), optional) // for Jaxb2Marshaller - compile "commons-lang:commons-lang:2.5" - compile("com.thoughtworks.xstream:xstream:1.3.1", optional) - compile("com.sun.xml.bind:jaxb-impl:2.1.7", optional) - compile("org.jibx:jibx-run:1.2.3", optional) - compile("org.apache.xmlbeans:xmlbeans:2.4.0", optional) - compile("org.codehaus.castor:castor-xml:1.3.2", optional) - testCompile "org.codehaus.jettison:jettison:1.0.1" - testCompile "xmlunit:xmlunit:1.2" - testCompile "xmlpull:xmlpull:1.1.3.4a" - testCompile(files(genCastor.classesDir).builtBy(genCastor)) - testCompile(files(genJaxb.classesDir).builtBy(genJaxb)) - testCompile(files(genXmlbeans.classesDir).builtBy(genXmlbeans)) - } + description = 'Spring Object/XML Marshalling' + apply from: 'oxm.gradle' + dependencies { + compile project(":spring-beans") + compile project(":spring-core") + compile(project(":spring-context"), optional) // for Jaxb2Marshaller + compile "commons-lang:commons-lang:2.5" + compile("com.thoughtworks.xstream:xstream:1.3.1", optional) + compile("com.sun.xml.bind:jaxb-impl:2.1.7", optional) + compile("org.jibx:jibx-run:1.2.3", optional) + compile("org.apache.xmlbeans:xmlbeans:2.4.0", optional) + compile("org.codehaus.castor:castor-xml:1.3.2", optional) + testCompile "org.codehaus.jettison:jettison:1.0.1" + testCompile "xmlunit:xmlunit:1.2" + testCompile "xmlpull:xmlpull:1.1.3.4a" + testCompile(files(genCastor.classesDir).builtBy(genCastor)) + testCompile(files(genJaxb.classesDir).builtBy(genJaxb)) + testCompile(files(genXmlbeans.classesDir).builtBy(genXmlbeans)) + } } project('spring-jms') { - description = 'Spring JMS' - dependencies { - compile project(":spring-core") - compile project(":spring-beans") - compile project(":spring-aop") - compile project(":spring-context") - compile project(":spring-tx") - compile(project(":spring-oxm"), optional) - compile("aopalliance:aopalliance:1.0") - compile("org.codehaus.jackson:jackson-mapper-asl:1.4.2", optional) - } + description = 'Spring JMS' + dependencies { + compile project(":spring-core") + compile project(":spring-beans") + compile project(":spring-aop") + compile project(":spring-context") + compile project(":spring-tx") + compile(project(":spring-oxm"), optional) + compile("aopalliance:aopalliance:1.0") + compile("org.codehaus.jackson:jackson-mapper-asl:1.4.2", optional) + } } project('spring-jdbc') { - description = 'Spring JDBC' - dependencies { - compile project(":spring-core") - compile project(":spring-beans") - compile(project(":spring-context"), optional) // for JndiDataSourceLookup - compile project(":spring-tx") - compile("c3p0:c3p0:0.9.1.2", optional) - compile("hsqldb:hsqldb:${hsqldbVersion}", optional) - compile("com.h2database:h2:1.0.71", optional) - compile("org.apache.derby:derby:10.5.3.0_1", optional) - compile("org.apache.derby:derbyclient:10.5.3.0_1", optional) - compile("org.apache.geronimo.specs:geronimo-jta_1.1_spec:1.1", optional) - } + description = 'Spring JDBC' + dependencies { + compile project(":spring-core") + compile project(":spring-beans") + compile(project(":spring-context"), optional) // for JndiDataSourceLookup + compile project(":spring-tx") + compile("c3p0:c3p0:0.9.1.2", optional) + compile("hsqldb:hsqldb:${hsqldbVersion}", optional) + compile("com.h2database:h2:1.0.71", optional) + compile("org.apache.derby:derby:10.5.3.0_1", optional) + compile("org.apache.derby:derbyclient:10.5.3.0_1", optional) + compile("org.apache.geronimo.specs:geronimo-jta_1.1_spec:1.1", optional) + } } project('spring-context-support') { - description = 'Spring Context Support' - dependencies { - compile project(":spring-core") - compile project(":spring-beans") - compile project(":spring-context") - compile(project(":spring-jdbc"), optional) // for Quartz support - compile(project(":spring-tx"), optional) // for Quartz support - compile("javax.mail:mail:1.4", optional) - compile("javax.cache:cache-api:0.5", optional) - compile("net.sf.ehcache:ehcache-core:2.0.0", optional) - compile("opensymphony:quartz:1.6.2", optional) - compile("org.codehaus.fabric3.api:commonj:1.1.0", optional) - compile("velocity:velocity:1.5", optional) - compile("org.freemarker:freemarker:2.3.15", optional) - compile("com.lowagie:itext:2.1.7", optional) - compile("jasperreports:jasperreports:2.0.5") { dep -> - optional dep - transitive = false - } - testCompile("org.apache.poi:poi:3.0.2-FINAL") { - exclude group: 'log4j', module: 'log4j' - } - testCompile("commons-beanutils:commons-beanutils:1.8.0") // for Velocity/JasperReports - testCompile("commons-digester:commons-digester:1.8.1") // for Velocity/JasperReports - testCompile "hsqldb:hsqldb:${hsqldbVersion}" - } + description = 'Spring Context Support' + dependencies { + compile project(":spring-core") + compile project(":spring-beans") + compile project(":spring-context") + compile(project(":spring-jdbc"), optional) // for Quartz support + compile(project(":spring-tx"), optional) // for Quartz support + compile("javax.mail:mail:1.4", optional) + compile("javax.cache:cache-api:0.5", optional) + compile("net.sf.ehcache:ehcache-core:2.0.0", optional) + compile("opensymphony:quartz:1.6.2", optional) + compile("org.codehaus.fabric3.api:commonj:1.1.0", optional) + compile("velocity:velocity:1.5", optional) + compile("org.freemarker:freemarker:2.3.15", optional) + compile("com.lowagie:itext:2.1.7", optional) + compile("jasperreports:jasperreports:2.0.5") { dep -> + optional dep + transitive = false + } + testCompile("org.apache.poi:poi:3.0.2-FINAL") { + exclude group: 'log4j', module: 'log4j' + } + testCompile("commons-beanutils:commons-beanutils:1.8.0") // for Velocity/JasperReports + testCompile("commons-digester:commons-digester:1.8.1") // for Velocity/JasperReports + testCompile "hsqldb:hsqldb:${hsqldbVersion}" + } - // pick up **/*.types files in src/main - sourceSets.main.resources.srcDirs += 'src/main/java' + // pick up **/*.types files in src/main + sourceSets.main.resources.srcDirs += 'src/main/java' } project('spring-web') { - description = 'Spring Web' - dependencies { - compile project(":spring-core") - compile project(":spring-beans") // for MultiPartFilter - compile project(":spring-aop") // for JaxWsPortProxyFactoryBean - compile project(":spring-context") - compile(project(":spring-oxm"), optional) // for MarshallingHttpMessageConverter - compile("aopalliance:aopalliance:1.0") - compile("com.caucho:hessian:3.2.1", optional) - compile("rome:rome:1.0", optional) - compile("javax.el:el-api:1.0", optional) - compile("javax.faces:jsf-api:1.2_08", optional) - compile("javax.portlet:portlet-api:2.0", provided) - compile("org.apache.tomcat:tomcat-servlet-api:7.0.32", provided) // servlet-api 3.0 - compile("javax.servlet.jsp:jsp-api:2.1", provided) - compile("javax.xml:jaxrpc-api:1.1") - compile("javax.xml.soap:saaj-api:1.3", provided) - compile("commons-fileupload:commons-fileupload:1.2", optional) - runtime("commons-io:commons-io:1.3", optional) - compile("commons-httpclient:commons-httpclient:3.1", optional) - compile("org.apache.httpcomponents:httpclient:4.2", optional) - compile("org.codehaus.jackson:jackson-mapper-asl:1.4.2", optional) - compile("com.fasterxml.jackson.core:jackson-databind:2.0.1", optional) - compile("taglibs:standard:1.1.2", optional) - compile("org.eclipse.jetty:jetty-servlet:8.1.5.v20120716") { dep -> - optional dep - exclude group: 'org.eclipse.jetty.orbit', module: 'javax.servlet' - } - compile("org.eclipse.jetty:jetty-server:8.1.5.v20120716") { dep -> - optional dep - exclude group: 'org.eclipse.jetty.orbit', module: 'javax.servlet' - } - testCompile project(":spring-context-support") // for JafMediaTypeFactory - testCompile "xmlunit:xmlunit:1.2" - } + description = 'Spring Web' + dependencies { + compile project(":spring-core") + compile project(":spring-beans") // for MultiPartFilter + compile project(":spring-aop") // for JaxWsPortProxyFactoryBean + compile project(":spring-context") + compile(project(":spring-oxm"), optional) // for MarshallingHttpMessageConverter + compile("aopalliance:aopalliance:1.0") + compile("com.caucho:hessian:3.2.1", optional) + compile("rome:rome:1.0", optional) + compile("javax.el:el-api:1.0", optional) + compile("javax.faces:jsf-api:1.2_08", optional) + compile("javax.portlet:portlet-api:2.0", provided) + compile("org.apache.tomcat:tomcat-servlet-api:7.0.32", provided) // servlet-api 3.0 + compile("javax.servlet.jsp:jsp-api:2.1", provided) + compile("javax.xml:jaxrpc-api:1.1") + compile("javax.xml.soap:saaj-api:1.3", provided) + compile("commons-fileupload:commons-fileupload:1.2", optional) + runtime("commons-io:commons-io:1.3", optional) + compile("commons-httpclient:commons-httpclient:3.1", optional) + compile("org.apache.httpcomponents:httpclient:4.2", optional) + compile("org.codehaus.jackson:jackson-mapper-asl:1.4.2", optional) + compile("com.fasterxml.jackson.core:jackson-databind:2.0.1", optional) + compile("taglibs:standard:1.1.2", optional) + compile("org.eclipse.jetty:jetty-servlet:8.1.5.v20120716") { dep -> + optional dep + exclude group: 'org.eclipse.jetty.orbit', module: 'javax.servlet' + } + compile("org.eclipse.jetty:jetty-server:8.1.5.v20120716") { dep -> + optional dep + exclude group: 'org.eclipse.jetty.orbit', module: 'javax.servlet' + } + testCompile project(":spring-context-support") // for JafMediaTypeFactory + testCompile "xmlunit:xmlunit:1.2" + } - // pick up ContextLoader.properties in src/main - sourceSets.main.resources.srcDirs += 'src/main/java' + // pick up ContextLoader.properties in src/main + sourceSets.main.resources.srcDirs += 'src/main/java' } project('spring-orm') { - description = 'Spring Object/Relational Mapping' - dependencies { - compile("aopalliance:aopalliance:1.0") - compile("org.hibernate:hibernate-core:3.3.2.GA", optional) - compile("org.hibernate:hibernate-annotations:3.4.0.GA", optional) - compile("org.hibernate:hibernate-entitymanager:3.4.0.GA", optional) - compile("org.apache.openjpa:openjpa:1.1.0", optional) - compile("org.eclipse.persistence:org.eclipse.persistence.core:1.0.1", optional) - compile("org.eclipse.persistence:org.eclipse.persistence.jpa:1.0.1", optional) - compile("toplink.essentials:toplink-essentials:2.0-41b", optional) - compile("javax.jdo:jdo-api:3.0", optional) - compile("org.apache.ibatis:ibatis-sqlmap:2.3.4.726", optional) - testCompile "javax.servlet:servlet-api:2.5" - testCompile "org.slf4j:slf4j-jcl:${slf4jVersion}" - testCompile "commons-dbcp:commons-dbcp:1.2.2" - testCompile "org.eclipse.persistence:org.eclipse.persistence.asm:1.0.1" - testCompile "org.eclipse.persistence:org.eclipse.persistence.antlr:1.0.1" - testCompile project(":spring-web").sourceSets.test.output - compile project(":spring-core") - compile project(":spring-beans") - compile(project(":spring-aop"), optional) - compile(project(":spring-context"), optional) - compile project(":spring-tx") - compile project(":spring-jdbc") - compile(project(":spring-web")) { dep -> - optional dep - exclude group: 'javax.persistence', module: 'persistence-api' - } - } + description = 'Spring Object/Relational Mapping' + dependencies { + compile("aopalliance:aopalliance:1.0") + compile("org.hibernate:hibernate-core:3.3.2.GA", optional) + compile("org.hibernate:hibernate-annotations:3.4.0.GA", optional) + compile("org.hibernate:hibernate-entitymanager:3.4.0.GA", optional) + compile("org.apache.openjpa:openjpa:1.1.0", optional) + compile("org.eclipse.persistence:org.eclipse.persistence.core:1.0.1", optional) + compile("org.eclipse.persistence:org.eclipse.persistence.jpa:1.0.1", optional) + compile("toplink.essentials:toplink-essentials:2.0-41b", optional) + compile("javax.jdo:jdo-api:3.0", optional) + compile("org.apache.ibatis:ibatis-sqlmap:2.3.4.726", optional) + testCompile "javax.servlet:servlet-api:2.5" + testCompile "org.slf4j:slf4j-jcl:${slf4jVersion}" + testCompile "commons-dbcp:commons-dbcp:1.2.2" + testCompile "org.eclipse.persistence:org.eclipse.persistence.asm:1.0.1" + testCompile "org.eclipse.persistence:org.eclipse.persistence.antlr:1.0.1" + testCompile project(":spring-web").sourceSets.test.output + compile project(":spring-core") + compile project(":spring-beans") + compile(project(":spring-aop"), optional) + compile(project(":spring-context"), optional) + compile project(":spring-tx") + compile project(":spring-jdbc") + compile(project(":spring-web")) { dep -> + optional dep + exclude group: 'javax.persistence', module: 'persistence-api' + } + } } project('spring-orm-hibernate4') { - description = 'Spring Object/Relational Mapping - Hibernate 4 support' - ext.mergeIntoProject = project(':spring-orm') - apply from: "${gradleScriptDir}/merge-artifacts.gradle" - dependencies { - compile project(":spring-orm").sourceSets.main.output - compile project(":spring-tx") - compile project(":spring-jdbc") - compile("org.hibernate:hibernate-core:4.1.0.Final", optional) - compile("org.hibernate:hibernate-entitymanager:4.1.0.Final", optional) - compile(project(":spring-web")) { dep -> - optional dep - exclude group: 'javax.persistence', module: 'persistence-api' - } - compile("javax.servlet:servlet-api:2.5", optional) - } + description = 'Spring Object/Relational Mapping - Hibernate 4 support' + ext.mergeIntoProject = project(':spring-orm') + apply from: "${gradleScriptDir}/merge-artifacts.gradle" + dependencies { + compile project(":spring-orm").sourceSets.main.output + compile project(":spring-tx") + compile project(":spring-jdbc") + compile("org.hibernate:hibernate-core:4.1.0.Final", optional) + compile("org.hibernate:hibernate-entitymanager:4.1.0.Final", optional) + compile(project(":spring-web")) { dep -> + optional dep + exclude group: 'javax.persistence', module: 'persistence-api' + } + compile("javax.servlet:servlet-api:2.5", optional) + } } project('spring-webmvc') { - description = 'Spring Web MVC' - dependencies { - compile project(":spring-core") - compile project(":spring-expression") - compile project(":spring-beans") - compile project(":spring-web") - compile project(":spring-context") - compile(project(":spring-context-support"), optional) // for Velocity support - compile(project(":spring-oxm"), optional) // for MarshallingView - compile("org.apache.tiles:tiles-api:2.1.2", optional) - compile("org.apache.tiles:tiles-core:2.1.2") { dep -> - optional dep - exclude group: 'org.slf4j', module: 'jcl-over-slf4j' - } - compile("org.apache.tiles:tiles-jsp:2.1.2") { dep -> - optional dep - exclude group: 'org.slf4j', module: 'jcl-over-slf4j' - } - compile("org.apache.tiles:tiles-servlet:2.1.2") { dep -> - optional dep - exclude group: 'org.slf4j', module: 'jcl-over-slf4j' - } - compile("velocity-tools:velocity-tools-view:1.4", optional) - compile("net.sourceforge.jexcelapi:jxl:2.6.3") { dep -> - optional dep - exclude group: 'log4j', module: 'log4j' - } - compile("org.apache.poi:poi:3.0.2-FINAL") { dep -> - optional dep - exclude group: 'log4j', module: 'log4j' - } - compile("javax.servlet:jstl:1.1.2", provided) - compile("org.apache.tomcat:tomcat-servlet-api:7.0.32", provided) // servlet-api 3.0 - testCompile project(":spring-aop") - testCompile "org.slf4j:slf4j-jcl:${slf4jVersion}" - testCompile "rhino:js:1.7R1" - testCompile "xmlunit:xmlunit:1.2" - testCompile("dom4j:dom4j:1.6.1") { - exclude group: 'xml-apis', module: 'xml-apis' - } - testCompile("jaxen:jaxen:1.1.1") { - exclude group: 'xml-apis', module: 'xml-apis' - exclude group: 'xom', module: 'xom' - exclude group: 'xerces', module: 'xercesImpl' - } - testCompile project(":spring-web").sourceSets.test.output - } + description = 'Spring Web MVC' + dependencies { + compile project(":spring-core") + compile project(":spring-expression") + compile project(":spring-beans") + compile project(":spring-web") + compile project(":spring-context") + compile(project(":spring-context-support"), optional) // for Velocity support + compile(project(":spring-oxm"), optional) // for MarshallingView + compile("org.apache.tiles:tiles-api:2.1.2", optional) + compile("org.apache.tiles:tiles-core:2.1.2") { dep -> + optional dep + exclude group: 'org.slf4j', module: 'jcl-over-slf4j' + } + compile("org.apache.tiles:tiles-jsp:2.1.2") { dep -> + optional dep + exclude group: 'org.slf4j', module: 'jcl-over-slf4j' + } + compile("org.apache.tiles:tiles-servlet:2.1.2") { dep -> + optional dep + exclude group: 'org.slf4j', module: 'jcl-over-slf4j' + } + compile("velocity-tools:velocity-tools-view:1.4", optional) + compile("net.sourceforge.jexcelapi:jxl:2.6.3") { dep -> + optional dep + exclude group: 'log4j', module: 'log4j' + } + compile("org.apache.poi:poi:3.0.2-FINAL") { dep -> + optional dep + exclude group: 'log4j', module: 'log4j' + } + compile("javax.servlet:jstl:1.1.2", provided) + compile("org.apache.tomcat:tomcat-servlet-api:7.0.32", provided) // servlet-api 3.0 + testCompile project(":spring-aop") + testCompile "org.slf4j:slf4j-jcl:${slf4jVersion}" + testCompile "rhino:js:1.7R1" + testCompile "xmlunit:xmlunit:1.2" + testCompile("dom4j:dom4j:1.6.1") { + exclude group: 'xml-apis', module: 'xml-apis' + } + testCompile("jaxen:jaxen:1.1.1") { + exclude group: 'xml-apis', module: 'xml-apis' + exclude group: 'xom', module: 'xom' + exclude group: 'xerces', module: 'xercesImpl' + } + testCompile project(":spring-web").sourceSets.test.output + } - // pick up DispatcherServlet.properties in src/main - sourceSets.main.resources.srcDirs += 'src/main/java' + // pick up DispatcherServlet.properties in src/main + sourceSets.main.resources.srcDirs += 'src/main/java' } project('spring-webmvc-tiles3') { - description = 'Spring Framework Tiles3 Integration' - ext.mergeIntoProject = project(':spring-webmvc') - apply from: "${gradleScriptDir}/merge-artifacts.gradle" - dependencies { - compile project(":spring-context") - compile project(":spring-webmvc").sourceSets.main.output - compile("javax.el:el-api:1.0", provided) - compile("javax.servlet:jstl:1.1.2", provided) - compile("javax.servlet.jsp:jsp-api:2.1", provided) - compile("org.apache.tiles:tiles-request-api:1.0.1", optional) - compile("org.apache.tiles:tiles-api:3.0.1", optional) - compile("org.apache.tiles:tiles-core:3.0.1") { dep -> - optional dep - exclude group: 'org.slf4j', module: 'jcl-over-slf4j' - } - compile("org.apache.tiles:tiles-servlet:3.0.1") { dep -> - optional dep - exclude group: 'org.slf4j', module: 'jcl-over-slf4j' - } - compile("org.apache.tiles:tiles-jsp:3.0.1") { dep -> - optional dep - exclude group: 'org.slf4j', module: 'jcl-over-slf4j' - } - compile("org.apache.tiles:tiles-el:3.0.1") { dep -> - optional dep - exclude group: 'org.slf4j', module: 'jcl-over-slf4j' - } - compile("org.apache.tomcat:tomcat-servlet-api:7.0.32", provided) // servlet-api 3.0 - compile project(":spring-web").sourceSets*.output // mock request & response - } + description = 'Spring Framework Tiles3 Integration' + ext.mergeIntoProject = project(':spring-webmvc') + apply from: "${gradleScriptDir}/merge-artifacts.gradle" + dependencies { + compile project(":spring-context") + compile project(":spring-webmvc").sourceSets.main.output + compile("javax.el:el-api:1.0", provided) + compile("javax.servlet:jstl:1.1.2", provided) + compile("javax.servlet.jsp:jsp-api:2.1", provided) + compile("org.apache.tiles:tiles-request-api:1.0.1", optional) + compile("org.apache.tiles:tiles-api:3.0.1", optional) + compile("org.apache.tiles:tiles-core:3.0.1") { dep -> + optional dep + exclude group: 'org.slf4j', module: 'jcl-over-slf4j' + } + compile("org.apache.tiles:tiles-servlet:3.0.1") { dep -> + optional dep + exclude group: 'org.slf4j', module: 'jcl-over-slf4j' + } + compile("org.apache.tiles:tiles-jsp:3.0.1") { dep -> + optional dep + exclude group: 'org.slf4j', module: 'jcl-over-slf4j' + } + compile("org.apache.tiles:tiles-el:3.0.1") { dep -> + optional dep + exclude group: 'org.slf4j', module: 'jcl-over-slf4j' + } + compile("org.apache.tomcat:tomcat-servlet-api:7.0.32", provided) // servlet-api 3.0 + compile project(":spring-web").sourceSets*.output // mock request & response + } } project('spring-webmvc-portlet') { - description = 'Spring Web Portlet' - dependencies { - compile("javax.servlet:servlet-api:2.5", provided) - compile project(":spring-core") - compile project(":spring-beans") - compile project(":spring-context") - compile project(":spring-web") - compile project(":spring-webmvc") - } + description = 'Spring Web Portlet' + dependencies { + compile("javax.servlet:servlet-api:2.5", provided) + compile project(":spring-core") + compile project(":spring-beans") + compile project(":spring-context") + compile project(":spring-web") + compile project(":spring-webmvc") + } - // pick up DispatcherPortlet.properties in src/main - sourceSets.main.resources.srcDirs += 'src/main/java' + // pick up DispatcherPortlet.properties in src/main + sourceSets.main.resources.srcDirs += 'src/main/java' } project('spring-test') { - description = 'Spring TestContext Framework' - dependencies { - compile project(":spring-core") - compile(project(":spring-beans"), optional) - compile(project(":spring-context"), optional) - compile(project(":spring-jdbc"), optional) - compile(project(":spring-tx"), optional) - compile(project(":spring-orm"), optional) - compile(project(":spring-web"), optional) - compile(project(":spring-webmvc"), optional) - compile(project(":spring-webmvc-portlet"), optional) - compile("junit:junit:${junitVersion}") { dep -> - optional dep - // We already have hamcrest-all as a global testCompile dependency. - exclude group: 'org.hamcrest', module: 'hamcrest-core' - } - compile("org.testng:testng:6.5.2") { dep -> - optional dep - exclude group: 'junit', module: 'junit' - // We already have hamcrest-all as a global testCompile dependency. - exclude group: 'org.hamcrest', module: 'hamcrest-core' - } - compile("javax.servlet:servlet-api:2.5", optional) - compile("javax.servlet.jsp:jsp-api:2.1", optional) - compile("javax.portlet:portlet-api:2.0", optional) - compile("javax.activation:activation:1.0", provided) - testCompile "org.slf4j:slf4j-jcl:${slf4jVersion}" - } + description = 'Spring TestContext Framework' + dependencies { + compile project(":spring-core") + compile(project(":spring-beans"), optional) + compile(project(":spring-context"), optional) + compile(project(":spring-jdbc"), optional) + compile(project(":spring-tx"), optional) + compile(project(":spring-orm"), optional) + compile(project(":spring-web"), optional) + compile(project(":spring-webmvc"), optional) + compile(project(":spring-webmvc-portlet"), optional) + compile("junit:junit:${junitVersion}") { dep -> + optional dep + // We already have hamcrest-all as a global testCompile dependency. + exclude group: 'org.hamcrest', module: 'hamcrest-core' + } + compile("org.testng:testng:6.5.2") { dep -> + optional dep + exclude group: 'junit', module: 'junit' + // We already have hamcrest-all as a global testCompile dependency. + exclude group: 'org.hamcrest', module: 'hamcrest-core' + } + compile("javax.servlet:servlet-api:2.5", optional) + compile("javax.servlet.jsp:jsp-api:2.1", optional) + compile("javax.portlet:portlet-api:2.0", optional) + compile("javax.activation:activation:1.0", provided) + testCompile "org.slf4j:slf4j-jcl:${slf4jVersion}" + } } project('spring-test-mvc') { - description = 'Spring Test MVC Framework' - ext.mergeIntoProject = project(':spring-test') - apply from: "${gradleScriptDir}/merge-artifacts.gradle" - apply from: "ide.gradle" - dependencies { - compile project(":spring-context") - compile project(":spring-webmvc") - compile project(":spring-test").sourceSets.main.output - compile("org.apache.tomcat:tomcat-servlet-api:7.0.32", provided) - compile("org.hamcrest:hamcrest-core:1.3", optional) - compile("com.jayway.jsonpath:json-path:0.8.1", optional) - compile("xmlunit:xmlunit:1.2", optional) - testCompile "javax.servlet:jstl:1.2" - testCompile "org.hibernate:hibernate-validator:4.3.0.Final" - testCompile "org.codehaus.jackson:jackson-mapper-asl:1.4.2" - testCompile project(":spring-oxm") - testCompile "com.thoughtworks.xstream:xstream:1.3.1" - testCompile "cglib:cglib-nodep:2.2" - testCompile "rome:rome:1.0" - testCompile "javax.xml.bind:jaxb-api:2.2.6" - testCompile "org.easymock:easymockclassextension:${easymockVersion}" - testCompile "org.apache.tiles:tiles-request-api:1.0.1" - testCompile "org.apache.tiles:tiles-api:3.0.1" - testCompile("org.apache.tiles:tiles-core:3.0.1") { - exclude group: 'org.slf4j', module: 'jcl-over-slf4j' - } - testCompile("org.apache.tiles:tiles-servlet:3.0.1") { - exclude group: 'org.slf4j', module: 'jcl-over-slf4j' - } - } + description = 'Spring Test MVC Framework' + ext.mergeIntoProject = project(':spring-test') + apply from: "${gradleScriptDir}/merge-artifacts.gradle" + apply from: "ide.gradle" + dependencies { + compile project(":spring-context") + compile project(":spring-webmvc") + compile project(":spring-test").sourceSets.main.output + compile("org.apache.tomcat:tomcat-servlet-api:7.0.32", provided) + compile("org.hamcrest:hamcrest-core:1.3", optional) + compile("com.jayway.jsonpath:json-path:0.8.1", optional) + compile("xmlunit:xmlunit:1.2", optional) + testCompile "javax.servlet:jstl:1.2" + testCompile "org.hibernate:hibernate-validator:4.3.0.Final" + testCompile "org.codehaus.jackson:jackson-mapper-asl:1.4.2" + testCompile project(":spring-oxm") + testCompile "com.thoughtworks.xstream:xstream:1.3.1" + testCompile "cglib:cglib-nodep:2.2" + testCompile "rome:rome:1.0" + testCompile "javax.xml.bind:jaxb-api:2.2.6" + testCompile "org.easymock:easymockclassextension:${easymockVersion}" + testCompile "org.apache.tiles:tiles-request-api:1.0.1" + testCompile "org.apache.tiles:tiles-api:3.0.1" + testCompile("org.apache.tiles:tiles-core:3.0.1") { + exclude group: 'org.slf4j', module: 'jcl-over-slf4j' + } + testCompile("org.apache.tiles:tiles-servlet:3.0.1") { + exclude group: 'org.slf4j', module: 'jcl-over-slf4j' + } + } } project('spring-struts') { - description = 'Spring Struts' - dependencies { - compile project(":spring-core") - compile project(":spring-beans") - compile project(":spring-context") - compile project(":spring-web") - compile project(":spring-webmvc") - compile "struts:struts:1.2.9" - compile "commons-beanutils:commons-beanutils:1.7.0" - compile("javax.servlet:servlet-api:2.5", provided) - testCompile project(":spring-test") - } + description = 'Spring Struts' + dependencies { + compile project(":spring-core") + compile project(":spring-beans") + compile project(":spring-context") + compile project(":spring-web") + compile project(":spring-webmvc") + compile "struts:struts:1.2.9" + compile "commons-beanutils:commons-beanutils:1.7.0" + compile("javax.servlet:servlet-api:2.5", provided) + testCompile project(":spring-test") + } } project('spring-aspects') { - description = 'Spring Aspects' - apply from: 'aspects.gradle' - dependencies { - compile(project(":spring-beans"), optional) // for @Configurable support - compile(project(":spring-aop"), optional) // for @Async support - compile(project(":spring-context"), optional) // for @Enable* support - compile(project(":spring-context-support"), optional) // for JavaMail support - compile(project(":spring-tx"), optional) // for JPA, @Transactional support - compile(project(":spring-orm"), optional) // for JPA exception translation support - aspects project(":spring-orm") - ajc "org.aspectj:aspectjtools:${aspectjVersion}" - compile "org.aspectj:aspectjweaver:${aspectjVersion}" - testCompile project(":spring-core") // for CodeStyleAspect - compile project(":spring-beans") // for 'p' namespace visibility - testCompile project(":spring-test") - } - eclipse.project { - natures += 'org.eclipse.ajdt.ui.ajnature' - buildCommands = [new org.gradle.plugins.ide.eclipse.model. - BuildCommand('org.eclipse.ajdt.core.ajbuilder')] - } + description = 'Spring Aspects' + apply from: 'aspects.gradle' + dependencies { + compile(project(":spring-beans"), optional) // for @Configurable support + compile(project(":spring-aop"), optional) // for @Async support + compile(project(":spring-context"), optional) // for @Enable* support + compile(project(":spring-context-support"), optional) // for JavaMail support + compile(project(":spring-tx"), optional) // for JPA, @Transactional support + compile(project(":spring-orm"), optional) // for JPA exception translation support + aspects project(":spring-orm") + ajc "org.aspectj:aspectjtools:${aspectjVersion}" + compile "org.aspectj:aspectjweaver:${aspectjVersion}" + testCompile project(":spring-core") // for CodeStyleAspect + compile project(":spring-beans") // for 'p' namespace visibility + testCompile project(":spring-test") + } + eclipse.project { + natures += 'org.eclipse.ajdt.ui.ajnature' + buildCommands = [new org.gradle.plugins.ide.eclipse.model. + BuildCommand('org.eclipse.ajdt.core.ajbuilder')] + } } configure(rootProject) { - description = 'Spring Framework' + description = 'Spring Framework' - apply plugin: 'docbook-reference' - apply from: "${gradleScriptDir}/jdiff.gradle" + apply plugin: 'docbook-reference' + apply from: "${gradleScriptDir}/jdiff.gradle" - reference { - sourceDir = file('src/reference/docbook') - pdfFilename = 'spring-framework-reference.pdf' - } + reference { + sourceDir = file('src/reference/docbook') + pdfFilename = 'spring-framework-reference.pdf' + } - // don't publish the default jar for the root project - configurations.archives.artifacts.clear() + // don't publish the default jar for the root project + configurations.archives.artifacts.clear() - dependencies { // for integration tests - testCompile project(":spring-core") - testCompile project(":spring-beans") - testCompile project(":spring-aop") - testCompile project(":spring-expression") - testCompile project(":spring-context") - testCompile project(":spring-tx") - testCompile project(":spring-jdbc") - testCompile project(":spring-test") - testCompile project(":spring-web") - testCompile project(":spring-webmvc-portlet") - testCompile "org.hibernate:hibernate-core:4.1.0.Final" - testCompile "javax.servlet:servlet-api:2.5" - } + dependencies { // for integration tests + testCompile project(":spring-core") + testCompile project(":spring-beans") + testCompile project(":spring-aop") + testCompile project(":spring-expression") + testCompile project(":spring-context") + testCompile project(":spring-tx") + testCompile project(":spring-jdbc") + testCompile project(":spring-test") + testCompile project(":spring-web") + testCompile project(":spring-webmvc-portlet") + testCompile "org.hibernate:hibernate-core:4.1.0.Final" + testCompile "javax.servlet:servlet-api:2.5" + } - task api(type: Javadoc) { - group = 'Documentation' - description = 'Generates aggregated Javadoc API documentation.' - title = "${rootProject.description} ${version} API" - options.memberLevel = org.gradle.external.javadoc.JavadocMemberLevel.PROTECTED - options.author = true - options.header = rootProject.description - options.overview = 'src/api/overview.html' - options.splitIndex = true - options.links( - 'http://docs.jboss.org/jbossas/javadoc/4.0.5/connector' - ) - source subprojects.collect { project -> - project.sourceSets.main.allJava - } - destinationDir = new File(buildDir, "api") - classpath = files(subprojects.collect { project -> - project.sourceSets.main.compileClasspath - }) - maxMemory = '1024m' - } + task api(type: Javadoc) { + group = 'Documentation' + description = 'Generates aggregated Javadoc API documentation.' + title = "${rootProject.description} ${version} API" + options.memberLevel = org.gradle.external.javadoc.JavadocMemberLevel.PROTECTED + options.author = true + options.header = rootProject.description + options.overview = 'src/api/overview.html' + options.splitIndex = true + options.links( + 'http://docs.jboss.org/jbossas/javadoc/4.0.5/connector' + ) + source subprojects.collect { project -> + project.sourceSets.main.allJava + } + destinationDir = new File(buildDir, "api") + classpath = files(subprojects.collect { project -> + project.sourceSets.main.compileClasspath + }) + maxMemory = '1024m' + } - task docsZip(type: Zip) { - group = 'Distribution' - baseName = 'spring-framework' - classifier = 'docs' - description = "Builds -${classifier} archive containing api and reference " + - "for deployment at http://static.springframework.org/spring-framework/docs." + task docsZip(type: Zip) { + group = 'Distribution' + baseName = 'spring-framework' + classifier = 'docs' + description = "Builds -${classifier} archive containing api and reference " + + "for deployment at http://static.springframework.org/spring-framework/docs." - from('src/dist') { - include 'changelog.txt' - } + from('src/dist') { + include 'changelog.txt' + } - from (api) { - into 'api' - } + from (api) { + into 'api' + } - from (reference) { - into 'reference' - } - } + from (reference) { + into 'reference' + } + } - task schemaZip(type: Zip) { - group = 'Distribution' - baseName = 'spring-framework' - classifier = 'schema' - description = "Builds -${classifier} archive containing all " + - "XSDs for deployment at http://springframework.org/schema." + task schemaZip(type: Zip) { + group = 'Distribution' + baseName = 'spring-framework' + classifier = 'schema' + description = "Builds -${classifier} archive containing all " + + "XSDs for deployment at http://springframework.org/schema." - subprojects.each { subproject -> - def Properties schemas = new Properties(); + subprojects.each { subproject -> + def Properties schemas = new Properties(); - subproject.sourceSets.main.resources.find { - it.path.endsWith('META-INF/spring.schemas') - }?.withInputStream { schemas.load(it) } + subproject.sourceSets.main.resources.find { + it.path.endsWith('META-INF/spring.schemas') + }?.withInputStream { schemas.load(it) } - for (def key : schemas.keySet()) { - def shortName = key.replaceAll(/http.*schema.(.*).spring-.*/, '$1') - assert shortName != key - File xsdFile = subproject.sourceSets.main.resources.find { - it.path.endsWith(schemas.get(key)) - } - assert xsdFile != null - into (shortName) { - from xsdFile.path - } - } - } - } + for (def key : schemas.keySet()) { + def shortName = key.replaceAll(/http.*schema.(.*).spring-.*/, '$1') + assert shortName != key + File xsdFile = subproject.sourceSets.main.resources.find { + it.path.endsWith(schemas.get(key)) + } + assert xsdFile != null + into (shortName) { + from xsdFile.path + } + } + } + } - task distZip(type: Zip, dependsOn: [docsZip, schemaZip]) { - group = 'Distribution' - baseName = 'spring-framework' - classifier = 'dist' - description = "Builds -${classifier} archive, containing all jars and docs, " + - "suitable for community download page." + task distZip(type: Zip, dependsOn: [docsZip, schemaZip]) { + group = 'Distribution' + baseName = 'spring-framework' + classifier = 'dist' + description = "Builds -${classifier} archive, containing all jars and docs, " + + "suitable for community download page." - ext.baseDir = "${baseName}-${project.version}"; + ext.baseDir = "${baseName}-${project.version}"; - from('src/dist') { - include 'readme.txt' - include 'license.txt' - include 'notice.txt' - into "${baseDir}" - expand(copyright: new Date().format('yyyy'), version: project.version) - } + from('src/dist') { + include 'readme.txt' + include 'license.txt' + include 'notice.txt' + into "${baseDir}" + expand(copyright: new Date().format('yyyy'), version: project.version) + } - from(zipTree(docsZip.archivePath)) { - into "${baseDir}/docs" - } + from(zipTree(docsZip.archivePath)) { + into "${baseDir}/docs" + } - from(zipTree(schemaZip.archivePath)) { - into "${baseDir}/schema" - } + from(zipTree(schemaZip.archivePath)) { + into "${baseDir}/schema" + } - subprojects.each { subproject -> - into ("${baseDir}/libs") { - from subproject.jar - if (subproject.tasks.findByPath('sourcesJar')) { - from subproject.sourcesJar - } - if (subproject.tasks.findByPath('javadocJar')) { - from subproject.javadocJar - } - } - } - } + subprojects.each { subproject -> + into ("${baseDir}/libs") { + from subproject.jar + if (subproject.tasks.findByPath('sourcesJar')) { + from subproject.sourcesJar + } + if (subproject.tasks.findByPath('javadocJar')) { + from subproject.javadocJar + } + } + } + } - // Create an distribution that contains all dependencies (required and optional). - // Not published by default; only for use when building from source. - task depsZip(type: Zip, dependsOn: distZip) { zipTask -> - group = 'Distribution' - baseName = 'spring-framework' - classifier = 'dist-with-deps' - description = "Builds -${classifier} archive, containing everything " + - "in the -${distZip.classifier} archive plus all runtime dependencies." + // Create an distribution that contains all dependencies (required and optional). + // Not published by default; only for use when building from source. + task depsZip(type: Zip, dependsOn: distZip) { zipTask -> + group = 'Distribution' + baseName = 'spring-framework' + classifier = 'dist-with-deps' + description = "Builds -${classifier} archive, containing everything " + + "in the -${distZip.classifier} archive plus all runtime dependencies." - from zipTree(distZip.archivePath) + from zipTree(distZip.archivePath) - gradle.taskGraph.whenReady { taskGraph -> - if (taskGraph.hasTask(":${zipTask.name}")) { - def projectNames = rootProject.subprojects*.name - def artifacts = new HashSet() - subprojects.each { subproject -> - subproject.configurations.runtime.resolvedConfiguration.resolvedArtifacts.each { artifact -> - def dependency = artifact.moduleVersion.id - if (!projectNames.contains(dependency.name)) { - artifacts << artifact.file - } - } - } + gradle.taskGraph.whenReady { taskGraph -> + if (taskGraph.hasTask(":${zipTask.name}")) { + def projectNames = rootProject.subprojects*.name + def artifacts = new HashSet() + subprojects.each { subproject -> + subproject.configurations.runtime.resolvedConfiguration.resolvedArtifacts.each { artifact -> + def dependency = artifact.moduleVersion.id + if (!projectNames.contains(dependency.name)) { + artifacts << artifact.file + } + } + } - zipTask.from(artifacts) { - into "${distZip.baseDir}/deps" - } - } - } - } + zipTask.from(artifacts) { + into "${distZip.baseDir}/deps" + } + } + } + } - artifacts { - archives docsZip - archives schemaZip - archives distZip - } + artifacts { + archives docsZip + archives schemaZip + archives distZip + } - task wrapper(type: Wrapper) { - description = 'Generates gradlew[.bat] scripts' - gradleVersion = '1.3' + task wrapper(type: Wrapper) { + description = 'Generates gradlew[.bat] scripts' + gradleVersion = '1.3' - doLast() { - def gradleOpts = "-XX:MaxPermSize=1024m -Xmx1024m" - def gradleBatOpts = "$gradleOpts -XX:MaxHeapSize=256m" - File wrapperFile = file('gradlew') - wrapperFile.text = wrapperFile.text.replace("DEFAULT_JVM_OPTS=", - "GRADLE_OPTS=\"$gradleOpts \$GRADLE_OPTS\"\nDEFAULT_JVM_OPTS=") - File wrapperBatFile = file('gradlew.bat') - wrapperBatFile.text = wrapperBatFile.text.replace("set DEFAULT_JVM_OPTS=", - "set GRADLE_OPTS=$gradleBatOpts %GRADLE_OPTS%\nset DEFAULT_JVM_OPTS=") - } - } + doLast() { + def gradleOpts = "-XX:MaxPermSize=1024m -Xmx1024m" + def gradleBatOpts = "$gradleOpts -XX:MaxHeapSize=256m" + File wrapperFile = file('gradlew') + wrapperFile.text = wrapperFile.text.replace("DEFAULT_JVM_OPTS=", + "GRADLE_OPTS=\"$gradleOpts \$GRADLE_OPTS\"\nDEFAULT_JVM_OPTS=") + File wrapperBatFile = file('gradlew.bat') + wrapperBatFile.text = wrapperBatFile.text.replace("set DEFAULT_JVM_OPTS=", + "set GRADLE_OPTS=$gradleBatOpts %GRADLE_OPTS%\nset DEFAULT_JVM_OPTS=") + } + } } diff --git a/gradle/ide.gradle b/gradle/ide.gradle index 623c31c004..efb9896cdb 100644 --- a/gradle/ide.gradle +++ b/gradle/ide.gradle @@ -1,26 +1,26 @@ import org.gradle.plugins.ide.eclipse.model.ProjectDependency eclipse.classpath.file.whenMerged { classpath -> - // servlet-api (2.5) and tomcat-servlet-api (3.0) classpath entries should not be - // exported to dependent projects in Eclipse to avoid false compilation errors due - // to changing APIs across these versions - classpath.entries.findAll { entry -> entry.path.contains('servlet-api') }*.exported = false + // servlet-api (2.5) and tomcat-servlet-api (3.0) classpath entries should not be + // exported to dependent projects in Eclipse to avoid false compilation errors due + // to changing APIs across these versions + classpath.entries.findAll { entry -> entry.path.contains('servlet-api') }*.exported = false - // GRADLE-1116 - def regexp = /.*?\/([^\/]+)\/build\/[^\/]+\/(?:main|test)/ // only match those that end in main or test (avoids removing necessary entries like build/classes/jaxb) - def projectOutputDependencies = classpath.entries.findAll { entry -> entry.path =~ regexp } - projectOutputDependencies.each { entry -> - def matcher = (entry.path =~ regexp) - if(matcher) { - def projectName = matcher[0][1] - def path = "/${projectName}" - if(!classpath.entries.find { e -> e instanceof ProjectDependency && e.path == path }) { - def dependency = new ProjectDependency(path, project(":${projectName}").path) - dependency.exported = true - classpath.entries.add(dependency) - } - classpath.entries.remove(entry) - } - } - classpath.entries.removeAll { entry -> (entry.path =~ /(?!.*?repack.*\.jar).*?\/([^\/]+)\/build\/libs\/[^\/]+\.jar/) } -} \ No newline at end of file + // GRADLE-1116 + def regexp = /.*?\/([^\/]+)\/build\/[^\/]+\/(?:main|test)/ // only match those that end in main or test (avoids removing necessary entries like build/classes/jaxb) + def projectOutputDependencies = classpath.entries.findAll { entry -> entry.path =~ regexp } + projectOutputDependencies.each { entry -> + def matcher = (entry.path =~ regexp) + if(matcher) { + def projectName = matcher[0][1] + def path = "/${projectName}" + if(!classpath.entries.find { e -> e instanceof ProjectDependency && e.path == path }) { + def dependency = new ProjectDependency(path, project(":${projectName}").path) + dependency.exported = true + classpath.entries.add(dependency) + } + classpath.entries.remove(entry) + } + } + classpath.entries.removeAll { entry -> (entry.path =~ /(?!.*?repack.*\.jar).*?\/([^\/]+)\/build\/libs\/[^\/]+\.jar/) } +} diff --git a/gradle/jdiff.gradle b/gradle/jdiff.gradle index fbce6e9e9b..277f1edf2a 100644 --- a/gradle/jdiff.gradle +++ b/gradle/jdiff.gradle @@ -11,64 +11,64 @@ * @param OLD_VERSION_ROOT required, typically pointing to a separate git clone dir */ task jdiff { - description = 'Generates a JDiff report' - group = 'Documentation' + description = 'Generates a JDiff report' + group = 'Documentation' - def jdiffHome = "${rootProject.rootDir}/gradle/jdiff" + def jdiffHome = "${rootProject.rootDir}/gradle/jdiff" - ant.taskdef( - name: 'jdiff', - classname: 'jdiff.JDiffAntTask', - classpath: "${jdiffHome}/antjdiff.jar") + ant.taskdef( + name: 'jdiff', + classname: 'jdiff.JDiffAntTask', + classpath: "${jdiffHome}/antjdiff.jar") - def previousVersion = rootProject.previousVersion + def previousVersion = rootProject.previousVersion - def currentVersion = rootProject.version - def currentVersionRoot = rootProject.rootDir + def currentVersion = rootProject.version + def currentVersionRoot = rootProject.rootDir - def oldVersion = System.getProperty("OLD_VERSION") ?: previousVersion - def oldVersionRoot = System.getProperty("OLD_VERSION_ROOT") + def oldVersion = System.getProperty("OLD_VERSION") ?: previousVersion + def oldVersionRoot = System.getProperty("OLD_VERSION_ROOT") - def outputDir = "${rootProject.buildDir}/reports/jdiff/${oldVersion}_to_${currentVersion}" + def outputDir = "${rootProject.buildDir}/reports/jdiff/${oldVersion}_to_${currentVersion}" - doLast { - if (oldVersionRoot == null) - throw new IllegalArgumentException( - "Set OLD_VERSION_ROOT property to indicate the root directory for ${oldVersion}") + doLast { + if (oldVersionRoot == null) + throw new IllegalArgumentException( + "Set OLD_VERSION_ROOT property to indicate the root directory for ${oldVersion}") - oldVersionRoot = new File(oldVersionRoot) + oldVersionRoot = new File(oldVersionRoot) - ant.property(name: 'JDIFF_HOME', value: jdiffHome) - ant.mkdir(dir: outputDir) - ant.jdiff( - destdir: outputDir, - verbose: 'off', - stats: 'on', - docchanges: 'on') { - old(name: "Spring Framework ${oldVersion}") { - oldVersionRoot.eachDirMatch( { - def candidate = new File(it) - candidate.name.matches("org.springframework.*") || - candidate.name.matches("spring-.*") }) { match -> - match.eachDirRecurse { subdir -> - if (subdir.path ==~ '.*/src/main/java$') { - dirset(dir: subdir.path, includes: 'org/**') - } - } - } - } - 'new'(name: "Spring Framework ${currentVersion}") { - currentVersionRoot.eachDirMatch( { - def candidate = new File(it) - candidate.name.matches("org.springframework.*") || - candidate.name.matches("spring-.*") }) { match -> - match.eachDirRecurse { subdir -> - if (subdir.path ==~ '.*/src/main/java$') { - dirset(dir: subdir.path, includes: 'org/**') - } - } - } - } - } - } + ant.property(name: 'JDIFF_HOME', value: jdiffHome) + ant.mkdir(dir: outputDir) + ant.jdiff( + destdir: outputDir, + verbose: 'off', + stats: 'on', + docchanges: 'on') { + old(name: "Spring Framework ${oldVersion}") { + oldVersionRoot.eachDirMatch( { + def candidate = new File(it) + candidate.name.matches("org.springframework.*") || + candidate.name.matches("spring-.*") }) { match -> + match.eachDirRecurse { subdir -> + if (subdir.path ==~ '.*/src/main/java$') { + dirset(dir: subdir.path, includes: 'org/**') + } + } + } + } + 'new'(name: "Spring Framework ${currentVersion}") { + currentVersionRoot.eachDirMatch( { + def candidate = new File(it) + candidate.name.matches("org.springframework.*") || + candidate.name.matches("spring-.*") }) { match -> + match.eachDirRecurse { subdir -> + if (subdir.path ==~ '.*/src/main/java$') { + dirset(dir: subdir.path, includes: 'org/**') + } + } + } + } + } + } } diff --git a/gradle/merge-artifacts.gradle b/gradle/merge-artifacts.gradle index fd175ea644..084563a09e 100644 --- a/gradle/merge-artifacts.gradle +++ b/gradle/merge-artifacts.gradle @@ -22,43 +22,43 @@ def mergeFromProject = project // invoking a task on mergeFromProject will invoke the task with the same name on mergeIntoProject def taskNamesToMerge = ['sourcesJar','jar','javadocJar','javadoc','install','artifactoryPublish'] taskNamesToMerge.each { taskName -> - def taskToRemove = mergeFromProject.tasks.findByPath(taskName) - if(taskToRemove) { - taskToRemove.enabled = false - taskToRemove.dependsOn mergeIntoProject."$taskName" - } + def taskToRemove = mergeFromProject.tasks.findByPath(taskName) + if(taskToRemove) { + taskToRemove.enabled = false + taskToRemove.dependsOn mergeIntoProject."$taskName" + } } // update mergeIntoProject artifacts to contain the mergeFromProject artifact contents mergeIntoProject."sourcesJar" { - from mergeFromProject.sourcesJar.source + from mergeFromProject.sourcesJar.source } mergeIntoProject."jar" { - from mergeFromProject.jar.source + from mergeFromProject.jar.source } mergeIntoProject."javadoc" { - source += mergeFromProject.javadoc.source - classpath += mergeFromProject.javadoc.classpath + source += mergeFromProject.javadoc.source + classpath += mergeFromProject.javadoc.classpath } // Update mergeIntoProject to contain additional configurations that contains all the dependencies from mergeFromProject // so that Maven pom generation works gradle.taskGraph.whenReady { - mergeFromProject.configurations.archives.artifacts.clear() + mergeFromProject.configurations.archives.artifacts.clear() - mergeFromProject.configurations.each { config-> - def mapping = mergeFromProject.conf2ScopeMappings.getMapping([config]) - if(mapping.scope) { - def newConfigName = mergeFromProject.name + "-"+ config.name - mergeIntoProject.configurations.add(newConfigName) - config.dependencies.each { dependency -> - mergeIntoProject.dependencies.add(newConfigName, dependency) - } - configure(mergeIntoProject.install.repositories.mavenInstaller.pom.scopeMappings) { - addMapping(mapping.priority + 100, mergeIntoProject.configurations."$newConfigName", mapping.scope) - } - mergeIntoProject.optionalDeps += mergeFromProject.optionalDeps - mergeIntoProject.providedDeps += mergeFromProject.providedDeps - } - } + mergeFromProject.configurations.each { config-> + def mapping = mergeFromProject.conf2ScopeMappings.getMapping([config]) + if(mapping.scope) { + def newConfigName = mergeFromProject.name + "-"+ config.name + mergeIntoProject.configurations.add(newConfigName) + config.dependencies.each { dependency -> + mergeIntoProject.dependencies.add(newConfigName, dependency) + } + configure(mergeIntoProject.install.repositories.mavenInstaller.pom.scopeMappings) { + addMapping(mapping.priority + 100, mergeIntoProject.configurations."$newConfigName", mapping.scope) + } + mergeIntoProject.optionalDeps += mergeFromProject.optionalDeps + mergeIntoProject.providedDeps += mergeFromProject.providedDeps + } + } } diff --git a/gradle/publish-maven.gradle b/gradle/publish-maven.gradle index b7d01cbf83..55fb94e635 100644 --- a/gradle/publish-maven.gradle +++ b/gradle/publish-maven.gradle @@ -7,54 +7,54 @@ ext.optional = { optionalDeps << it } ext.provided = { providedDeps << it } install { - repositories.mavenInstaller { - customizePom(pom, project) - } + repositories.mavenInstaller { + customizePom(pom, project) + } } def customizePom(pom, gradleProject) { - pom.whenConfigured { generatedPom -> - // respect 'optional' and 'provided' dependencies - gradleProject.optionalDeps.each { dep -> - generatedPom.dependencies.findAll { it.artifactId == dep.name }*.optional = true - } - gradleProject.providedDeps.each { dep -> - generatedPom.dependencies.findAll { it.artifactId == dep.name }*.scope = 'provided' - } + pom.whenConfigured { generatedPom -> + // respect 'optional' and 'provided' dependencies + gradleProject.optionalDeps.each { dep -> + generatedPom.dependencies.findAll { it.artifactId == dep.name }*.optional = true + } + gradleProject.providedDeps.each { dep -> + generatedPom.dependencies.findAll { it.artifactId == dep.name }*.scope = 'provided' + } - // eliminate test-scoped dependencies (no need in maven central poms) - generatedPom.dependencies.removeAll { dep -> - dep.scope == 'test' - } + // eliminate test-scoped dependencies (no need in maven central poms) + generatedPom.dependencies.removeAll { dep -> + dep.scope == 'test' + } - // add all items necessary for maven central publication - generatedPom.project { - name = gradleProject.description - description = gradleProject.description - url = 'https://github.com/SpringSource/spring-framework' - organization { - name = 'SpringSource' - url = 'http://springsource.org/spring-framework' - } - licenses { - license { - name 'The Apache Software License, Version 2.0' - url 'http://www.apache.org/licenses/LICENSE-2.0.txt' - distribution 'repo' - } - } - scm { - url = 'https://github.com/SpringSource/spring-framework' - connection = 'scm:git:git://github.com/SpringSource/spring-framework' - developerConnection = 'scm:git:git://github.com/SpringSource/spring-framework' - } - developers { - developer { - id = 'jhoeller' - name = 'Juergen Hoeller' - email = 'jhoeller@vmware.com' - } - } - } - } + // add all items necessary for maven central publication + generatedPom.project { + name = gradleProject.description + description = gradleProject.description + url = 'https://github.com/SpringSource/spring-framework' + organization { + name = 'SpringSource' + url = 'http://springsource.org/spring-framework' + } + licenses { + license { + name 'The Apache Software License, Version 2.0' + url 'http://www.apache.org/licenses/LICENSE-2.0.txt' + distribution 'repo' + } + } + scm { + url = 'https://github.com/SpringSource/spring-framework' + connection = 'scm:git:git://github.com/SpringSource/spring-framework' + developerConnection = 'scm:git:git://github.com/SpringSource/spring-framework' + } + developers { + developer { + id = 'jhoeller' + name = 'Juergen Hoeller' + email = 'jhoeller@vmware.com' + } + } + } + } } diff --git a/spring-aspects/aspects.gradle b/spring-aspects/aspects.gradle index 3024a01ae6..6c07d4e52c 100644 --- a/spring-aspects/aspects.gradle +++ b/spring-aspects/aspects.gradle @@ -2,65 +2,65 @@ // compile sources with ajc instead of javac configurations { - ajc - aspects - ajInpath + ajc + aspects + ajInpath } task compileJava(overwrite: true) { - dependsOn JavaPlugin.PROCESS_RESOURCES_TASK_NAME - dependsOn configurations.ajc.getTaskDependencyFromProjectDependency(true, "compileJava") + dependsOn JavaPlugin.PROCESS_RESOURCES_TASK_NAME + dependsOn configurations.ajc.getTaskDependencyFromProjectDependency(true, "compileJava") - def outputDir = project.sourceSets.main.output.classesDir + def outputDir = project.sourceSets.main.output.classesDir - inputs.files(project.sourceSets.main.allSource + project.sourceSets.main.compileClasspath) - outputs.dir outputDir + inputs.files(project.sourceSets.main.allSource + project.sourceSets.main.compileClasspath) + outputs.dir outputDir - doLast{ - ant.taskdef(resource: "org/aspectj/tools/ant/taskdefs/aspectjTaskdefs.properties", - classpath: configurations.ajc.asPath) + doLast{ + ant.taskdef(resource: "org/aspectj/tools/ant/taskdefs/aspectjTaskdefs.properties", + classpath: configurations.ajc.asPath) - ant.iajc(source: sourceCompatibility, target: targetCompatibility, - maxmem: "1024m", fork: "true", Xlint: "ignore", - destDir: outputDir.absolutePath, - aspectPath: configurations.aspects.asPath, - inpath: configurations.ajInpath.asPath, - sourceRootCopyFilter: "**/*.java", - classpath: configurations.compile.asPath) { - sourceroots { - sourceSets.main.java.srcDirs.each { - pathelement(location:it.absolutePath) - } - } - } - } + ant.iajc(source: sourceCompatibility, target: targetCompatibility, + maxmem: "1024m", fork: "true", Xlint: "ignore", + destDir: outputDir.absolutePath, + aspectPath: configurations.aspects.asPath, + inpath: configurations.ajInpath.asPath, + sourceRootCopyFilter: "**/*.java", + classpath: configurations.compile.asPath) { + sourceroots { + sourceSets.main.java.srcDirs.each { + pathelement(location:it.absolutePath) + } + } + } + } } task compileTestJava(overwrite: true) { - dependsOn JavaPlugin.PROCESS_TEST_RESOURCES_TASK_NAME - dependsOn configurations.ajc.getTaskDependencyFromProjectDependency(true, "compileTestJava") - dependsOn jar + dependsOn JavaPlugin.PROCESS_TEST_RESOURCES_TASK_NAME + dependsOn configurations.ajc.getTaskDependencyFromProjectDependency(true, "compileTestJava") + dependsOn jar - def outputDir = project.sourceSets.test.output.classesDir + def outputDir = project.sourceSets.test.output.classesDir - inputs.files(project.sourceSets.test.allSource + project.sourceSets.test.compileClasspath) - outputs.dir outputDir + inputs.files(project.sourceSets.test.allSource + project.sourceSets.test.compileClasspath) + outputs.dir outputDir - doLast{ - ant.taskdef(resource: "org/aspectj/tools/ant/taskdefs/aspectjTaskdefs.properties", - classpath: configurations.ajc.asPath) + doLast{ + ant.taskdef(resource: "org/aspectj/tools/ant/taskdefs/aspectjTaskdefs.properties", + classpath: configurations.ajc.asPath) - ant.iajc(source: sourceCompatibility, target: targetCompatibility, - maxmem: "1024m", fork: "true", Xlint: "ignore", - destDir: outputDir.absolutePath, - aspectPath: jar.archivePath, - inpath: configurations.ajInpath.asPath, - classpath: configurations.testRuntime.asPath + configurations.compile.asPath + jar.archivePath) { - sourceroots { - sourceSets.test.java.srcDirs.each { - pathelement(location:it.absolutePath) - } - } - } - } + ant.iajc(source: sourceCompatibility, target: targetCompatibility, + maxmem: "1024m", fork: "true", Xlint: "ignore", + destDir: outputDir.absolutePath, + aspectPath: jar.archivePath, + inpath: configurations.ajInpath.asPath, + classpath: configurations.testRuntime.asPath + configurations.compile.asPath + jar.archivePath) { + sourceroots { + sourceSets.test.java.srcDirs.each { + pathelement(location:it.absolutePath) + } + } + } + } } diff --git a/spring-oxm/oxm.gradle b/spring-oxm/oxm.gradle index 23e2844027..9eef548427 100644 --- a/spring-oxm/oxm.gradle +++ b/spring-oxm/oxm.gradle @@ -1,130 +1,130 @@ configurations { - castor - xjc - xmlbeans - jibx + castor + xjc + xmlbeans + jibx } dependencies { - castor "org.codehaus.castor:castor-anttasks:1.2" - castor "velocity:velocity:1.5" - xjc "com.sun.xml:com.springsource.com.sun.tools.xjc:2.1.7" - xmlbeans "org.apache.xmlbeans:com.springsource.org.apache.xmlbeans:2.4.0" - jibx "org.jibx:jibx-bind:1.2.3" - jibx "bcel:bcel:5.1" + castor "org.codehaus.castor:castor-anttasks:1.2" + castor "velocity:velocity:1.5" + xjc "com.sun.xml:com.springsource.com.sun.tools.xjc:2.1.7" + xmlbeans "org.apache.xmlbeans:com.springsource.org.apache.xmlbeans:2.4.0" + jibx "org.jibx:jibx-bind:1.2.3" + jibx "bcel:bcel:5.1" } ext.genSourcesDir = "${buildDir}/generated-sources" ext.flightSchema = "${projectDir}/src/test/resources/org/springframework/oxm/flight.xsd" task genCastor { - def orderSchema = "${projectDir}/src/test/resources/org/springframework/oxm/order.xsd" - def castorBuilderProperties = "${projectDir}/src/test/castor/castorbuilder.properties" + def orderSchema = "${projectDir}/src/test/resources/org/springframework/oxm/order.xsd" + def castorBuilderProperties = "${projectDir}/src/test/castor/castorbuilder.properties" - ext.sourcesDir = "${genSourcesDir}/castor" - ext.classesDir = "${buildDir}/classes/castor" + ext.sourcesDir = "${genSourcesDir}/castor" + ext.classesDir = "${buildDir}/classes/castor" - inputs.files flightSchema, orderSchema, castorBuilderProperties - outputs.dir classesDir + inputs.files flightSchema, orderSchema, castorBuilderProperties + outputs.dir classesDir - doLast() { - project.ant { - taskdef name: "castor", classname: "org.castor.anttask.CastorCodeGenTask", - classpath: configurations.castor.asPath - mkdir(dir: sourcesDir) - mkdir(dir: classesDir) + doLast() { + project.ant { + taskdef name: "castor", classname: "org.castor.anttask.CastorCodeGenTask", + classpath: configurations.castor.asPath + mkdir(dir: sourcesDir) + mkdir(dir: classesDir) - castor(types: "j2", warnings: false, file: flightSchema, todir: sourcesDir, - package: "org.springframework.oxm.castor", properties: castorBuilderProperties) + castor(types: "j2", warnings: false, file: flightSchema, todir: sourcesDir, + package: "org.springframework.oxm.castor", properties: castorBuilderProperties) - castor(types: "j2", warnings: false, file: orderSchema, todir: sourcesDir, - package: "org.springframework.oxm.castor", properties: castorBuilderProperties) + castor(types: "j2", warnings: false, file: orderSchema, todir: sourcesDir, + package: "org.springframework.oxm.castor", properties: castorBuilderProperties) - javac(destdir: classesDir, source: 1.5, target: 1.5, debug: true, - debugLevel: "lines,vars,source", classpath: configurations.castor.asPath) { - src(path: sourcesDir) - include(name: "**/*.java") - include(name: "*.java") - } + javac(destdir: classesDir, source: 1.5, target: 1.5, debug: true, + debugLevel: "lines,vars,source", classpath: configurations.castor.asPath) { + src(path: sourcesDir) + include(name: "**/*.java") + include(name: "*.java") + } - copy(todir: classesDir) { - fileset(dir: sourcesDir, erroronmissingdir: false) { - exclude(name: "**/*.java") - } - } - } - } + copy(todir: classesDir) { + fileset(dir: sourcesDir, erroronmissingdir: false) { + exclude(name: "**/*.java") + } + } + } + } } task genJaxb { - ext.sourcesDir = "${genSourcesDir}/jaxb" - ext.classesDir = "${buildDir}/classes/jaxb" + ext.sourcesDir = "${genSourcesDir}/jaxb" + ext.classesDir = "${buildDir}/classes/jaxb" - inputs.files flightSchema - outputs.dir classesDir + inputs.files flightSchema + outputs.dir classesDir - doLast() { - project.ant { - taskdef name: "xjc", classname: "com.sun.tools.xjc.XJCTask", - classpath: configurations.xjc.asPath - mkdir(dir: sourcesDir) - mkdir(dir: classesDir) + doLast() { + project.ant { + taskdef name: "xjc", classname: "com.sun.tools.xjc.XJCTask", + classpath: configurations.xjc.asPath + mkdir(dir: sourcesDir) + mkdir(dir: classesDir) - xjc(destdir: sourcesDir, schema: flightSchema, - package: "org.springframework.oxm.jaxb.test") { - produces(dir: sourcesDir, includes: "**/*.java") - } + xjc(destdir: sourcesDir, schema: flightSchema, + package: "org.springframework.oxm.jaxb.test") { + produces(dir: sourcesDir, includes: "**/*.java") + } - javac(destdir: classesDir, source: 1.5, target: 1.5, debug: true, - debugLevel: "lines,vars,source", - classpath: configurations.castor.asPath) { - src(path: sourcesDir) - include(name: "**/*.java") - include(name: "*.java") - } + javac(destdir: classesDir, source: 1.5, target: 1.5, debug: true, + debugLevel: "lines,vars,source", + classpath: configurations.castor.asPath) { + src(path: sourcesDir) + include(name: "**/*.java") + include(name: "*.java") + } - copy(todir: classesDir) { - fileset(dir: sourcesDir, erroronmissingdir: false) { - exclude(name: "**/*.java") - } - } - } - } + copy(todir: classesDir) { + fileset(dir: sourcesDir, erroronmissingdir: false) { + exclude(name: "**/*.java") + } + } + } + } } task genXmlbeans { - ext.classesDir = "${buildDir}/classes/xmlbeans" + ext.classesDir = "${buildDir}/classes/xmlbeans" - inputs.files flightSchema - outputs.dir classesDir + inputs.files flightSchema + outputs.dir classesDir - doLast() { - project.ant { - taskdef name: "xmlbeans", - classname: "org.apache.xmlbeans.impl.tool.XMLBean", - classpath: configurations.xmlbeans.asPath + doLast() { + project.ant { + taskdef name: "xmlbeans", + classname: "org.apache.xmlbeans.impl.tool.XMLBean", + classpath: configurations.xmlbeans.asPath - xmlbeans(classgendir: classesDir, schema: flightSchema, - compiler: "modern", verbose: "false", - classpath: configurations.xmlbeans.asPath) - } - } + xmlbeans(classgendir: classesDir, schema: flightSchema, + compiler: "modern", verbose: "false", + classpath: configurations.xmlbeans.asPath) + } + } } // add jibx binding to the normal test compilation process compileTestJava { - def bindingXml = "${projectDir}/src/test/resources/org/springframework/oxm/jibx/binding.xml" + def bindingXml = "${projectDir}/src/test/resources/org/springframework/oxm/jibx/binding.xml" - doLast() { - project.ant { - taskdef(name: "jibx", - classname: "org.jibx.binding.ant.CompileTask", - classpath: configurations.jibx.asPath) + doLast() { + project.ant { + taskdef(name: "jibx", + classname: "org.jibx.binding.ant.CompileTask", + classpath: configurations.jibx.asPath) - jibx(verbose: true, load: true, binding: bindingXml) { - classpathset(dir: sourceSets.test.output.classesDir) { - include(name: "**/jibx/**/*") - } - } - } - } + jibx(verbose: true, load: true, binding: bindingXml) { + classpathset(dir: sourceSets.test.output.classesDir) { + include(name: "**/jibx/**/*") + } + } + } + } } diff --git a/spring-test-mvc/ide.gradle b/spring-test-mvc/ide.gradle index 321f525ecf..4d5e562898 100644 --- a/spring-test-mvc/ide.gradle +++ b/spring-test-mvc/ide.gradle @@ -2,6 +2,6 @@ import org.gradle.plugins.ide.eclipse.model.ProjectDependency // SPR-10042 eclipse.classpath.file.whenMerged { classpath -> - def projectName = 'spring-webmvc-tiles3' - classpath.entries.add(0, new ProjectDependency("/${projectName}", project(":${projectName}").path)) + def projectName = 'spring-webmvc-tiles3' + classpath.entries.add(0, new ProjectDependency("/${projectName}", project(":${projectName}").path)) }