409 lines
16 KiB
Groovy
409 lines
16 KiB
Groovy
|
description = 'Spring Framework'
|
||
|
|
||
|
configure(subprojects - project(":spring-integration-tests")) {
|
||
|
apply plugin: 'maven'
|
||
|
}
|
||
|
|
||
|
configure(allprojects - project(":spring-integration-tests")) {
|
||
|
group = 'org.springframework'
|
||
|
}
|
||
|
|
||
|
configure(subprojects) {
|
||
|
apply plugin: 'java'
|
||
|
apply plugin: 'eclipse'
|
||
|
apply plugin: 'idea'
|
||
|
|
||
|
sourceCompatibility=1.5
|
||
|
targetCompatibility=1.5
|
||
|
|
||
|
slf4jLog4jVersion = '1.5.10'
|
||
|
|
||
|
[compileJava, compileTestJava]*.options*.compilerArgs = ['-Xlint:none']
|
||
|
|
||
|
sourceSets.test.resources.srcDirs = ['src/test/resources', 'src/test/java']
|
||
|
|
||
|
test.systemProperty("java.awt.headless", "true")
|
||
|
|
||
|
repositories {
|
||
|
maven { url "http://repo.springsource.org/libs-release" }
|
||
|
}
|
||
|
|
||
|
dependencies {
|
||
|
testCompile "org.junit:com.springsource.org.junit:4.9.0"
|
||
|
testCompile "org.easymock:easymock:2.5.1"
|
||
|
testCompile "org.hamcrest:hamcrest-all:1.1"
|
||
|
}
|
||
|
|
||
|
// 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
|
||
|
eclipse.classpath.file.whenMerged { classpath ->
|
||
|
classpath.entries.findAll { entry -> entry.path.contains('servlet-api') }*.exported = false
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
|
||
|
configure(subprojects - project(":spring-asm") - project(":spring-integration-tests")) {
|
||
|
|
||
|
task sourcesJar(type: Jar, dependsOn:classes) {
|
||
|
classifier = 'sources'
|
||
|
from sourceSets.main.allSource
|
||
|
}
|
||
|
|
||
|
artifacts {
|
||
|
archives sourcesJar
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
project('spring-core') {
|
||
|
description = 'Spring Core'
|
||
|
dependencies {
|
||
|
// depend on spring-asm project in order to have it show up as a
|
||
|
// <dependency> in the generated pom
|
||
|
compile project(":spring-asm")
|
||
|
// depend directly on the spring-asm jar to avoid errors in
|
||
|
// Eclipse/STS
|
||
|
compile files(project(":spring-asm").jar.archivePath) {
|
||
|
builtBy project(":spring-asm").jar
|
||
|
}
|
||
|
compile "commons-logging:commons-logging:1.1.1"
|
||
|
compile("org.aspectj:aspectjweaver:1.6.8") { optional = true }
|
||
|
compile("net.sf.jopt-simple:jopt-simple:3.0") { optional = true
|
||
|
exclude group: 'org.apache.ant', module: 'ant'
|
||
|
}
|
||
|
compile("log4j:log4j:1.2.15") { optional = true
|
||
|
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"
|
||
|
}
|
||
|
}
|
||
|
|
||
|
project('spring-beans') {
|
||
|
description = 'Spring Beans'
|
||
|
dependencies {
|
||
|
compile project(":spring-core")
|
||
|
compile("javax.el:el-api:1.0") { provided = true }
|
||
|
compile("javax.inject:javax.inject:1") { provided = true }
|
||
|
compile("cglib:cglib-nodep:2.2") { optional = true }
|
||
|
}
|
||
|
}
|
||
|
|
||
|
project('spring-aop') {
|
||
|
description = 'Spring AOP'
|
||
|
dependencies {
|
||
|
compile project(":spring-beans")
|
||
|
compile("com.jamonapi:jamon:2.4") { optional = true }
|
||
|
compile("aopalliance:aopalliance:1.0") { optional = true }
|
||
|
compile("commons-pool:commons-pool:1.5.3") { optional = true }
|
||
|
}
|
||
|
}
|
||
|
|
||
|
project('spring-expression') {
|
||
|
description = 'Spring Expression Language (SpEL)'
|
||
|
dependencies {
|
||
|
compile project(":spring-core")
|
||
|
}
|
||
|
}
|
||
|
|
||
|
project('spring-instrument') {
|
||
|
description = 'Spring Instrument'
|
||
|
dependencies {
|
||
|
compile project(":spring-core")
|
||
|
}
|
||
|
}
|
||
|
|
||
|
project('spring-instrument-tomcat') {
|
||
|
description = 'Spring Instrument Tomcat'
|
||
|
dependencies {
|
||
|
compile("org.apache.tomcat:catalina:6.0.16") { provided = true }
|
||
|
}
|
||
|
}
|
||
|
|
||
|
project('spring-context') {
|
||
|
description = 'Spring Context'
|
||
|
dependencies {
|
||
|
compile project(":spring-aop")
|
||
|
compile project(":spring-expression")
|
||
|
compile project(":spring-instrument")
|
||
|
compile("backport-util-concurrent:backport-util-concurrent:3.0") { optional = true }
|
||
|
compile("javax.annotation:jsr250-api:1.0") { optional = true }
|
||
|
compile("javax.ejb:com.springsource.javax.ejb:3.0.0") { optional = true }
|
||
|
compile("javax.inject:javax.inject:1") { optional = true }
|
||
|
compile("org.apache.geronimo.specs:geronimo-jms_1.1_spec:1.1") { optional = true }
|
||
|
compile("org.apache.geronimo.specs:geronimo-jta_1.1_spec:1.1") { optional = true }
|
||
|
compile("javax.persistence:persistence-api:1.0") { optional = true }
|
||
|
compile("javax.validation:validation-api:1.0.0.GA") { optional = true }
|
||
|
compile("javax.xml.ws:jaxws-api:2.1-1") { optional = true
|
||
|
exclude group: 'javax.jws', module: 'jsr181'
|
||
|
}
|
||
|
compile("org.beanshell:bsh:2.0b4") { optional = true }
|
||
|
compile("org.codehaus.groovy:groovy-all:1.6.3") { optional = true }
|
||
|
compile("org.jruby:jruby:1.4.0") { optional = true }
|
||
|
compile("org.hibernate:hibernate-validator:4.2.0.Final") { optional = true }
|
||
|
compile("joda-time:joda-time:1.6") { optional = true }
|
||
|
compile("net.sf.ehcache:ehcache-core:2.0.0") { optional = true }
|
||
|
compile("org.codehaus.jsr166-mirror:jsr166:1.7.0") { provided = true }
|
||
|
testCompile "commons-dbcp:commons-dbcp:1.2.2"
|
||
|
testCompile("javax.xml:jaxrpc-api:1.1") { optional = true }
|
||
|
testCompile("javax.inject:com.springsource.org.atinject.tck:1.0.0")
|
||
|
}
|
||
|
}
|
||
|
|
||
|
project('spring-tx') {
|
||
|
description = 'Spring Transaction'
|
||
|
dependencies {
|
||
|
compile project(":spring-context")
|
||
|
compile("com.ibm.websphere:com.springsource.com.ibm.websphere.uow:6.0.2.17") { provided = true }
|
||
|
compile("javax.resource:com.springsource.javax.resource:1.5.0") { optional = true }
|
||
|
compile "aopalliance:aopalliance:1.0" // NOT optional, as opposed to in :spring-aop
|
||
|
testCompile "org.easymock:easymockclassextension:2.3"
|
||
|
}
|
||
|
}
|
||
|
|
||
|
project('spring-oxm') {
|
||
|
description = 'Spring Object/XML Marshalling'
|
||
|
dependencies {
|
||
|
compile project(":spring-context")
|
||
|
compile "commons-lang:commons-lang:2.5"
|
||
|
compile("com.thoughtworks.xstream:xstream:1.3.1") { optional = true }
|
||
|
compile("com.sun.xml.bind:jaxb-impl:2.1.7") { optional = true }
|
||
|
compile("org.jibx:jibx-run:1.1.5") { optional = true }
|
||
|
compile("org.apache.xmlbeans:xmlbeans:2.4.0") { optional = true }
|
||
|
compile("org.codehaus.castor:castor-xml:1.3.2") { optional = true }
|
||
|
testCompile "org.codehaus.jettison:jettison:1.0.1"
|
||
|
testCompile "xmlunit:xmlunit:1.2"
|
||
|
testCompile "xmlpull:xmlpull:1.1.3.4a"
|
||
|
// this is a workaround until we have xjc/etc generation plugged in
|
||
|
// in order for this to work, you must FIRST run `ant test` within the
|
||
|
// .oxm module. that will create/populate the target/test-classes dir
|
||
|
testCompile(files("target/test-classes"))
|
||
|
}
|
||
|
}
|
||
|
|
||
|
project('spring-jms') {
|
||
|
description = 'Spring JMS'
|
||
|
dependencies {
|
||
|
compile project(":spring-oxm")
|
||
|
compile project(":spring-tx")
|
||
|
compile("org.codehaus.jackson:jackson-mapper-asl:1.4.2") { optional = true }
|
||
|
}
|
||
|
}
|
||
|
|
||
|
project('spring-jdbc') {
|
||
|
description = 'Spring JDBC'
|
||
|
dependencies {
|
||
|
compile project(":spring-tx")
|
||
|
compile("c3p0:c3p0:0.9.1.2") { optional = true }
|
||
|
compile("hsqldb:hsqldb:1.8.0.7") { optional = true }
|
||
|
compile("com.h2database:h2:1.0.71") { optional = true }
|
||
|
compile("org.apache.derby:com.springsource.org.apache.derby:10.5.1000001.764942") { optional = true }
|
||
|
compile("org.apache.derby:com.springsource.org.apache.derby.client:10.5.1000001.764942") { optional = true }
|
||
|
}
|
||
|
}
|
||
|
|
||
|
project('spring-context-support') {
|
||
|
description = 'Spring Context Support'
|
||
|
dependencies {
|
||
|
compile project(":spring-jdbc")
|
||
|
compile("com.bea.commonj:com.springsource.commonj:1.1.0") { optional = true }
|
||
|
compile("opensymphony:quartz:1.6.2") { optional = true }
|
||
|
compile("javax.mail:mail:1.4") { optional = true }
|
||
|
compile("velocity:velocity:1.5") { optional = true }
|
||
|
compile("commons-collections:commons-collections:3.2") { optional = true }
|
||
|
compile("org.freemarker:freemarker:2.3.15") { optional = true }
|
||
|
compile("jasperreports:jasperreports:2.0.5") { transitive = false; optional = true }
|
||
|
compile("commons-digester:commons-digester:1.8.1") { optional = true }
|
||
|
compile("commons-beanutils:commons-beanutils:1.8.0") { optional = true }
|
||
|
compile("com.lowagie:itext:2.0.8") { optional = true }
|
||
|
testCompile "hsqldb:hsqldb:1.8.0.10"
|
||
|
testCompile("org.apache.poi:poi:3.0.2-FINAL") {
|
||
|
exclude group: 'log4j', module: 'log4j'
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// pick up **/*.types files in src/main
|
||
|
sourceSets.main.resources.srcDirs += 'src/main/java'
|
||
|
}
|
||
|
|
||
|
project('spring-web') {
|
||
|
description = 'Spring Web'
|
||
|
dependencies {
|
||
|
compile project(":spring-oxm")
|
||
|
compile("com.caucho:com.springsource.com.caucho:3.2.1") { optional = true }
|
||
|
compile("rome:rome:1.0") { optional = true }
|
||
|
compile("javax.el:el-api:1.0") { optional = true } // as opposed to 'provided' in spring-core
|
||
|
compile("javax.faces:com.springsource.javax.faces:1.2.0.08") { optional = true }
|
||
|
compile("javax.portlet:portlet-api:2.0") { provided = true }
|
||
|
compile("org.apache.tomcat:tomcat-servlet-api:7.0.8") { provided = true } // servlet-api 3.0
|
||
|
compile("javax.servlet.jsp:jsp-api:2.1") { provided = true }
|
||
|
compile("javax.xml.soap:saaj-api:1.3") { provided = true }
|
||
|
compile("axis:axis:1.4") { optional = true }
|
||
|
compile("commons-fileupload:commons-fileupload:1.2") { optional = true }
|
||
|
runtime("commons-io:commons-io:1.3") { optional = true }
|
||
|
compile("commons-httpclient:commons-httpclient:3.1") { optional = true }
|
||
|
compile("org.apache.httpcomponents:httpclient:4.1.1") { optional = true }
|
||
|
compile("org.codehaus.jackson:jackson-mapper-asl:1.4.2") { optional = true }
|
||
|
compile("taglibs:standard:1.1.2") { optional = true }
|
||
|
compile("org.mortbay.jetty:jetty:6.1.9") { optional = true
|
||
|
exclude group: 'org.mortbay.jetty', module: 'servlet-api-2.5'
|
||
|
}
|
||
|
compile("com.sun.syndication:com.springsource.com.sun.syndication:1.0.0") { optional = true }
|
||
|
testCompile "xmlunit:xmlunit:1.2"
|
||
|
}
|
||
|
|
||
|
// pick up ContextLoader.properties in src/main
|
||
|
sourceSets.main.resources.srcDirs += 'src/main/java'
|
||
|
}
|
||
|
|
||
|
project('spring-orm') {
|
||
|
description = 'Spring Object/XML Mapping'
|
||
|
dependencies {
|
||
|
compile("org.hibernate:com.springsource.org.hibernate:3.3.1.GA") { optional = true } // for orm.hibernate3
|
||
|
compile("org.hibernate:hibernate-cglib-repack:2.1_3") { optional = true }
|
||
|
compile("org.hibernate:hibernate-annotations:3.4.0.GA") { optional = true }
|
||
|
//compile("javax.persistence:persistence-api:1.0") { optional = true }
|
||
|
compile("org.hibernate:hibernate-entitymanager:4.0.0.CR4") { optional = true }
|
||
|
compile("org.apache.openjpa:openjpa:1.1.0") { optional = true }
|
||
|
compile("org.eclipse.persistence:com.springsource.org.eclipse.persistence:1.0.1") { optional = true }
|
||
|
compile("org.eclipse.persistence:com.springsource.org.eclipse.persistence.jpa:1.0.1") { optional = true }
|
||
|
compile("com.oracle.toplink.essentials:com.springsource.oracle.toplink.essentials:2.0.0.b41-beta2") { optional = true }
|
||
|
compile("javax.jdo:jdo-api:3.0") { optional = true }
|
||
|
compile("org.apache.ibatis:ibatis-sqlmap:2.3.4.726") { optional = true }
|
||
|
testCompile "javax.servlet:servlet-api:2.5"
|
||
|
testCompile "org.slf4j:slf4j-jcl:1.5.3"
|
||
|
testCompile "commons-dbcp:commons-dbcp:1.2.2"
|
||
|
testCompile "org.eclipse.persistence:com.springsource.org.eclipse.persistence.asm:1.0.1"
|
||
|
testCompile "org.eclipse.persistence:com.springsource.org.eclipse.persistence.antlr:1.0.1"
|
||
|
testCompile "org.hibernate:com.springsource.org.hibernate:3.3.1.GA" // for orm.hibernate3
|
||
|
compile(project(":spring-web")) {
|
||
|
exclude group: 'javax.persistence', module: 'persistence-api'
|
||
|
}
|
||
|
compile project(":spring-jdbc")
|
||
|
compile("org.hibernate:hibernate-core:4.0.0.CR7") { optional = true }
|
||
|
}
|
||
|
}
|
||
|
|
||
|
project('spring-webmvc') {
|
||
|
description = 'Spring Web MVC'
|
||
|
dependencies {
|
||
|
compile project(":spring-web")
|
||
|
compile project(":spring-orm")
|
||
|
compile project(":spring-context-support")
|
||
|
compile("org.apache.tiles:tiles-api:2.1.2") { optional = true }
|
||
|
compile("org.apache.tiles:tiles-core:2.1.2") { optional = true }
|
||
|
compile("org.apache.tiles:tiles-jsp:2.1.2") { optional = true }
|
||
|
compile("org.apache.tiles:tiles-servlet:2.1.2") { optional = true }
|
||
|
compile("velocity-tools:velocity-tools-view:1.4") { optional = true }
|
||
|
compile("net.sourceforge.jexcelapi:jxl:2.6.3") { optional = true
|
||
|
exclude group: 'log4j', module: 'log4j'
|
||
|
}
|
||
|
compile("org.apache.poi:poi:3.0.2-FINAL") { optional = true
|
||
|
exclude group: 'log4j', module: 'log4j'
|
||
|
}
|
||
|
compile("javax.servlet:jstl:1.1.2") { provided = true }
|
||
|
compile("org.apache.tomcat:tomcat-servlet-api:7.0.8") { provided = true } // servlet-api 3.0
|
||
|
testCompile("org.slf4j:slf4j-log4j12:${slf4jLog4jVersion}") {
|
||
|
exclude group: 'log4j', module: 'log4j'
|
||
|
}
|
||
|
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'
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// pick up DispatcherServlet.properties in src/main
|
||
|
sourceSets.main.resources.srcDirs += 'src/main/java'
|
||
|
}
|
||
|
|
||
|
project('spring-webmvc-portlet') {
|
||
|
description = 'Spring Web Portlet'
|
||
|
dependencies {
|
||
|
compile("javax.servlet:servlet-api:2.5") { provided = true }
|
||
|
compile project(":spring-webmvc")
|
||
|
}
|
||
|
|
||
|
// pick up DispatcherPortlet.properties in src/main
|
||
|
sourceSets.main.resources.srcDirs += 'src/main/java'
|
||
|
}
|
||
|
|
||
|
project('spring-test') {
|
||
|
description = 'Spring Test'
|
||
|
dependencies {
|
||
|
compile project(":spring-webmvc-portlet")
|
||
|
compile("javax.activation:activation:1.0") { provided = true }
|
||
|
compile("org.testng:testng:5.10:jdk15") { optional = true }
|
||
|
compile("org.junit:com.springsource.org.junit:4.9.0") { optional = true }
|
||
|
compile("javax.servlet:servlet-api:2.5") { provided = true }
|
||
|
testCompile "org.slf4j:slf4j-jcl:1.5.3"
|
||
|
}
|
||
|
}
|
||
|
|
||
|
project('spring-struts') {
|
||
|
description = 'Spring Struts'
|
||
|
dependencies {
|
||
|
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 = true }
|
||
|
testCompile project(":spring-test")
|
||
|
}
|
||
|
}
|
||
|
|
||
|
project('spring-aspects') {
|
||
|
description = 'Spring Aspects'
|
||
|
apply from: 'aspectJ.gradle'
|
||
|
compileJava.dependsOn project(":spring-orm").jar
|
||
|
dependencies {
|
||
|
aspects project(":spring-orm")
|
||
|
ajc "org.aspectj:aspectjtools:1.6.8"
|
||
|
compile "org.aspectj:aspectjrt:1.6.8"
|
||
|
testCompile project(":spring-test")
|
||
|
}
|
||
|
}
|
||
|
|
||
|
project('spring-integration-tests') {
|
||
|
description = 'Spring Integration Tests'
|
||
|
dependencies {
|
||
|
testCompile project(":spring-test")
|
||
|
testCompile project(":spring-webmvc-portlet")
|
||
|
testCompile "org.hibernate:hibernate-core:4.0.0.CR7"
|
||
|
testCompile "javax.servlet:servlet-api:2.5"
|
||
|
}
|
||
|
}
|
||
|
|
||
|
task apidocs(type: Javadoc) {
|
||
|
subprojects.each { project ->
|
||
|
source project.sourceSets.main.allJava
|
||
|
}
|
||
|
subprojects.each { subproject ->
|
||
|
if(classpath) {
|
||
|
classpath += subproject.sourceSets.main.classes + subproject.sourceSets.main.compileClasspath
|
||
|
}
|
||
|
else {
|
||
|
classpath = subproject.sourceSets.main.classes + subproject.sourceSets.main.compileClasspath
|
||
|
}
|
||
|
}
|
||
|
destinationDir = file('build/docs/javadoc')
|
||
|
maxMemory = '1024m'
|
||
|
}
|
||
|
|
||
|
task wrapper(type: Wrapper) {
|
||
|
description = 'Generates gradlew[.bat] scripts'
|
||
|
gradleVersion = '1.0-milestone-8'
|
||
|
distributionUrl = 'http://repo.gradle.org/gradle/distributions-snapshots/gradle-1.0-milestone-8-20120112000036+0100-bin.zip'
|
||
|
jarFile = '.wrapper/gradle-wrapper.jar'
|
||
|
}
|
||
|
|