@ -259,820 +259,6 @@ configure(subprojects - project(":spring-build-src")) { subproject ->
@@ -259,820 +259,6 @@ configure(subprojects - project(":spring-build-src")) { subproject ->
}
}
project ( "spring-build-src" ) {
description = "Exposes gradle buildSrc for IDE support"
apply plugin: "groovy"
dependencies {
compile gradleApi ( )
compile localGroovy ( )
}
configurations . archives . artifacts . clear ( )
}
project ( "spring-jcl" ) {
description = "Spring Commons Logging Bridge"
dependencies {
optional ( "org.apache.logging.log4j:log4j-api:${log4jVersion}" )
optional ( "org.slf4j:slf4j-api:${slf4jVersion}" )
}
}
project ( "spring-core" ) {
description = "Spring Core"
// As of Spring 4.0 . 3 , spring - core includes asm 5 . x and repackages cglib 3.2 , inlining
// both into the spring - core jar . cglib 3.2 itself depends on asm 5 . x and is therefore
// further transformed by the JarJar task to depend on org . springframework . asm ; this
// avoids including two different copies of asm unnecessarily .
def cglibVersion = "3.2.5"
def objenesisVersion = "2.6"
configurations {
jarjar
cglib
objenesis
}
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" )
}
}
}
}
task objenesisRepackJar ( type: Jar ) { repackJar - >
repackJar . baseName = "spring-objenesis-repack"
repackJar . version = objenesisVersion
doLast ( ) {
project . ant {
taskdef name: "jarjar" , classname: "com.tonicsystems.jarjar.JarJarTask" ,
classpath: configurations . jarjar . asPath
jarjar ( destfile: repackJar . archivePath ) {
configurations . objenesis . each { originalJar - >
zipfileset ( src: originalJar )
}
// Repackage org . objenesis = > org . springframework . objenesis
rule ( pattern: "org.objenesis.**" , result: "org.springframework.objenesis.@1" )
}
}
}
}
dependencies {
cglib ( "cglib:cglib:${cglibVersion}@jar" )
objenesis ( "org.objenesis:objenesis:${objenesisVersion}@jar" )
jarjar ( "com.googlecode.jarjar:jarjar:1.3" )
compile ( files ( cglibRepackJar ) )
compile ( files ( objenesisRepackJar ) )
compile ( project ( ":spring-jcl" ) )
optional ( "net.sf.jopt-simple:jopt-simple:5.0.3" )
optional ( "org.aspectj:aspectjweaver:${aspectjVersion}" )
optional ( "org.jetbrains.kotlin:kotlin-reflect:${kotlinVersion}" )
optional ( "org.jetbrains.kotlin:kotlin-stdlib:${kotlinVersion}" )
optional ( "io.projectreactor:reactor-core" )
optional ( "io.reactivex:rxjava:${rxjavaVersion}" )
optional ( "io.reactivex:rxjava-reactive-streams:${rxjavaAdapterVersion}" )
optional ( "io.reactivex.rxjava2:rxjava:${rxjava2Version}" )
optional ( "io.netty:netty-buffer" )
testCompile ( "io.projectreactor:reactor-test" )
testCompile ( "javax.xml.bind:jaxb-api:${jaxbVersion}" )
testCompile ( "org.apache.tomcat.embed:tomcat-embed-core:${tomcatVersion}" )
testCompile ( "com.fasterxml.woodstox:woodstox-core:5.0.3" ) {
exclude group: "stax" , module: "stax-api"
}
}
jar {
// Inline repackaged cglib classes directly into spring - core jar
dependsOn cglibRepackJar
from ( zipTree ( cglibRepackJar . archivePath ) ) {
include "org/springframework/cglib/**"
}
dependsOn objenesisRepackJar
from ( zipTree ( objenesisRepackJar . archivePath ) ) {
include "org/springframework/objenesis/**"
}
}
}
project ( "spring-aop" ) {
description = "Spring AOP"
dependencies {
compile ( project ( ":spring-beans" ) )
compile ( project ( ":spring-core" ) )
compile ( files ( project ( ":spring-core" ) . cglibRepackJar ) )
compile ( files ( project ( ":spring-core" ) . objenesisRepackJar ) )
optional ( "org.aspectj:aspectjweaver:${aspectjVersion}" )
optional ( "org.apache.commons:commons-pool2:2.4.2" )
optional ( "com.jamonapi:jamon:2.81" )
}
}
project ( "spring-expression" ) {
description = "Spring Expression Language (SpEL)"
dependencies {
compile ( project ( ":spring-core" ) )
}
}
project ( "spring-instrument" ) {
description = "Spring Instrument"
jar {
manifest . attributes [ "Premain-Class" ] =
"org.springframework.instrument.InstrumentationSavingAgent"
manifest . attributes [ "Agent-Class" ] =
"org.springframework.instrument.InstrumentationSavingAgent"
manifest . attributes [ "Can-Redefine-Classes" ] = "true"
manifest . attributes [ "Can-Retransform-Classes" ] = "true"
manifest . attributes [ "Can-Set-Native-Method-Prefix" ] = "false"
}
}
project ( "spring-context" ) {
description = "Spring Context"
apply plugin: "groovy"
dependencies {
compile ( project ( ":spring-aop" ) )
compile ( project ( ":spring-beans" ) )
compile ( project ( ":spring-expression" ) )
compile ( project ( ":spring-core" ) )
compile ( files ( project ( ":spring-core" ) . cglibRepackJar ) )
optional ( project ( ":spring-instrument" ) )
optional ( "javax.inject:javax.inject:1" )
optional ( "javax.annotation:javax.annotation-api:1.3" )
optional ( "javax.xml.ws:jaxws-api:${jaxwsVersion}" )
optional ( "javax.ejb:javax.ejb-api:3.2" )
optional ( "javax.interceptor:javax.interceptor-api:1.2" )
optional ( "javax.enterprise.concurrent:javax.enterprise.concurrent-api:1.0" )
optional ( "javax.money:money-api:1.0.1" )
optional ( "javax.validation:validation-api:1.1.0.Final" )
optional ( "org.hibernate:hibernate-validator:5.4.1.Final" )
optional ( "joda-time:joda-time:2.9.9" )
optional ( "org.aspectj:aspectjweaver:${aspectjVersion}" )
optional ( "org.codehaus.groovy:groovy-all:${groovyVersion}" )
optional ( "org.beanshell:bsh:2.0b5" )
optional ( "org.jetbrains.kotlin:kotlin-reflect:${kotlinVersion}" )
optional ( "org.jetbrains.kotlin:kotlin-stdlib:${kotlinVersion}" )
testCompile ( "org.apache.commons:commons-pool2:2.4.2" )
testCompile ( "org.slf4j:slf4j-api:${slf4jVersion}" )
testCompile ( "javax.inject:javax.inject-tck:1" )
testRuntime ( "javax.xml.bind:jaxb-api:${jaxbVersion}" )
testRuntime ( "org.glassfish:javax.el:3.0.1-b08" )
testRuntime ( "org.javamoney:moneta:1.1" )
}
}
project ( "spring-oxm" ) {
description = "Spring Object/XML Marshalling"
apply from: "oxm.gradle"
dependencies {
compile ( project ( ":spring-beans" ) )
compile ( project ( ":spring-core" ) )
optional ( "javax.xml.bind:jaxb-api:${jaxbVersion}" )
optional ( "javax.activation:activation:${activationVersion}" )
optional ( "org.codehaus.castor:castor-xml:1.4.1" ) {
exclude group: 'stax' , module: 'stax-api'
exclude group: "org.springframework" , module: "spring-context"
exclude group: "commons-logging" , module: "commons-logging"
}
optional ( "com.thoughtworks.xstream:xstream:1.4.10" ) {
exclude group: 'xpp3' , module: 'xpp3_min'
exclude group: 'xmlpull' , module: 'xmlpull'
}
optional ( "org.jibx:jibx-run:1.3.1" )
testCompile ( project ( ":spring-context" ) )
testCompile ( "org.ogce:xpp3:1.1.6" )
testCompile ( "org.codehaus.jettison:jettison:1.3.8" ) {
exclude group: 'stax' , module: 'stax-api'
}
testCompile ( files ( genCastor . classesDir ) . builtBy ( genCastor ) )
testCompile ( files ( genJaxb . classesDir ) . builtBy ( genJaxb ) )
testRuntime ( "xerces:xercesImpl:2.11.0" ) // for Castor
testRuntime ( "com.sun.xml.bind:jaxb-core:${jaxbVersion}" )
testRuntime ( "com.sun.xml.bind:jaxb-impl:${jaxbVersion}" )
}
}
project ( "spring-messaging" ) {
description = "Spring Messaging"
dependencies {
compile ( project ( ":spring-beans" ) )
compile ( project ( ":spring-core" ) )
optional ( project ( ":spring-context" ) )
optional ( project ( ":spring-oxm" ) )
optional ( "io.projectreactor.ipc:reactor-netty" )
optional ( "org.eclipse.jetty.websocket:websocket-server:${jettyVersion}" ) {
exclude group: "javax.servlet" , module: "javax.servlet-api"
}
optional ( "org.eclipse.jetty.websocket:websocket-client:${jettyVersion}" )
optional ( "com.fasterxml.jackson.core:jackson-databind:${jackson2Version}" )
optional ( "javax.xml.bind:jaxb-api:${jaxbVersion}" )
testCompile ( "javax.inject:javax.inject-tck:1" )
testCompile ( "javax.servlet:javax.servlet-api:3.1.0" )
testCompile ( "javax.validation:validation-api:1.1.0.Final" )
testCompile ( "com.thoughtworks.xstream:xstream:1.4.10" )
testCompile ( "org.apache.activemq:activemq-broker:5.8.0" )
testCompile ( "org.apache.activemq:activemq-kahadb-store:5.8.0" ) {
exclude group: "org.springframework" , module: "spring-context"
}
testCompile ( "org.apache.activemq:activemq-stomp:5.8.0" )
testCompile ( "org.eclipse.jetty:jetty-webapp:${jettyVersion}" ) {
exclude group: "javax.servlet" , module: "javax.servlet-api"
}
testCompile ( "org.apache.tomcat.embed:tomcat-embed-core:${tomcatVersion}" )
testCompile ( "org.apache.tomcat.embed:tomcat-embed-websocket:${tomcatVersion}" )
testCompile ( "org.jetbrains.kotlin:kotlin-reflect:${kotlinVersion}" )
testCompile ( "org.jetbrains.kotlin:kotlin-stdlib:${kotlinVersion}" )
testRuntime ( "com.sun.xml.bind:jaxb-core:${jaxbVersion}" )
testRuntime ( "com.sun.xml.bind:jaxb-impl:${jaxbVersion}" )
testRuntime ( "javax.activation:activation:${activationVersion}" )
}
}
project ( "spring-tx" ) {
description = "Spring Transaction"
dependencies {
compile ( project ( ":spring-beans" ) )
compile ( project ( ":spring-core" ) )
optional ( project ( ":spring-aop" ) )
optional ( project ( ":spring-context" ) ) // for JCA , @EnableTransactionManagement
optional ( "javax.ejb:javax.ejb-api:3.2" )
optional ( "javax.interceptor:javax.interceptor-api:1.2" )
optional ( "javax.resource:javax.resource-api:1.7" )
optional ( "javax.transaction:javax.transaction-api:1.2" )
optional ( "com.ibm.websphere:uow:6.0.2.17" )
testCompile ( "org.aspectj:aspectjweaver:${aspectjVersion}" )
testCompile ( "org.codehaus.groovy:groovy-all:${groovyVersion}" )
testCompile ( "org.eclipse.persistence:javax.persistence:2.1.1" )
}
}
project ( "spring-jms" ) {
description = "Spring JMS"
dependencies {
provided ( "javax.jms:javax.jms-api:2.0.1" )
compile ( project ( ":spring-beans" ) )
compile ( project ( ":spring-core" ) )
compile ( project ( ":spring-messaging" ) )
compile ( project ( ":spring-tx" ) )
optional ( project ( ":spring-aop" ) )
optional ( project ( ":spring-context" ) )
optional ( project ( ":spring-oxm" ) )
optional ( "javax.resource:javax.resource-api:1.7" )
optional ( "javax.transaction:javax.transaction-api:1.2" )
optional ( "com.fasterxml.jackson.core:jackson-databind:${jackson2Version}" )
}
}
project ( "spring-jdbc" ) {
description = "Spring JDBC"
dependencies {
compile ( project ( ":spring-beans" ) )
compile ( project ( ":spring-core" ) )
compile ( project ( ":spring-tx" ) )
optional ( project ( ":spring-context" ) ) // for JndiDataSourceLookup
optional ( "javax.transaction:javax.transaction-api:1.2" )
optional ( "org.hsqldb:hsqldb:${hsqldbVersion}" )
optional ( "com.h2database:h2:1.4.196" )
optional ( "org.apache.derby:derby:10.13.1.1" )
optional ( "org.apache.derby:derbyclient:10.13.1.1" )
optional ( "org.jetbrains.kotlin:kotlin-reflect:${kotlinVersion}" )
optional ( "org.jetbrains.kotlin:kotlin-stdlib:${kotlinVersion}" )
}
}
project ( "spring-context-indexer" ) {
description = "Spring Context Indexer"
dependencies {
testCompile ( project ( ":spring-context" ) )
testCompile ( "javax.inject:javax.inject:1" )
testCompile ( "javax.annotation:javax.annotation-api:1.3" )
testCompile ( "org.eclipse.persistence:javax.persistence:2.1.1" )
}
}
project ( "spring-context-support" ) {
description = "Spring Context Support"
dependencies {
compile ( project ( ":spring-beans" ) )
compile ( project ( ":spring-context" ) )
compile ( project ( ":spring-core" ) )
optional ( project ( ":spring-jdbc" ) ) // for Quartz support
optional ( project ( ":spring-tx" ) ) // for Quartz support
optional ( "javax.activation:activation:${activationVersion}" )
optional ( "javax.mail:javax.mail-api:${javamailVersion}" )
optional ( "javax.cache:cache-api:1.0.0" )
optional ( "com.github.ben-manes.caffeine:caffeine:2.5.5" )
optional ( "net.sf.ehcache:ehcache:2.10.4" )
optional ( "org.quartz-scheduler:quartz:2.3.0" )
optional ( "org.codehaus.fabric3.api:commonj:1.1.0" )
optional ( "org.freemarker:freemarker:${freemarkerVersion}" )
testCompile ( project ( ":spring-context" ) )
testCompile ( "org.hsqldb:hsqldb:${hsqldbVersion}" )
testCompile ( "org.slf4j:slf4j-api:${slf4jVersion}" )
testCompile ( "org.hibernate:hibernate-validator:6.0.1.Final" )
testRuntime ( "org.ehcache:jcache:1.0.1" )
testRuntime ( "org.ehcache:ehcache:3.3.1" )
testRuntime ( "org.glassfish:javax.el:3.0.1-b08" )
testRuntime ( "javax.annotation:javax.annotation-api:1.3" )
testRuntime ( "com.sun.mail:javax.mail:${javamailVersion}" )
}
}
project ( "spring-web" ) {
description = "Spring Web"
apply plugin: "groovy"
dependencies {
compile ( project ( ":spring-beans" ) )
compile ( project ( ":spring-core" ) )
optional ( project ( ":spring-aop" ) )
optional ( project ( ":spring-context" ) )
optional ( project ( ":spring-oxm" ) )
optional ( "javax.servlet:javax.servlet-api:3.1.0" )
optional ( "javax.servlet.jsp:javax.servlet.jsp-api:2.3.2-b02" )
optional ( "javax.el:javax.el-api:3.0.1-b04" )
optional ( "javax.faces:javax.faces-api:2.2" )
optional ( "javax.validation:validation-api:1.1.0.Final" )
optional ( "org.codehaus.groovy:groovy-all:${groovyVersion}" )
optional ( "com.caucho:hessian:4.0.38" )
optional ( "commons-fileupload:commons-fileupload:1.3.3" )
optional ( "org.synchronoss.cloud:nio-multipart-parser:1.1.0" )
optional ( "io.projectreactor.ipc:reactor-netty" )
optional ( "io.reactivex:rxjava:${rxjavaVersion}" )
optional ( "io.reactivex:rxjava-reactive-streams:${rxjavaAdapterVersion}" )
optional ( "io.reactivex.rxjava2:rxjava:${rxjava2Version}" )
optional ( "org.apache.tomcat.embed:tomcat-embed-core:${tomcatVersion}" )
optional ( "io.undertow:undertow-core:${undertowVersion}" )
optional ( "com.fasterxml.woodstox:woodstox-core:5.0.3" ) { // woodstox before aalto
exclude group: "stax" , module: "stax-api"
}
optional ( "com.fasterxml:aalto-xml:1.0.0" )
optional ( "org.apache.httpcomponents:httpclient:${httpclientVersion}" ) {
exclude group: "commons-logging" , module: "commons-logging"
}
optional ( "org.apache.httpcomponents:httpasyncclient:4.1.3" ) {
exclude group: "commons-logging" , module: "commons-logging"
}
optional ( "io.netty:netty-all" )
optional ( "com.squareup.okhttp3:okhttp:${okhttp3Version}" )
optional ( "com.fasterxml.jackson.core:jackson-databind:${jackson2Version}" )
optional ( "com.fasterxml.jackson.dataformat:jackson-dataformat-xml:${jackson2Version}" )
optional ( "com.fasterxml.jackson.dataformat:jackson-dataformat-smile:${jackson2Version}" )
optional ( "com.fasterxml.jackson.dataformat:jackson-dataformat-cbor:${jackson2Version}" )
optional ( "com.google.code.gson:gson:2.8.1" )
optional ( "javax.json.bind:javax.json.bind-api:1.0" )
optional ( "com.rometools:rome:1.7.4" )
optional ( "org.eclipse.jetty:jetty-servlet:${jettyVersion}" ) {
exclude group: "javax.servlet" , module: "javax.servlet-api"
}
optional ( "org.eclipse.jetty:jetty-server:${jettyVersion}" ) {
exclude group: "javax.servlet" , module: "javax.servlet-api"
}
optional ( "com.google.protobuf:protobuf-java-util:3.4.0" )
optional ( "com.googlecode.protobuf-java-format:protobuf-java-format:1.4" )
optional ( "javax.xml.bind:jaxb-api:${jaxbVersion}" )
optional ( "javax.xml.ws:jaxws-api:${jaxwsVersion}" )
optional ( "javax.mail:javax.mail-api:${javamailVersion}" )
optional ( "org.jetbrains.kotlin:kotlin-reflect:${kotlinVersion}" )
optional ( "org.jetbrains.kotlin:kotlin-stdlib:${kotlinVersion}" )
testCompile ( "io.projectreactor:reactor-test" )
testCompile ( "org.apache.taglibs:taglibs-standard-jstlel:1.2.1" ) {
exclude group: "org.apache.taglibs" , module: "taglibs-standard-spec"
}
testCompile ( "com.fasterxml.jackson.datatype:jackson-datatype-jdk8:${jackson2Version}" )
testCompile ( "com.fasterxml.jackson.datatype:jackson-datatype-joda:${jackson2Version}" )
testCompile ( "com.fasterxml.jackson.module:jackson-module-kotlin:${jackson2Version}" )
testCompile ( "org.apache.tomcat:tomcat-util:${tomcatVersion}" )
testCompile ( "org.apache.tomcat.embed:tomcat-embed-core:${tomcatVersion}" )
testCompile ( "org.eclipse.jetty:jetty-server:${jettyVersion}" )
testCompile ( "org.eclipse.jetty:jetty-servlet:${jettyVersion}" )
testCompile ( "io.reactivex:rxnetty-http:0.5.2" ) {
exclude group: 'io.reactivex' , module: 'rxjava'
}
testCompile ( "com.squareup.okhttp3:mockwebserver:${okhttp3Version}" )
testCompile ( "org.jetbrains.kotlin:kotlin-reflect:${kotlinVersion}" )
testCompile ( "org.skyscreamer:jsonassert:1.5.0" )
testRuntime ( "com.sun.mail:javax.mail:${javamailVersion}" )
testRuntime ( "com.sun.xml.bind:jaxb-core:${jaxbVersion}" )
testRuntime ( "com.sun.xml.bind:jaxb-impl:${jaxbVersion}" )
testRuntime ( "javax.json:javax.json-api:1.1" )
testRuntime ( "org.apache.johnzon:johnzon-jsonb:1.1.2" )
}
}
project ( "spring-orm" ) {
description = "Spring Object/Relational Mapping"
dependencies {
compile ( project ( ":spring-beans" ) )
compile ( project ( ":spring-core" ) )
compile ( project ( ":spring-jdbc" ) )
compile ( project ( ":spring-tx" ) )
optional ( project ( ":spring-aop" ) )
optional ( project ( ":spring-context" ) )
optional ( project ( ":spring-web" ) )
optional ( "org.eclipse.persistence:org.eclipse.persistence.jpa:2.7.0-RC3" )
optional ( "org.hibernate:hibernate-core:5.2.10.Final" )
optional ( "javax.servlet:javax.servlet-api:3.1.0" )
testCompile ( "org.aspectj:aspectjweaver:${aspectjVersion}" )
testCompile ( "org.hsqldb:hsqldb:${hsqldbVersion}" )
testRuntime ( "javax.xml.bind:jaxb-api:${jaxbVersion}" )
}
}
project ( "spring-webmvc" ) {
description = "Spring Web MVC"
dependencies {
provided ( "javax.servlet:javax.servlet-api:4.0.0" )
compile ( project ( ":spring-aop" ) )
compile ( project ( ":spring-beans" ) )
compile ( project ( ":spring-context" ) )
compile ( project ( ":spring-core" ) )
compile ( files ( project ( ":spring-core" ) . objenesisRepackJar ) )
compile ( project ( ":spring-expression" ) )
compile ( project ( ":spring-web" ) )
optional ( project ( ":spring-context-support" ) ) // for FreeMarker support
optional ( project ( ":spring-oxm" ) )
optional ( "javax.servlet.jsp:javax.servlet.jsp-api:2.3.2-b02" )
optional ( "javax.servlet.jsp.jstl:javax.servlet.jsp.jstl-api:1.2.1" )
optional ( "javax.el:javax.el-api:3.0.1-b04" )
optional ( "javax.xml.bind:jaxb-api:${jaxbVersion}" )
optional ( "org.apache.poi:poi-ooxml:3.16" )
optional ( "com.lowagie:itext:2.1.7" )
optional ( "com.rometools:rome:1.7.4" )
optional ( "org.freemarker:freemarker:${freemarkerVersion}" )
optional ( "org.codehaus.groovy:groovy-all:${groovyVersion}" )
optional ( "com.fasterxml.jackson.core:jackson-databind:${jackson2Version}" )
optional ( "com.fasterxml.jackson.dataformat:jackson-dataformat-xml:${jackson2Version}" )
optional ( "com.fasterxml.jackson.dataformat:jackson-dataformat-smile:${jackson2Version}" )
optional ( "com.fasterxml.jackson.dataformat:jackson-dataformat-cbor:${jackson2Version}" )
optional ( "org.apache.tiles:tiles-api:${tiles3Version}" )
optional ( "org.apache.tiles:tiles-core:${tiles3Version}" ) {
exclude group: "org.slf4j" , module: "jcl-over-slf4j"
}
optional ( "org.apache.tiles:tiles-servlet:${tiles3Version}" ) {
exclude group: "org.slf4j" , module: "jcl-over-slf4j"
}
optional ( "org.apache.tiles:tiles-jsp:${tiles3Version}" ) {
exclude group: "org.slf4j" , module: "jcl-over-slf4j"
}
optional ( "org.apache.tiles:tiles-el:${tiles3Version}" ) {
exclude group: "org.slf4j" , module: "jcl-over-slf4j"
}
optional ( "org.apache.tiles:tiles-extras:${tiles3Version}" ) {
exclude group: "org.slf4j" , module: "jcl-over-slf4j"
exclude group: "org.springframework" , module: "spring-web"
}
optional ( 'org.webjars:webjars-locator:0.32-1' )
optional ( "org.jetbrains.kotlin:kotlin-reflect:${kotlinVersion}" )
optional ( "org.jetbrains.kotlin:kotlin-stdlib:${kotlinVersion}" )
optional ( "org.reactivestreams:reactive-streams" )
testCompile ( "javax.servlet:javax.servlet-api:4.0.0" )
testCompile ( "org.eclipse.jetty:jetty-servlet:${jettyVersion}" ) {
exclude group: "javax.servlet" , module: "javax.servlet"
}
testCompile ( "org.eclipse.jetty:jetty-server:${jettyVersion}" ) {
exclude group: "javax.servlet" , module: "javax.servlet"
}
testCompile ( "org.hibernate:hibernate-validator:6.0.1.Final" )
testCompile ( "org.apache.httpcomponents:httpclient:${httpclientVersion}" ) {
exclude group: "commons-logging" , module: "commons-logging"
}
testCompile ( "commons-fileupload:commons-fileupload:1.3.3" )
testCompile ( "commons-io:commons-io:2.5" )
testCompile ( "joda-time:joda-time:2.9.9" )
testCompile ( "org.mozilla:rhino:1.7.7.1" )
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 ( "io.projectreactor:reactor-core" )
testCompile ( "io.reactivex:rxjava:${rxjavaVersion}" )
testCompile ( "io.reactivex:rxjava-reactive-streams:${rxjavaAdapterVersion}" )
testCompile ( "io.reactivex.rxjava2:rxjava:${rxjava2Version}" )
testCompile ( "org.jetbrains.kotlin:kotlin-script-runtime:${kotlinVersion}" )
testRuntime ( "org.jetbrains.kotlin:kotlin-script-util:${kotlinVersion}" )
testRuntime ( "org.jetbrains.kotlin:kotlin-compiler:${kotlinVersion}" )
testRuntime ( "org.jruby:jruby:9.1.12.0" )
testRuntime ( "org.python:jython-standalone:2.7.1" )
testRuntime ( "org.webjars:underscorejs:1.8.3" )
testRuntime ( "org.glassfish:javax.el:3.0.1-b08" )
testRuntime ( "com.sun.xml.bind:jaxb-core:${jaxbVersion}" )
testRuntime ( "com.sun.xml.bind:jaxb-impl:${jaxbVersion}" )
testRuntime ( "javax.activation:activation:${activationVersion}" )
}
}
project ( "spring-websocket" ) {
description = "Spring WebSocket"
dependencies {
compile ( project ( ":spring-context" ) )
compile ( project ( ":spring-core" ) )
compile ( project ( ":spring-web" ) )
optional ( project ( ":spring-messaging" ) )
optional ( project ( ":spring-webmvc" ) )
optional ( "javax.servlet:javax.servlet-api:3.1.0" )
optional ( "javax.websocket:javax.websocket-api:1.1" )
optional ( "org.apache.tomcat:tomcat-websocket:${tomcatVersion}" ) {
exclude group: "org.apache.tomcat" , module: "tomcat-websocket-api"
exclude group: "org.apache.tomcat" , module: "tomcat-servlet-api"
}
optional ( "org.glassfish.tyrus:tyrus-container-servlet:1.13.1" )
optional ( "org.eclipse.jetty:jetty-webapp:${jettyVersion}" ) {
exclude group: "javax.servlet" , module: "javax.servlet"
}
optional ( "org.eclipse.jetty.websocket:websocket-server:${jettyVersion}" ) {
exclude group: "javax.servlet" , module: "javax.servlet"
}
optional ( "org.eclipse.jetty.websocket:websocket-client:${jettyVersion}" )
optional ( "org.eclipse.jetty:jetty-client:${jettyVersion}" )
optional ( "io.undertow:undertow-servlet:${undertowVersion}" ) {
exclude group: "org.jboss.spec.javax.servlet" , module: "jboss-servlet-api_3.1_spec"
exclude group: "org.jboss.spec.javax.annotation" , module: "jboss-annotations-api_1.2_spec"
}
optional ( "io.undertow:undertow-websockets-jsr:${undertowVersion}" ) {
exclude group: "org.jboss.spec.javax.websocket" , module: "jboss-websocket-api_1.1_spec"
}
optional ( "com.fasterxml.jackson.core:jackson-databind:${jackson2Version}" )
testCompile ( "org.apache.tomcat.embed:tomcat-embed-core:${tomcatVersion}" )
testCompile ( "org.apache.tomcat.embed:tomcat-embed-websocket:${tomcatVersion}" )
testCompile ( "io.projectreactor.ipc:reactor-netty" )
}
}
project ( "spring-webflux" ) {
description = "Spring WebFlux"
dependencies {
compile ( project ( ":spring-beans" ) )
compile ( project ( ":spring-core" ) )
compile ( project ( ":spring-web" ) )
compile ( "io.projectreactor:reactor-core" )
optional ( project ( ":spring-context" ) )
optional ( project ( ":spring-context-support" ) ) // for FreeMarker support
optional ( "javax.servlet:javax.servlet-api:3.1.0" )
optional ( "javax.websocket:javax.websocket-api:1.1" )
optional ( "com.fasterxml.jackson.core:jackson-databind:${jackson2Version}" )
optional ( "com.fasterxml.jackson.dataformat:jackson-dataformat-smile:${jackson2Version}" )
optional ( "org.freemarker:freemarker:${freemarkerVersion}" )
optional ( "org.apache.httpcomponents:httpclient:${httpclientVersion}" ) {
exclude group: "commons-logging" , module: "commons-logging"
}
optional ( 'org.webjars:webjars-locator:0.32-1' )
optional ( "io.projectreactor.ipc:reactor-netty" )
optional ( "io.reactivex:rxjava:${rxjavaVersion}" )
optional ( "io.reactivex:rxjava-reactive-streams:${rxjavaAdapterVersion}" )
optional ( "org.apache.tomcat:tomcat-websocket:${tomcatVersion}" ) {
exclude group: "org.apache.tomcat" , module: "tomcat-websocket-api"
exclude group: "org.apache.tomcat" , module: "tomcat-servlet-api"
}
optional ( "org.eclipse.jetty.websocket:websocket-server:${jettyVersion}" ) {
exclude group: "javax.servlet" , module: "javax.servlet"
}
optional ( "io.undertow:undertow-websockets-jsr:${undertowVersion}" ) {
exclude group: "org.jboss.spec.javax.websocket" , module: "jboss-websocket-api_1.1_spec"
}
optional ( "org.jetbrains.kotlin:kotlin-reflect:${kotlinVersion}" )
optional ( "org.jetbrains.kotlin:kotlin-stdlib:${kotlinVersion}" )
testCompile ( "javax.xml.bind:jaxb-api:${jaxbVersion}" )
testCompile ( "io.projectreactor:reactor-test" )
testCompile ( "org.hibernate:hibernate-validator:6.0.1.Final" )
testCompile ( "org.apache.tomcat:tomcat-util:${tomcatVersion}" )
testCompile ( "org.apache.tomcat.embed:tomcat-embed-core:${tomcatVersion}" )
testCompile ( "org.eclipse.jetty:jetty-server:${jettyVersion}" )
testCompile ( "org.eclipse.jetty:jetty-servlet:${jettyVersion}" )
testCompile "io.reactivex.rxjava2:rxjava:${rxjava2Version}"
testCompile ( "io.undertow:undertow-core:${undertowVersion}" )
testCompile ( "io.reactivex:rxnetty-http:0.5.2" ) {
exclude group: 'io.reactivex' , module: 'rxjava'
}
testCompile ( "com.fasterxml:aalto-xml:1.0.0" )
testCompile ( "com.squareup.okhttp3:mockwebserver:${okhttp3Version}" )
testCompile ( "org.jetbrains.kotlin:kotlin-script-runtime:${kotlinVersion}" )
testRuntime ( "org.jetbrains.kotlin:kotlin-script-util:${kotlinVersion}" )
testRuntime ( "org.jetbrains.kotlin:kotlin-compiler:${kotlinVersion}" )
testRuntime ( "org.jruby:jruby:9.1.12.0" )
testRuntime ( "org.python:jython-standalone:2.7.1" )
testRuntime ( "org.synchronoss.cloud:nio-multipart-parser:1.1.0" )
testRuntime ( "org.webjars:underscorejs:1.8.3" )
testRuntime ( "org.glassfish:javax.el:3.0.1-b08" )
testRuntime ( "com.sun.xml.bind:jaxb-core:${jaxbVersion}" )
testRuntime ( "com.sun.xml.bind:jaxb-impl:${jaxbVersion}" )
testRuntime ( "javax.activation:activation:${activationVersion}" )
}
}
project ( "spring-test" ) {
description = "Spring TestContext Framework"
dependencies {
compile ( project ( ":spring-core" ) )
optional ( project ( ":spring-aop" ) )
optional ( project ( ":spring-beans" ) )
optional ( project ( ":spring-context" ) )
optional ( project ( ":spring-jdbc" ) )
optional ( project ( ":spring-orm" ) )
optional ( project ( ":spring-tx" ) )
optional ( project ( ":spring-web" ) )
optional ( project ( ":spring-webflux" ) )
optional ( project ( ":spring-webmvc" ) )
optional ( project ( ":spring-websocket" ) )
optional ( "junit:junit:4.12" )
optional ( "org.junit.jupiter:junit-jupiter-api:${junitJupiterVersion}" )
optional ( "org.testng:testng:6.11" )
optional ( "javax.inject:javax.inject:1" )
optional ( "javax.servlet:javax.servlet-api:4.0.0" )
optional ( "javax.servlet.jsp:javax.servlet.jsp-api:2.3.2-b02" )
optional ( "javax.servlet.jsp.jstl:javax.servlet.jsp.jstl-api:1.2.1" )
optional ( "org.apache.taglibs:taglibs-standard-jstlel:1.2.5" ) {
exclude group: "org.apache.taglibs" , module: "taglibs-standard-spec"
}
optional ( "javax.el:javax.el-api:3.0.1-b04" )
optional ( "javax.websocket:javax.websocket-api:1.1" )
optional ( "javax.activation:activation:${activationVersion}" )
optional ( "javax.xml.bind:jaxb-api:${jaxbVersion}" )
optional ( "org.aspectj:aspectjweaver:${aspectjVersion}" )
optional ( "org.codehaus.groovy:groovy-all:${groovyVersion}" )
optional ( "org.hamcrest:hamcrest-core:1.3" )
optional ( "net.sourceforge.htmlunit:htmlunit:2.27" ) {
exclude group: "commons-logging" , module: "commons-logging"
}
optional ( "org.seleniumhq.selenium:htmlunit-driver:2.27" )
optional ( "org.seleniumhq.selenium:selenium-java:3.4.0" ) {
exclude group: "io.netty" , module: "netty"
}
optional ( "org.xmlunit:xmlunit-matchers:2.3.0" )
optional ( "org.skyscreamer:jsonassert:1.5.0" )
optional ( "com.jayway.jsonpath:json-path:2.4.0" )
optional ( "org.jetbrains.kotlin:kotlin-reflect:${kotlinVersion}" )
optional ( "org.jetbrains.kotlin:kotlin-stdlib:${kotlinVersion}" )
optional ( "io.projectreactor:reactor-test" )
testCompile ( project ( ":spring-context-support" ) )
testCompile ( project ( ":spring-oxm" ) )
testCompile ( "javax.mail:javax.mail-api:${javamailVersion}" )
testCompile ( "javax.ejb:javax.ejb-api:3.2" )
testCompile ( "javax.interceptor:javax.interceptor-api:1.2" )
testCompile ( "javax.cache:cache-api:1.0.0" )
testCompile ( "org.hibernate:hibernate-core:5.2.10.Final" )
testCompile ( "org.hibernate:hibernate-validator:6.0.1.Final" )
// Enable use of the JUnitPlatform Runner
testCompile ( "org.junit.platform:junit-platform-runner:${junitPlatformVersion}" )
testCompile ( "org.junit.jupiter:junit-jupiter-params:${junitJupiterVersion}" )
testCompile ( "com.fasterxml.jackson.core:jackson-databind:${jackson2Version}" )
testCompile ( "com.thoughtworks.xstream:xstream:1.4.10" )
testCompile ( "com.rometools:rome:1.7.4" )
testCompile ( "org.apache.tiles:tiles-api:${tiles3Version}" )
testCompile ( "org.apache.tiles:tiles-core:${tiles3Version}" ) {
exclude group: "org.slf4j" , module: "jcl-over-slf4j"
}
testCompile ( "org.apache.tiles:tiles-servlet:${tiles3Version}" ) {
exclude group: "org.slf4j" , module: "jcl-over-slf4j"
}
testCompile ( "org.hsqldb:hsqldb:${hsqldbVersion}" )
testCompile ( "org.apache.httpcomponents:httpclient:${httpclientVersion}" ) {
exclude group: "commons-logging" , module: "commons-logging"
}
testCompile ( 'io.projectreactor.ipc:reactor-netty' )
// Pull in the latest JUnit 5 Launcher API and the Vintage engine as well
// so that we can run JUnit 4 tests in IntelliJ IDEA .
testRuntime ( "org.junit.jupiter:junit-jupiter-engine:${junitJupiterVersion}" )
testRuntime ( "org.junit.platform:junit-platform-launcher:${junitPlatformVersion}" )
testRuntime ( "org.junit.vintage:junit-vintage-engine:${junitVintageVersion}" )
testCompile ( 'de.bechte.junit:junit-hierarchicalcontextrunner:4.12.1' )
testRuntime ( "org.apache.logging.log4j:log4j-jul:${log4jVersion}" ) // Java Util Logging for JUnit 5
testRuntime ( "javax.annotation:javax.annotation-api:1.3" )
testRuntime ( "org.glassfish:javax.el:3.0.1-b08" )
testRuntime ( "com.sun.xml.bind:jaxb-core:${jaxbVersion}" )
testRuntime ( "com.sun.xml.bind:jaxb-impl:${jaxbVersion}" )
}
task testNG ( type: Test ) {
description = 'Runs TestNG tests.'
useTestNG ( )
scanForTestClasses = false
include ( [ "**/testng/**/*Tests.class" , "**/testng/**/*Test.class" ] )
// Show STD_OUT & STD_ERR of the test JVM ( s ) on the console:
// testLogging . showStandardStreams = true
// forkEvery 1
reports . junitXml . destination = file ( "$buildDir/test-results" )
}
test {
description = 'Runs JUnit tests.'
dependsOn testNG
useJUnit ( )
scanForTestClasses = false
include ( [ '**/*Tests.class' , '**/*Test.class' , '**/SpringJUnitJupiterTestSuite.class' ] )
exclude ( [ '**/testng/**/*.*' ] )
// Java Util Logging for JUnit 5 .
// systemProperty ( 'java.util.logging.manager' , 'org.apache.logging.log4j.jul.LogManager' )
reports . junitXml . destination = file ( "$buildDir/test-results" )
}
task aggregateTestReports ( type: TestReport ) {
description = 'Aggregates JUnit and TestNG test reports.'
destinationDir = test . reports . html . destination
reportOn test , testNG
}
check . dependsOn aggregateTestReports
}
project ( "spring-aspects" ) {
description = "Spring Aspects"
apply from: "aspects.gradle"
dependencies {
aspects ( project ( ":spring-orm" ) )
ajc ( "org.aspectj:aspectjtools:${aspectjVersion}" )
rt ( "org.aspectj:aspectjrt:${aspectjVersion}" )
compile ( "org.aspectj:aspectjweaver:${aspectjVersion}" )
optional ( project ( ":spring-aop" ) ) // for @Async support
optional ( project ( ":spring-beans" ) ) // for @Configurable support
optional ( project ( ":spring-context" ) ) // for @Enable * support
optional ( project ( ":spring-context-support" ) ) // for JavaMail and JSR - 107 support
optional ( project ( ":spring-orm" ) ) // for JPA exception translation support
optional ( project ( ":spring-tx" ) ) // for JPA , @Transactional support
optional ( "javax.cache:cache-api:1.0.0" ) // for JCache aspect
optional ( "javax.transaction:javax.transaction-api:1.2" ) // for @javax.transaction.Transactional support
testCompile ( project ( ":spring-core" ) ) // for CodeStyleAspect
testCompile ( project ( ":spring-test" ) )
testCompile ( "javax.mail:javax.mail-api:${javamailVersion}" )
}
eclipse . project {
natures + = "org.eclipse.ajdt.ui.ajnature"
buildCommands = [ new org . gradle . plugins . ide . eclipse . model . BuildCommand ( "org.eclipse.ajdt.core.ajbuilder" ) ]
}
}
project ( "spring-framework-bom" ) {
description = "Spring Framework (Bill of Materials)"
dependencyManagement {
generatedPomCustomization {
enabled = false
}
}
configurations . archives . artifacts . clear ( )
artifacts {
// work around GRADLE - 2406 by attaching text artifact
archives ( file ( "spring-framework-bom.txt" ) )
}
install {
repositories . mavenInstaller {
pom . whenConfigured {
packaging = "pom"
}
}
}
}
sonarqube {
properties {
property "sonar.projectName" , "Spring Framework"