From d4089747b8e1f4d79497916286c581b8eb69d67f Mon Sep 17 00:00:00 2001 From: Brian Clozel Date: Mon, 26 Aug 2019 21:13:12 +0200 Subject: [PATCH] Use dependency management in Framework build Prior to this commit, the Spring Framework build would partially use the dependency management plugin to import and enforce BOMs. This commit applies the dependency management plugin to all Java projects and regroups all version management declaration in the root `build.gradle` file (versions and exclusions). Some versions are overridden in specific modules for backwards-compatibility reasons or extended support. This commit also adds the Gradle versions plugin that checks for dependency upgrades in artifact repositories and produces a report; you can use the following: ./gradlew dependencyUpdates --- build.gradle | 385 ++++++++++++++---- integration-tests/integration-tests.gradle | 12 +- spring-aop/spring-aop.gradle | 6 +- spring-aspects/spring-aspects.gradle | 14 +- spring-beans/spring-beans.gradle | 6 +- .../spring-context-indexer.gradle | 8 +- .../spring-context-support.gradle | 30 +- spring-context/spring-context.gradle | 49 +-- spring-core/spring-core.gradle | 31 +- spring-jcl/spring-jcl.gradle | 4 +- spring-jdbc/spring-jdbc.gradle | 10 +- spring-jms/spring-jms.gradle | 10 +- spring-messaging/spring-messaging.gradle | 43 +- spring-orm/spring-orm.gradle | 10 +- spring-oxm/spring-oxm.gradle | 23 +- spring-test/spring-test.gradle | 103 ++--- spring-tx/spring-tx.gradle | 24 +- spring-web/spring-web.gradle | 112 +++-- spring-webflux/spring-webflux.gradle | 74 ++-- spring-webmvc/spring-webmvc.gradle | 103 ++--- spring-websocket/spring-websocket.gradle | 34 +- 21 files changed, 589 insertions(+), 502 deletions(-) diff --git a/build.gradle b/build.gradle index 795093c273..be10d8df1f 100644 --- a/build.gradle +++ b/build.gradle @@ -5,7 +5,7 @@ buildscript { } } plugins { - id 'io.spring.dependency-management' version '1.0.7.RELEASE' apply false + id 'io.spring.dependency-management' version '1.0.8.RELEASE' apply false id 'org.jetbrains.kotlin.jvm' version '1.3.50' apply false id 'org.jetbrains.dokka' version '0.9.18' apply false id 'org.asciidoctor.convert' version '1.5.8' @@ -13,72 +13,291 @@ plugins { id 'de.undercouch.download' version '4.0.0' id "com.jfrog.artifactory" version '4.9.8' apply false id "io.freefair.aspectj" version "4.0.0" apply false + id "com.github.ben-manes.versions" version "0.24.0" } ext { moduleProjects = subprojects.findAll { it.name.startsWith("spring-") } - - aspectjVersion = "1.9.4" - coroutinesVersion = "1.3.0" - freemarkerVersion = "2.3.28" - groovyVersion = "2.5.7" - hsqldbVersion = "2.5.0" - jackson2Version = "2.9.9" - jettyVersion = "9.4.20.v20190813" - junit5Version = "5.5.1" - kotlinVersion = "1.3.50" - log4jVersion = "2.12.0" - nettyVersion = "4.1.38.Final" - reactorVersion = "Dysprosium-M3" - rsocketVersion = "1.0.0-RC3" - rxjavaVersion = "1.3.8" - rxjavaAdapterVersion = "1.2.1" - rxjava2Version = "2.2.10" - slf4jVersion = "1.7.26" // spring-jcl + consistent 3rd party deps - tiles3Version = "3.0.8" - tomcatVersion = "9.0.22" - undertowVersion = "2.0.23.Final" - + javaProjects = subprojects - project(":framework-bom") withoutJclOverSlf4j = { - exclude group: "org.slf4j", module: "jcl-over-slf4j" + exclude group: "org.slf4j", name: "jcl-over-slf4j" } } -configure(allprojects.findAll { (it.name != "framework-bom") } ) { project -> - group = "org.springframework" - - apply plugin: "java" - apply plugin: "checkstyle" - apply plugin: 'org.springframework.build.compile' +configure(subprojects) { project -> apply plugin: "io.spring.dependency-management" - apply from: "${rootDir}/gradle/ide.gradle" dependencyManagement { - resolutionStrategy { - cacheChangingModulesFor 0, "seconds" + imports { + mavenBom "com.fasterxml.jackson:jackson-bom:2.9.9" + mavenBom "io.netty:netty-bom:4.1.38.Final" + mavenBom "io.projectreactor:reactor-bom:Dysprosium-M3" + mavenBom "org.eclipse.jetty:jetty-bom:9.4.20.v20190813" + mavenBom "org.jetbrains.kotlin:kotlin-bom:1.3.50" + mavenBom "org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.3.0" + mavenBom "org.junit:junit-bom:5.5.1" + } + dependencies { + dependencySet(group: 'org.apache.logging.log4j', version: '2.12.0') { + entry 'log4j-api' + entry 'log4j-core' + entry 'log4j-slf4j-impl' + entry 'log4j-jul' + } + dependency "org.slf4j:slf4j-api:1.7.26" + + dependency "com.google.code.findbugs:jsr305:3.0.2" + + dependencySet(group: 'org.aspectj', version: '1.9.4') { + entry 'aspectjrt' + entry 'aspectjtools' + entry 'aspectjweaver' + } + dependencySet(group: 'org.codehaus.groovy', version: '2.5.7') { + entry 'groovy' + entry 'groovy-jsr223' + entry 'groovy-templates' + entry 'groovy-test' + entry 'groovy-xml' + } + + dependency "io.reactivex:rxjava:1.3.8" + dependency "io.reactivex:rxjava-reactive-streams:1.2.1" + dependency "io.reactivex.rxjava2:rxjava:2.2.10" + dependencySet(group: 'io.rsocket', version: '1.0.0-RC3') { + entry 'rsocket-core' + entry 'rsocket-transport-netty' + } + + dependency "com.caucho:hessian:4.0.51" + dependency "com.fasterxml:aalto-xml:1.1.1" + dependency("com.fasterxml.woodstox:woodstox-core:5.2.0") { + exclude group: "stax", name: "stax-api" + } + dependency "com.google.code.gson:gson:2.8.5" + dependency "com.google.protobuf:protobuf-java-util:3.9.0" + dependency "com.googlecode.protobuf-java-format:protobuf-java-format:1.4" + dependency("com.thoughtworks.xstream:xstream:1.4.11.1") { + exclude group: "xpp3", name: "xpp3_min" + exclude group: "xmlpull", name: "xmlpull" + } + dependency "org.apache.johnzon:johnzon-jsonb:1.1.12" + dependency("org.codehaus.jettison:jettison:1.3.8") { + exclude group: "stax", name: "stax-api" + } + dependencySet(group: 'org.jibx', version: '1.3.1') { + entry 'jibx-bind' + entry 'jibx-run' + } + dependency "org.ogce:xpp3:1.1.6" + dependency "org.yaml:snakeyaml:1.24" + + dependency "com.h2database:h2:1.4.199" + dependency "com.github.ben-manes.caffeine:caffeine:2.7.0" + dependency "com.github.librepdf:openpdf:1.2.21" + dependency "com.rometools:rome:1.12.1" + dependency "commons-io:commons-io:2.5" + dependency "io.vavr:vavr:0.10.0" + dependency "net.sf.jopt-simple:jopt-simple:5.0.4" + dependencySet(group: 'org.apache.activemq', version: '5.8.0') { + entry 'activemq-broker' + entry('activemq-kahadb-store') { + exclude group: "org.springframework", name: "spring-context" + } + entry 'activemq-stomp' + } + dependency "org.apache.bcel:bcel:6.0" + dependency "org.apache.commons:commons-pool2:2.6.0" + dependencySet(group: 'org.apache.derby', version: '10.14.2.0') { + entry 'derby' + entry 'derbyclient' + } + dependency "org.apache.poi:poi-ooxml:4.1.0" + dependency "org.awaitility:awaitility:3.1.3" + dependency "org.beanshell:bsh:2.0b5" + dependency "org.freemarker:freemarker:2.3.28" + dependency "org.hsqldb:hsqldb:2.5.0" + dependency "org.quartz-scheduler:quartz:2.3.1" + dependency "org.codehaus.fabric3.api:commonj:1.1.0" + dependency "net.sf.ehcache:ehcache:2.10.4" + dependency "org.ehcache:jcache:1.0.1" + dependency "org.ehcache:ehcache:3.4.0" + dependency "org.hibernate:hibernate-core:5.4.4.Final" + dependency "org.hibernate:hibernate-validator:6.0.17.Final" + dependency "org.webjars:webjars-locator-core:0.37" + dependency "org.webjars:underscorejs:1.8.3" + + dependencySet(group: 'org.apache.tomcat', version: '9.0.22') { + entry 'tomcat-util' + entry('tomcat-websocket') { + exclude group: "org.apache.tomcat", name: "tomcat-websocket-api" + exclude group: "org.apache.tomcat", name: "tomcat-servlet-api" + } + } + dependencySet(group: 'org.apache.tomcat.embed', version: '9.0.22') { + entry 'tomcat-embed-core' + entry 'tomcat-embed-websocket' + } + dependencySet(group: 'io.undertow', version: '2.0.23.Final') { + entry 'undertow-core' + entry('undertow-websockets-jsr') { + exclude group: "org.jboss.spec.javax.websocket", name: "jboss-websocket-api_1.1_spec" + } + entry('undertow-servlet') { + exclude group: "org.jboss.spec.javax.servlet", name: "jboss-servlet-api_3.1_spec" + exclude group: "org.jboss.spec.javax.annotation", name: "jboss-annotations-api_1.2_spec" + } + + } + + dependencySet(group: 'com.squareup.okhttp3', version: '3.14.2') { + entry 'okhttp' + entry 'mockwebserver' + } + dependency("org.apache.httpcomponents:httpclient:4.5.9") { + exclude group: "commons-logging", name: "commons-logging" + } + dependency("org.apache.httpcomponents:httpasyncclient:4.1.4") { + exclude group: "commons-logging", name: "commons-logging" + } + dependency "org.eclipse.jetty:jetty-reactive-httpclient:1.0.3" + + dependency "org.jruby:jruby:9.2.7.0" + dependency "org.python:jython-standalone:2.7.1" + dependency "org.mozilla:rhino:1.7.10" + + dependency "commons-fileupload:commons-fileupload:1.4" + dependency "org.synchronoss.cloud:nio-multipart-parser:1.1.0" + + dependency("dom4j:dom4j:1.6.1") { + exclude group: "xml-apis", name: "xml-apis" + } + dependency("jaxen:jaxen:1.1.1") { + exclude group: "xml-apis", name: "xml-apis" + exclude group: "xom", name: "xom" + exclude group: "xerces", name: "xercesImpl" + } + + dependency("junit:junit:4.13-beta-3") { + exclude group: "org.hamcrest", name: "hamcrest-core" + } + dependency("de.bechte.junit:junit-hierarchicalcontextrunner:4.12.1") { + exclude group: "junit", name: "junit" + } + dependency "org.testng:testng:6.14.3" + dependency "org.hamcrest:hamcrest:2.1" + dependency "org.assertj:assertj-core:3.13.1" + dependencySet(group: 'org.xmlunit', version: '2.6.2') { + entry 'xmlunit-assertj' + entry('xmlunit-matchers') { + exclude group: "org.hamcrest", name: "hamcrest-core" + } + } + dependencySet(group: 'org.mockito', version: '3.0.0') { + entry('mockito-core') { + exclude group: "org.hamcrest", name: "hamcrest-core" + } + entry 'mockito-junit-jupiter' + } + dependency "io.mockk:mockk:1.9.3" + + dependency("net.sourceforge.htmlunit:htmlunit:2.35.0") { + exclude group: "commons-logging", name: "commons-logging" + } + dependency("org.seleniumhq.selenium:htmlunit-driver:2.35.1") { + exclude group: "commons-logging", name: "commons-logging" + } + dependency("org.seleniumhq.selenium:selenium-java:3.141.59") { + exclude group: "commons-logging", name: "commons-logging" + exclude group: "io.netty", name: "netty" + } + dependency "org.skyscreamer:jsonassert:1.5.0" + dependency "com.jayway.jsonpath:json-path:2.4.0" + + dependencySet(group: 'org.apache.tiles', version: '3.0.8') { + entry 'tiles-api' + entry('tiles-core', withoutJclOverSlf4j) + entry('tiles-servlet', withoutJclOverSlf4j) + entry('tiles-jsp', withoutJclOverSlf4j) + entry('tiles-el', withoutJclOverSlf4j) + entry('tiles-extras') { + exclude group: "org.springframework", name: "spring-web" + exclude group: "org.slf4j", name: "jcl-over-slf4j" + } + } + dependency("org.apache.taglibs:taglibs-standard-jstlel:1.2.5") { + exclude group: "org.apache.taglibs", name: "taglibs-standard-spec" + } + + dependency "com.ibm.websphere:uow:6.0.2.17" + dependency "com.jamonapi:jamon:2.81" + dependency "joda-time:joda-time:2.10.2" + dependency "org.eclipse.persistence:org.eclipse.persistence.jpa:2.7.4" + dependency "org.javamoney:moneta:1.3" + + dependency "com.sun.activation:javax.activation:1.2.0" + dependency "com.sun.mail:javax.mail:1.6.2" + dependencySet(group: 'com.sun.xml.bind', version: '2.3.0.1') { + entry 'jaxb-core' + entry 'jaxb-impl' + entry 'jaxb-xjc' + } + + dependency "javax.activation:javax.activation-api:1.2.0" + dependency "javax.annotation:javax.annotation-api:1.3.2" + dependency "javax.cache:cache-api:1.1.0" + dependency "javax.ejb:javax.ejb-api:3.2" + dependency "javax.el:javax.el-api:3.0.1-b04" + dependency "javax.enterprise.concurrent:javax.enterprise.concurrent-api:1.0" + dependency "javax.faces:javax.faces-api:2.2" + dependency "javax.inject:javax.inject:1" + dependency "javax.inject:javax.inject-tck:1" + dependency "javax.interceptor:javax.interceptor-api:1.2.2" + dependency "javax.jms:javax.jms-api:2.0.1" + dependency "javax.json:javax.json-api:1.1.4" + dependency "javax.json.bind:javax.json.bind-api:1.0" + dependency "javax.mail:javax.mail-api:1.6.2" + dependency "javax.money:money-api:1.0.3" + dependency "javax.resource:javax.resource-api:1.7.1" + dependency "javax.servlet:javax.servlet-api:4.0.1" + dependency "javax.servlet.jsp:javax.servlet.jsp-api:2.3.2-b02" + dependency "javax.servlet.jsp.jstl:javax.servlet.jsp.jstl-api:1.2.1" + dependency "javax.transaction:javax.transaction-api:1.3" + dependency "javax.validation:validation-api:2.0.1.Final" + dependency "javax.websocket:javax.websocket-api:1.1" + dependency "javax.xml.bind:jaxb-api:2.3.1" + dependency "javax.xml.ws:jaxws-api:2.3.1" + + dependency "org.eclipse.persistence:javax.persistence:2.2.0" + + // Substitute for "javax.management:jmxremote_optional:1.0.1_04" which + // is not available on Maven Central + dependency "org.glassfish.external:opendmk_jmxremote_optional_jar:1.0-b01-ea" + dependency "org.glassfish:javax.el:3.0.1-b08" + dependency "org.glassfish.main:javax.jws:4.0-b33" + dependency "org.glassfish.tyrus:tyrus-container-servlet:1.13.1" } - applyMavenExclusions = false generatedPomCustomization { enabled = false } - imports { - mavenBom "org.junit:junit-bom:${junit5Version}" - mavenBom "org.jetbrains.kotlin:kotlin-bom:${kotlinVersion}" - mavenBom "org.jetbrains.kotlinx:kotlinx-coroutines-bom:${coroutinesVersion}" + resolutionStrategy { + cacheChangingModulesFor 0, "seconds" + } + repositories { + mavenCentral() + maven { url "https://repo.spring.io/libs-release" } + maven { url "https://repo.spring.io/milestone" } // Reactor } } +} - configurations.all { - // Check for updates every build - resolutionStrategy.cacheChangingModulesFor 0, "seconds" +configure([rootProject] + javaProjects) { project -> + group = "org.springframework" - // Consistent slf4j version (e.g. clashes between slf4j versions) - resolutionStrategy.eachDependency { DependencyResolveDetails details -> - if (details.requested.group == "org.slf4j") { - details.useVersion slf4jVersion - } - } - } + apply plugin: "java" + apply plugin: "checkstyle" + apply plugin: 'org.springframework.build.compile' + apply from: "${rootDir}/gradle/ide.gradle" pluginManager.withPlugin("kotlin") { apply plugin: "org.jetbrains.dokka" @@ -115,53 +334,45 @@ configure(allprojects.findAll { (it.name != "framework-bom") } ) { project -> configDir = rootProject.file("src/checkstyle") } - repositories { - mavenCentral() - maven { url "https://repo.spring.io/libs-release" } - maven { url "https://repo.spring.io/milestone" } // Reactor - } - dependencies { testCompile("org.junit.jupiter:junit-jupiter-api") testCompile("org.junit.jupiter:junit-jupiter-params") - testCompile("org.mockito:mockito-core:3.0.0") { - exclude group: "org.hamcrest", module: "hamcrest-core" - } - testCompile("org.mockito:mockito-junit-jupiter:3.0.0") - testCompile("io.mockk:mockk:1.9.3") - testCompile("org.hamcrest:hamcrest:2.1") - testCompile("org.assertj:assertj-core:3.13.1") + testCompile("org.mockito:mockito-core") + testCompile("org.mockito:mockito-junit-jupiter") + testCompile("io.mockk:mockk") + testCompile("org.hamcrest:hamcrest") + testCompile("org.assertj:assertj-core") // Pull in the latest JUnit 5 Launcher API to ensure proper support in IDEs. testRuntime("org.junit.platform:junit-platform-launcher") testRuntime("org.junit.jupiter:junit-jupiter-engine") - testRuntime("org.apache.logging.log4j:log4j-core:${log4jVersion}") - testRuntime("org.apache.logging.log4j:log4j-slf4j-impl:${log4jVersion}") - testRuntime("org.apache.logging.log4j:log4j-jul:${log4jVersion}") + testRuntime("org.apache.logging.log4j:log4j-core") + testRuntime("org.apache.logging.log4j:log4j-slf4j-impl") + testRuntime("org.apache.logging.log4j:log4j-jul") // JSR-305 only used for non-required meta-annotations - compileOnly("com.google.code.findbugs:jsr305:3.0.2") - testCompileOnly("com.google.code.findbugs:jsr305:3.0.2") + compileOnly("com.google.code.findbugs:jsr305") + testCompileOnly("com.google.code.findbugs:jsr305") checkstyle("io.spring.javaformat:spring-javaformat-checkstyle:0.0.15") } ext.javadocLinks = [ - "https://docs.oracle.com/javase/8/docs/api/", - "https://docs.oracle.com/javaee/7/api/", - "https://docs.oracle.com/cd/E13222_01/wls/docs90/javadocs/", // CommonJ - "https://www.ibm.com/support/knowledgecenter/SS7JFU_8.5.5/com.ibm.websphere.javadoc.doc/web/apidocs/", - "https://glassfish.java.net/nonav/docs/v3/api/", - "https://docs.jboss.org/jbossas/javadoc/4.0.5/connector/", - "https://docs.jboss.org/jbossas/javadoc/7.1.2.Final/", - "https://tiles.apache.org/tiles-request/apidocs/", - "https://tiles.apache.org/framework/apidocs/", - "https://www.eclipse.org/aspectj/doc/released/aspectj5rt-api/", - "https://www.ehcache.org/apidocs/2.10.4", - "https://www.quartz-scheduler.org/api/2.3.0/", - "https://fasterxml.github.io/jackson-core/javadoc/2.9/", - "https://fasterxml.github.io/jackson-databind/javadoc/2.9/", - "https://fasterxml.github.io/jackson-dataformat-xml/javadoc/2.9/", - "https://hc.apache.org/httpcomponents-client-ga/httpclient/apidocs/", - "https://junit.org/junit4/javadoc/4.12/", - "https://junit.org/junit5/docs/${junit5Version}/api/" + "https://docs.oracle.com/javase/8/docs/api/", + "https://docs.oracle.com/javaee/7/api/", + "https://docs.oracle.com/cd/E13222_01/wls/docs90/javadocs/", // CommonJ + "https://www.ibm.com/support/knowledgecenter/SS7JFU_8.5.5/com.ibm.websphere.javadoc.doc/web/apidocs/", + "https://glassfish.java.net/nonav/docs/v3/api/", + "https://docs.jboss.org/jbossas/javadoc/4.0.5/connector/", + "https://docs.jboss.org/jbossas/javadoc/7.1.2.Final/", + "https://tiles.apache.org/tiles-request/apidocs/", + "https://tiles.apache.org/framework/apidocs/", + "https://www.eclipse.org/aspectj/doc/released/aspectj5rt-api/", + "https://www.ehcache.org/apidocs/2.10.4", + "https://www.quartz-scheduler.org/api/2.3.0/", + "https://fasterxml.github.io/jackson-core/javadoc/2.9/", + "https://fasterxml.github.io/jackson-databind/javadoc/2.9/", + "https://fasterxml.github.io/jackson-dataformat-xml/javadoc/2.9/", + "https://hc.apache.org/httpcomponents-client-ga/httpclient/apidocs/", + "https://junit.org/junit4/javadoc/4.12/", + "https://junit.org/junit5/docs/5.5.1/api/" ] as String[] } @@ -190,12 +401,6 @@ configure(rootProject) { } } - dependencyManagement { - imports { - mavenBom "io.projectreactor:reactor-bom:${reactorVersion}" - } - } - dependencies { asciidoctor("io.spring.asciidoctor:spring-asciidoctor-extensions:0.1.3.RELEASE") } diff --git a/integration-tests/integration-tests.gradle b/integration-tests/integration-tests.gradle index f87ae40261..6e285d8471 100644 --- a/integration-tests/integration-tests.gradle +++ b/integration-tests/integration-tests.gradle @@ -13,10 +13,10 @@ dependencies { testCompile(project(":spring-test")) testCompile(project(":spring-tx")) testCompile(project(":spring-web")) - testCompile("javax.inject:javax.inject:1") - testCompile("javax.resource:javax.resource-api:1.7.1") - testCompile("javax.servlet:javax.servlet-api:4.0.1") - testCompile("org.aspectj:aspectjweaver:${aspectjVersion}") - testCompile("org.hsqldb:hsqldb:${hsqldbVersion}") - testCompile("org.hibernate:hibernate-core:5.1.17.Final") + testCompile("javax.inject:javax.inject") + testCompile("javax.resource:javax.resource-api") + testCompile("javax.servlet:javax.servlet-api") + testCompile("org.aspectj:aspectjweaver") + testCompile("org.hsqldb:hsqldb") + testCompile("org.hibernate:hibernate-core") } diff --git a/spring-aop/spring-aop.gradle b/spring-aop/spring-aop.gradle index 6911a3b5f2..e4c20542e2 100644 --- a/spring-aop/spring-aop.gradle +++ b/spring-aop/spring-aop.gradle @@ -3,7 +3,7 @@ description = "Spring AOP" dependencies { compile(project(":spring-beans")) compile(project(":spring-core")) - optional("org.aspectj:aspectjweaver:${aspectjVersion}") - optional("org.apache.commons:commons-pool2:2.6.0") - optional("com.jamonapi:jamon:2.81") + optional("org.aspectj:aspectjweaver") + optional("org.apache.commons:commons-pool2") + optional("com.jamonapi:jamon") } diff --git a/spring-aspects/spring-aspects.gradle b/spring-aspects/spring-aspects.gradle index d9b74b4fec..00b94c9586 100644 --- a/spring-aspects/spring-aspects.gradle +++ b/spring-aspects/spring-aspects.gradle @@ -8,24 +8,24 @@ sourceSets.main.java.srcDirs = files() sourceSets.test.aspectj.srcDir "src/test/java" sourceSets.test.java.srcDirs = files() -aspectj.version = aspectjVersion +aspectj.version = dependencyManagement.managedVersions['org.aspectj:aspectjweaver'] dependencies { aspect(project(":spring-orm")) - compile("org.aspectj:aspectjweaver:${aspectjVersion}") - compileOnly("org.aspectj:aspectjrt:${aspectjVersion}") + compile("org.aspectj:aspectjweaver") + compileOnly("org.aspectj:aspectjrt") 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.1.0") // for JCache aspect - optional("javax.transaction:javax.transaction-api:1.3") // for @javax.transaction.Transactional support + optional("javax.cache:cache-api") // for JCache aspect + optional("javax.transaction:javax.transaction-api") // for @javax.transaction.Transactional support testCompile(project(":spring-core")) // for CodeStyleAspect testCompile(project(":spring-test")) - testCompile("javax.mail:javax.mail-api:1.6.2") - testCompileOnly("org.aspectj:aspectjrt:${aspectjVersion}") + testCompile("javax.mail:javax.mail-api") + testCompileOnly("org.aspectj:aspectjrt") } eclipse.project { diff --git a/spring-beans/spring-beans.gradle b/spring-beans/spring-beans.gradle index 9264a18c4a..eb3152ec5b 100644 --- a/spring-beans/spring-beans.gradle +++ b/spring-beans/spring-beans.gradle @@ -5,12 +5,12 @@ apply plugin: "kotlin" dependencies { compile(project(":spring-core")) - optional("javax.inject:javax.inject:1") + optional("javax.inject:javax.inject") optional("org.yaml:snakeyaml:1.24") - optional("org.codehaus.groovy:groovy-xml:${groovyVersion}") + optional("org.codehaus.groovy:groovy-xml") optional("org.jetbrains.kotlin:kotlin-reflect") optional("org.jetbrains.kotlin:kotlin-stdlib") - testCompile("org.apache.tomcat.embed:tomcat-embed-core:${tomcatVersion}") + testCompile("org.apache.tomcat.embed:tomcat-embed-core") } // This module does joint compilation for Java and Groovy code with the compileGroovy task. diff --git a/spring-context-indexer/spring-context-indexer.gradle b/spring-context-indexer/spring-context-indexer.gradle index c4a46b05cc..a9769ada02 100644 --- a/spring-context-indexer/spring-context-indexer.gradle +++ b/spring-context-indexer/spring-context-indexer.gradle @@ -2,8 +2,8 @@ description = "Spring Context Indexer" dependencies { testCompile(project(":spring-context")) - testCompile("javax.inject:javax.inject:1") - testCompile("javax.annotation:javax.annotation-api:1.3.2") - testCompile("javax.transaction:javax.transaction-api:1.3") - testCompile("org.eclipse.persistence:javax.persistence:2.2.0") + testCompile("javax.inject:javax.inject") + testCompile("javax.annotation:javax.annotation-api") + testCompile("javax.transaction:javax.transaction-api") + testCompile("org.eclipse.persistence:javax.persistence") } diff --git a/spring-context-support/spring-context-support.gradle b/spring-context-support/spring-context-support.gradle index a0e8dd9530..54bf50e433 100644 --- a/spring-context-support/spring-context-support.gradle +++ b/spring-context-support/spring-context-support.gradle @@ -6,20 +6,20 @@ dependencies { compile(project(":spring-core")) optional(project(":spring-jdbc")) // for Quartz support optional(project(":spring-tx")) // for Quartz support - optional("javax.activation:javax.activation-api:1.2.0") - optional("javax.mail:javax.mail-api:1.6.2") - optional("javax.cache:cache-api:1.1.0") - optional("com.github.ben-manes.caffeine:caffeine:2.7.0") - optional("net.sf.ehcache:ehcache:2.10.4") - optional("org.quartz-scheduler:quartz:2.3.1") - optional("org.codehaus.fabric3.api:commonj:1.1.0") - optional("org.freemarker:freemarker:${freemarkerVersion}") + optional("javax.activation:javax.activation-api") + optional("javax.mail:javax.mail-api") + optional("javax.cache:cache-api") + optional("com.github.ben-manes.caffeine:caffeine") + optional("net.sf.ehcache:ehcache") + optional("org.quartz-scheduler:quartz") + optional("org.codehaus.fabric3.api:commonj") + optional("org.freemarker:freemarker") testCompile(project(":spring-context")) - testCompile("org.hsqldb:hsqldb:${hsqldbVersion}") - testCompile("org.hibernate:hibernate-validator:6.0.17.Final") - testCompile("javax.annotation:javax.annotation-api:1.3.2") - testRuntime("org.ehcache:jcache:1.0.1") - testRuntime("org.ehcache:ehcache:3.4.0") - testRuntime("org.glassfish:javax.el:3.0.1-b08") - testRuntime("com.sun.mail:javax.mail:1.6.2") + testCompile("org.hsqldb:hsqldb") + testCompile("org.hibernate:hibernate-validator") + testCompile("javax.annotation:javax.annotation-api") + testRuntime("org.ehcache:jcache") + testRuntime("org.ehcache:ehcache") + testRuntime("org.glassfish:javax.el") + testRuntime("com.sun.mail:javax.mail") } diff --git a/spring-context/spring-context.gradle b/spring-context/spring-context.gradle index 84186ce5c9..b65c7278a4 100644 --- a/spring-context/spring-context.gradle +++ b/spring-context/spring-context.gradle @@ -3,45 +3,40 @@ description = "Spring Context" apply plugin: "groovy" apply plugin: "kotlin" -dependencyManagement { - imports { - mavenBom "io.projectreactor:reactor-bom:${reactorVersion}" - } -} - dependencies { compile(project(":spring-aop")) compile(project(":spring-beans")) compile(project(":spring-core")) compile(project(":spring-expression")) optional(project(":spring-instrument")) - optional("javax.annotation:javax.annotation-api:1.3.2") - optional("javax.ejb:javax.ejb-api:3.2") - optional("javax.enterprise.concurrent:javax.enterprise.concurrent-api:1.0") - optional("javax.inject:javax.inject:1") - optional("javax.interceptor:javax.interceptor-api:1.2.2") - optional("javax.money:money-api:1.0.3") + optional("javax.annotation:javax.annotation-api") + optional("javax.ejb:javax.ejb-api") + optional("javax.enterprise.concurrent:javax.enterprise.concurrent-api") + optional("javax.inject:javax.inject") + optional("javax.interceptor:javax.interceptor-api") + optional("javax.money:money-api") + // TODO: overriding 2.0.1.Final, because of LocalValidatorFactoryBean optional("javax.validation:validation-api:1.1.0.Final") - optional("javax.xml.ws:jaxws-api:2.3.1") - optional("org.aspectj:aspectjweaver:${aspectjVersion}") - optional("org.codehaus.groovy:groovy:${groovyVersion}") - optional("org.beanshell:bsh:2.0b5") - optional("joda-time:joda-time:2.10.1") + optional("javax.xml.ws:jaxws-api") + optional("org.aspectj:aspectjweaver") + optional("org.codehaus.groovy:groovy") + optional("org.beanshell:bsh") + optional("joda-time:joda-time") optional("org.hibernate:hibernate-validator:5.4.3.Final") optional("org.jetbrains.kotlin:kotlin-reflect") optional("org.jetbrains.kotlin:kotlin-stdlib") optional("org.reactivestreams:reactive-streams") testCompile("io.projectreactor:reactor-core") - testCompile("org.codehaus.groovy:groovy-jsr223:${groovyVersion}") - testCompile("org.codehaus.groovy:groovy-test:${groovyVersion}") - testCompile("org.codehaus.groovy:groovy-xml:${groovyVersion}") - testCompile("org.apache.commons:commons-pool2:2.6.0") - testCompile("javax.inject:javax.inject-tck:1") + testCompile("org.codehaus.groovy:groovy-jsr223") + testCompile("org.codehaus.groovy:groovy-test") + testCompile("org.codehaus.groovy:groovy-xml") + testCompile("org.apache.commons:commons-pool2") + testCompile("javax.inject:javax.inject-tck") // Substitute for "javax.management:jmxremote_optional:1.0.1_04" which // is not available on Maven Central - testRuntime("org.glassfish.external:opendmk_jmxremote_optional_jar:1.0-b01-ea") - testCompile("org.awaitility:awaitility:3.1.3") - testRuntime("javax.xml.bind:jaxb-api:2.3.1") - testRuntime("org.glassfish:javax.el:3.0.1-b08") - testRuntime("org.javamoney:moneta:1.3") + testRuntime("org.glassfish.external:opendmk_jmxremote_optional_jar") + testCompile("org.awaitility:awaitility") + testRuntime("javax.xml.bind:jaxb-api") + testRuntime("org.glassfish:javax.el") + testRuntime("org.javamoney:moneta") } diff --git a/spring-core/spring-core.gradle b/spring-core/spring-core.gradle index cd303ae2b1..6a525e8e14 100644 --- a/spring-core/spring-core.gradle +++ b/spring-core/spring-core.gradle @@ -2,13 +2,6 @@ description = "Spring Core" apply plugin: "kotlin" -dependencyManagement { - imports { - mavenBom "io.projectreactor:reactor-bom:${reactorVersion}" - mavenBom "io.netty:netty-bom:${nettyVersion}" - } -} - // spring-core includes asm and repackages cglib, inlining both into the spring-core jar. // cglib itself depends on asm and is therefore further transformed by the JarJar task to // depend on org.springframework.asm; this avoids including two different copies of asm. @@ -76,24 +69,22 @@ dependencies { compile(files(objenesisRepackJar)) compile(project(":spring-jcl")) compileOnly(project(":kotlin-coroutines")) - optional("net.sf.jopt-simple:jopt-simple:5.0.4") - optional("org.aspectj:aspectjweaver:${aspectjVersion}") + optional("net.sf.jopt-simple:jopt-simple") + optional("org.aspectj:aspectjweaver") optional("org.jetbrains.kotlin:kotlin-reflect") optional("org.jetbrains.kotlin:kotlin-stdlib") 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.reactivex:rxjava") + optional("io.reactivex:rxjava-reactive-streams") + optional("io.reactivex.rxjava2:rxjava") optional("io.netty:netty-buffer") testCompile("io.projectreactor:reactor-test") - testCompile("org.apache.tomcat.embed:tomcat-embed-core:${tomcatVersion}") - testCompile("com.google.code.findbugs:jsr305:3.0.2") - testCompile("org.xmlunit:xmlunit-assertj:2.6.2") - testCompile("org.xmlunit:xmlunit-matchers:2.6.2") - testCompile("javax.xml.bind:jaxb-api:2.3.1") - testCompile("com.fasterxml.woodstox:woodstox-core:5.2.0") { - exclude group: "stax", module: "stax-api" - } + testCompile("org.apache.tomcat.embed:tomcat-embed-core") + testCompile("com.google.code.findbugs:jsr305") + testCompile("org.xmlunit:xmlunit-assertj") + testCompile("org.xmlunit:xmlunit-matchers") + testCompile("javax.xml.bind:jaxb-api") + testCompile("com.fasterxml.woodstox:woodstox-core") testCompile(project(":kotlin-coroutines")) } diff --git a/spring-jcl/spring-jcl.gradle b/spring-jcl/spring-jcl.gradle index 0eefd139c6..d609737b25 100644 --- a/spring-jcl/spring-jcl.gradle +++ b/spring-jcl/spring-jcl.gradle @@ -1,6 +1,6 @@ description = "Spring Commons Logging Bridge" dependencies { - optional("org.apache.logging.log4j:log4j-api:${log4jVersion}") - optional("org.slf4j:slf4j-api:${slf4jVersion}") + optional("org.apache.logging.log4j:log4j-api") + optional("org.slf4j:slf4j-api") } diff --git a/spring-jdbc/spring-jdbc.gradle b/spring-jdbc/spring-jdbc.gradle index 9064f4f126..78e5cced89 100644 --- a/spring-jdbc/spring-jdbc.gradle +++ b/spring-jdbc/spring-jdbc.gradle @@ -7,11 +7,11 @@ dependencies { compile(project(":spring-core")) compile(project(":spring-tx")) optional(project(":spring-context")) // for JndiDataSourceLookup - optional("javax.transaction:javax.transaction-api:1.3") - optional("org.hsqldb:hsqldb:${hsqldbVersion}") - optional("com.h2database:h2:1.4.199") - optional("org.apache.derby:derby:10.14.2.0") - optional("org.apache.derby:derbyclient:10.14.2.0") + optional("javax.transaction:javax.transaction-api") + optional("org.hsqldb:hsqldb") + optional("com.h2database:h2") + optional("org.apache.derby:derby") + optional("org.apache.derby:derbyclient") optional("org.jetbrains.kotlin:kotlin-reflect") optional("org.jetbrains.kotlin:kotlin-stdlib") } diff --git a/spring-jms/spring-jms.gradle b/spring-jms/spring-jms.gradle index 103a59c1b8..23cae3cf57 100644 --- a/spring-jms/spring-jms.gradle +++ b/spring-jms/spring-jms.gradle @@ -5,12 +5,12 @@ dependencies { compile(project(":spring-core")) compile(project(":spring-messaging")) compile(project(":spring-tx")) - compileOnly("javax.jms:javax.jms-api:2.0.1") + compileOnly("javax.jms:javax.jms-api") optional(project(":spring-aop")) optional(project(":spring-context")) optional(project(":spring-oxm")) - optional("javax.resource:javax.resource-api:1.7.1") - optional("javax.transaction:javax.transaction-api:1.3") - optional("com.fasterxml.jackson.core:jackson-databind:${jackson2Version}") - testImplementation("javax.jms:javax.jms-api:2.0.1") + optional("javax.resource:javax.resource-api") + optional("javax.transaction:javax.transaction-api") + optional("com.fasterxml.jackson.core:jackson-databind") + testImplementation("javax.jms:javax.jms-api") } diff --git a/spring-messaging/spring-messaging.gradle b/spring-messaging/spring-messaging.gradle index b86ea05351..8d6999b9fb 100644 --- a/spring-messaging/spring-messaging.gradle +++ b/spring-messaging/spring-messaging.gradle @@ -2,13 +2,6 @@ description = "Spring Messaging" apply plugin: "kotlin" -dependencyManagement { - imports { - mavenBom "io.projectreactor:reactor-bom:${reactorVersion}" - mavenBom "io.netty:netty-bom:${nettyVersion}" - } -} - dependencies { compile(project(":spring-beans")) compile(project(":spring-core")) @@ -16,29 +9,27 @@ dependencies { optional(project(":spring-context")) optional(project(":spring-oxm")) optional("io.projectreactor.netty:reactor-netty") - optional("io.rsocket:rsocket-core:${rsocketVersion}") - optional("io.rsocket:rsocket-transport-netty:${rsocketVersion}") - optional("com.fasterxml.jackson.core:jackson-databind:${jackson2Version}") - optional("javax.xml.bind:jaxb-api:2.3.1") + optional("io.rsocket:rsocket-core") + optional("io.rsocket:rsocket-transport-netty") + optional("com.fasterxml.jackson.core:jackson-databind") + optional("javax.xml.bind:jaxb-api") optional("org.jetbrains.kotlinx:kotlinx-coroutines-core") optional("org.jetbrains.kotlinx:kotlinx-coroutines-reactor") - testCompile("javax.inject:javax.inject-tck:1") - testCompile("javax.servlet:javax.servlet-api:4.0.1") - testCompile("javax.validation:validation-api:1.1.0.Final") - testCompile("com.thoughtworks.xstream:xstream:1.4.11.1") - 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("javax.inject:javax.inject-tck") + testCompile("javax.servlet:javax.servlet-api") + testCompile("javax.validation:validation-api") + testCompile("com.thoughtworks.xstream:xstream") + testCompile("org.apache.activemq:activemq-broker") + testCompile("org.apache.activemq:activemq-kahadb-store") + testCompile("org.apache.activemq:activemq-stomp") testCompile("io.projectreactor:reactor-test") - testCompile "io.reactivex.rxjava2:rxjava:${rxjava2Version}" + testCompile "io.reactivex.rxjava2:rxjava" testCompile("org.jetbrains.kotlin:kotlin-reflect") testCompile("org.jetbrains.kotlin:kotlin-stdlib") - testCompile("org.xmlunit:xmlunit-assertj:2.6.2") - testCompile("org.xmlunit:xmlunit-matchers:2.6.2") + testCompile("org.xmlunit:xmlunit-assertj") + testCompile("org.xmlunit:xmlunit-matchers") testCompile(project(":kotlin-coroutines")) - testRuntime("com.sun.xml.bind:jaxb-core:2.3.0.1") - testRuntime("com.sun.xml.bind:jaxb-impl:2.3.0.1") - testRuntime("com.sun.activation:javax.activation:1.2.0") + testRuntime("com.sun.xml.bind:jaxb-core") + testRuntime("com.sun.xml.bind:jaxb-impl") + testRuntime("com.sun.activation:javax.activation") } diff --git a/spring-orm/spring-orm.gradle b/spring-orm/spring-orm.gradle index d41e67cdd4..279b74437f 100644 --- a/spring-orm/spring-orm.gradle +++ b/spring-orm/spring-orm.gradle @@ -8,10 +8,10 @@ dependencies { optional(project(":spring-aop")) optional(project(":spring-context")) optional(project(":spring-web")) - optional("org.eclipse.persistence:org.eclipse.persistence.jpa:2.7.4") - optional("org.hibernate:hibernate-core:5.4.4.Final") + optional("org.eclipse.persistence:org.eclipse.persistence.jpa") + optional("org.hibernate:hibernate-core") 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:2.3.1") + testCompile("org.aspectj:aspectjweaver") + testCompile("org.hsqldb:hsqldb") + testRuntime("javax.xml.bind:jaxb-api") } diff --git a/spring-oxm/spring-oxm.gradle b/spring-oxm/spring-oxm.gradle index e35c478ab3..babf2658fe 100644 --- a/spring-oxm/spring-oxm.gradle +++ b/spring-oxm/spring-oxm.gradle @@ -57,23 +57,20 @@ task genJaxb { dependencies { compile(project(":spring-beans")) compile(project(":spring-core")) - optional("javax.xml.bind:jaxb-api:2.3.1") - optional("javax.activation:javax.activation-api:1.2.0") - optional("com.thoughtworks.xstream:xstream:1.4.11.1") { - exclude group: "xpp3", module: "xpp3_min" - exclude group: "xmlpull", module: "xmlpull" - } - optional("org.jibx:jibx-run:1.3.1") + optional("javax.xml.bind:jaxb-api") + optional("javax.activation:javax.activation-api") + optional("com.thoughtworks.xstream:xstream") + optional("org.jibx:jibx-run") testCompile(project(":spring-context")) - testCompile("org.ogce:xpp3:1.1.6") - testCompile("org.codehaus.jettison:jettison:1.3.8") { + testCompile("org.ogce:xpp3") + testCompile("org.codehaus.jettison:jettison") { exclude group: "stax", module: "stax-api" } testCompile(files(genJaxb.classesDir).builtBy(genJaxb)) - testCompile("org.xmlunit:xmlunit-assertj:2.6.2") - testCompile("org.xmlunit:xmlunit-matchers:2.6.2") - testRuntime("com.sun.xml.bind:jaxb-core:2.3.0.1") - testRuntime("com.sun.xml.bind:jaxb-impl:2.3.0.1") + testCompile("org.xmlunit:xmlunit-assertj") + testCompile("org.xmlunit:xmlunit-matchers") + testRuntime("com.sun.xml.bind:jaxb-core") + testRuntime("com.sun.xml.bind:jaxb-impl") } // JiBX compiler is currently not compatible with JDK 9 diff --git a/spring-test/spring-test.gradle b/spring-test/spring-test.gradle index 824db3a58c..ab5bce5e75 100644 --- a/spring-test/spring-test.gradle +++ b/spring-test/spring-test.gradle @@ -2,13 +2,6 @@ description = "Spring TestContext Framework" apply plugin: "kotlin" -dependencyManagement { - imports { - mavenBom "io.projectreactor:reactor-bom:${reactorVersion}" - mavenBom "io.netty:netty-bom:${nettyVersion}" - } -} - dependencies { compile(project(":spring-core")) optional(project(":spring-aop")) @@ -21,40 +14,27 @@ dependencies { optional(project(":spring-webflux")) optional(project(":spring-webmvc")) optional(project(":spring-websocket")) - optional("javax.activation:javax.activation-api:1.2.0") - optional("javax.el:javax.el-api:3.0.1-b04") - optional("javax.inject:javax.inject:1") - optional("javax.servlet:javax.servlet-api:4.0.1") - 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.xml.bind:jaxb-api:2.3.1") - optional("javax.websocket:javax.websocket-api:1.1") - optional("junit:junit:4.13-beta-3") { - exclude group: "org.hamcrest", module: "hamcrest-core" - } + optional("javax.activation:javax.activation-api") + optional("javax.el:javax.el-api") + optional("javax.inject:javax.inject") + optional("javax.servlet:javax.servlet-api") + optional("javax.servlet.jsp:javax.servlet.jsp-api") + optional("javax.servlet.jsp.jstl:javax.servlet.jsp.jstl-api") + optional("javax.xml.bind:jaxb-api") + optional("javax.websocket:javax.websocket-api") + optional("junit:junit") optional("org.junit.jupiter:junit-jupiter-api") - optional("org.testng:testng:6.14.3") - optional("org.aspectj:aspectjweaver:${aspectjVersion}") - optional("org.codehaus.groovy:groovy:${groovyVersion}") - optional("org.hamcrest:hamcrest:2.1") - optional("org.apache.taglibs:taglibs-standard-jstlel:1.2.5") { - exclude group: "org.apache.taglibs", module: "taglibs-standard-spec" - } - optional("net.sourceforge.htmlunit:htmlunit:2.35.0") { - exclude group: "commons-logging", module: "commons-logging" - } - optional("org.seleniumhq.selenium:htmlunit-driver:2.35.1") { - exclude group: "commons-logging", module: "commons-logging" - } - optional("org.seleniumhq.selenium:selenium-java:3.141.59") { - exclude group: "commons-logging", module: "commons-logging" - exclude group: "io.netty", module: "netty" - } - optional("org.xmlunit:xmlunit-matchers:2.6.2") { - exclude group: "org.hamcrest", module: "hamcrest-core" - } - optional("org.skyscreamer:jsonassert:1.5.0") - optional("com.jayway.jsonpath:json-path:2.4.0") + optional("org.testng:testng") + optional("org.aspectj:aspectjweaver") + optional("org.codehaus.groovy:groovy") + optional("org.hamcrest:hamcrest") + optional("org.apache.taglibs:taglibs-standard-jstlel") + optional("net.sourceforge.htmlunit:htmlunit") + optional("org.seleniumhq.selenium:htmlunit-driver") + optional("org.seleniumhq.selenium:selenium-java") + optional("org.xmlunit:xmlunit-matchers") + optional("org.skyscreamer:jsonassert") + optional("com.jayway.jsonpath:json-path") optional("org.jetbrains.kotlin:kotlin-reflect") optional("org.jetbrains.kotlin:kotlin-stdlib") optional("io.projectreactor:reactor-test") @@ -62,39 +42,36 @@ dependencies { optional("org.jetbrains.kotlinx:kotlinx-coroutines-reactor") testCompile(project(":spring-context-support")) testCompile(project(":spring-oxm")) - testCompile("javax.annotation:javax.annotation-api:1.3.2") - testCompile("javax.cache:cache-api:1.1.0") - testCompile("javax.ejb:javax.ejb-api:3.2") - testCompile("javax.interceptor:javax.interceptor-api:1.2.2") - testCompile("javax.mail:javax.mail-api:1.6.2") - testCompile("org.hibernate:hibernate-core:5.4.3.Final") - testCompile("org.hibernate:hibernate-validator:6.0.17.Final") + testCompile("javax.annotation:javax.annotation-api") + testCompile("javax.cache:cache-api") + testCompile("javax.ejb:javax.ejb-api") + testCompile("javax.interceptor:javax.interceptor-api") + testCompile("javax.mail:javax.mail-api") + testCompile("org.hibernate:hibernate-core") + testCompile("org.hibernate:hibernate-validator") + testCompile("javax.validation:validation-api") testCompile("org.junit.platform:junit-platform-runner") { exclude group: "junit", module: "junit" } testCompile("org.junit.platform:junit-platform-testkit") testCompile("org.junit.jupiter:junit-jupiter-params") - testCompile("com.fasterxml.jackson.core:jackson-databind:${jackson2Version}") - testCompile("com.thoughtworks.xstream:xstream:1.4.11.1") - testCompile("com.rometools:rome:1.12.1") - testCompile("org.apache.tiles:tiles-api:${tiles3Version}") - testCompile("org.apache.tiles:tiles-core:${tiles3Version}", withoutJclOverSlf4j) - testCompile("org.apache.tiles:tiles-servlet:${tiles3Version}", withoutJclOverSlf4j) - testCompile("org.hsqldb:hsqldb:${hsqldbVersion}") - testCompile("org.apache.httpcomponents:httpclient:4.5.9") { - exclude group: "commons-logging", module: "commons-logging" - } + testCompile("com.fasterxml.jackson.core:jackson-databind") + testCompile("com.thoughtworks.xstream:xstream") + testCompile("com.rometools:rome") + testCompile("org.apache.tiles:tiles-api") + testCompile("org.apache.tiles:tiles-core") + testCompile("org.apache.tiles:tiles-servlet") + testCompile("org.hsqldb:hsqldb") + testCompile("org.apache.httpcomponents:httpclient") testCompile("io.projectreactor.netty:reactor-netty") - testCompile("de.bechte.junit:junit-hierarchicalcontextrunner:4.12.1") { - exclude group: "junit", module: "junit" - } + testCompile("de.bechte.junit:junit-hierarchicalcontextrunner") testRuntime("org.junit.jupiter:junit-jupiter-engine") testRuntime("org.junit.vintage:junit-vintage-engine") { exclude group: "junit", module: "junit" } - testRuntime("org.glassfish:javax.el:3.0.1-b08") - testRuntime("com.sun.xml.bind:jaxb-core:2.3.0.1") - testRuntime("com.sun.xml.bind:jaxb-impl:2.3.0.1") + testRuntime("org.glassfish:javax.el") + testRuntime("com.sun.xml.bind:jaxb-core") + testRuntime("com.sun.xml.bind:jaxb-impl") } task junit(type: Test) { diff --git a/spring-tx/spring-tx.gradle b/spring-tx/spring-tx.gradle index db581051d8..e0cbd53924 100644 --- a/spring-tx/spring-tx.gradle +++ b/spring-tx/spring-tx.gradle @@ -1,25 +1,19 @@ description = "Spring Transaction" -dependencyManagement { - imports { - mavenBom "io.projectreactor:reactor-bom:${reactorVersion}" - } -} - 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.2") - optional("javax.resource:javax.resource-api:1.7.1") - optional("javax.transaction:javax.transaction-api:1.3") - optional("com.ibm.websphere:uow:6.0.2.17") + optional("javax.ejb:javax.ejb-api") + optional("javax.interceptor:javax.interceptor-api") + optional("javax.resource:javax.resource-api") + optional("javax.transaction:javax.transaction-api") + optional("com.ibm.websphere:uow") optional("io.projectreactor:reactor-core") - optional("io.vavr:vavr:0.10.0") - testCompile("org.aspectj:aspectjweaver:${aspectjVersion}") - testCompile("org.codehaus.groovy:groovy:${groovyVersion}") - testCompile("org.eclipse.persistence:javax.persistence:2.2.0") + optional("io.vavr:vavr") + testCompile("org.aspectj:aspectjweaver") + testCompile("org.codehaus.groovy:groovy") + testCompile("org.eclipse.persistence:javax.persistence") testCompile("io.projectreactor:reactor-test") } diff --git a/spring-web/spring-web.gradle b/spring-web/spring-web.gradle index dedb35a107..70ac9dc0a7 100644 --- a/spring-web/spring-web.gradle +++ b/spring-web/spring-web.gradle @@ -2,14 +2,6 @@ description = "Spring Web" apply plugin: "kotlin" -dependencyManagement { - imports { - mavenBom "io.projectreactor:reactor-bom:${reactorVersion}" - mavenBom "io.netty:netty-bom:${nettyVersion}" - mavenBom "org.eclipse.jetty:jetty-bom:${jettyVersion}" - } -} - dependencies { compile(project(":spring-beans")) compile(project(":spring-core")) @@ -17,74 +9,66 @@ dependencies { 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.json.bind:javax.json.bind-api:1.0") - optional("javax.mail:javax.mail-api:1.6.2") - optional("javax.validation:validation-api:1.1.0.Final") - optional("javax.xml.bind:jaxb-api:2.3.1") - optional("javax.xml.ws:jaxws-api:2.3.1") - optional("org.glassfish.main:javax.jws:4.0-b33") - optional("io.reactivex:rxjava:${rxjavaVersion}") - optional("io.reactivex:rxjava-reactive-streams:${rxjavaAdapterVersion}") - optional("io.reactivex.rxjava2:rxjava:${rxjava2Version}") + optional("javax.servlet.jsp:javax.servlet.jsp-api") + optional("javax.el:javax.el-api") + optional("javax.faces:javax.faces-api") + optional("javax.json.bind:javax.json.bind-api") + optional("javax.mail:javax.mail-api") + optional("javax.validation:validation-api") + optional("javax.xml.bind:jaxb-api") + optional("javax.xml.ws:jaxws-api") + optional("org.glassfish.main:javax.jws") + optional("io.reactivex:rxjava") + optional("io.reactivex:rxjava-reactive-streams") + optional("io.reactivex.rxjava2:rxjava") optional("io.netty:netty-all") optional("io.projectreactor.netty:reactor-netty") - optional("io.undertow:undertow-core:${undertowVersion}") - optional("org.apache.tomcat.embed:tomcat-embed-core:${tomcatVersion}") + optional("io.undertow:undertow-core") + optional("org.apache.tomcat.embed:tomcat-embed-core") optional("org.eclipse.jetty:jetty-server") { exclude group: "javax.servlet", module: "javax.servlet-api" } optional("org.eclipse.jetty:jetty-servlet") { exclude group: "javax.servlet", module: "javax.servlet-api" } - optional("org.eclipse.jetty:jetty-reactive-httpclient:1.0.3") - optional("com.squareup.okhttp3:okhttp:3.14.2") - optional("org.apache.httpcomponents:httpclient:4.5.9") { - exclude group: "commons-logging", module: "commons-logging" - } - optional("org.apache.httpcomponents:httpasyncclient:4.1.4") { - exclude group: "commons-logging", module: "commons-logging" - } - optional("commons-fileupload:commons-fileupload:1.4") - optional("org.synchronoss.cloud:nio-multipart-parser:1.1.0") - optional("com.fasterxml.woodstox:woodstox-core:5.2.0") { // woodstox before aalto - exclude group: "stax", module: "stax-api" - } - optional("com.fasterxml:aalto-xml:1.1.1") - 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.5") - optional("com.google.protobuf:protobuf-java-util:3.9.0") - optional("com.googlecode.protobuf-java-format:protobuf-java-format:1.4") - optional("com.rometools:rome:1.12.1") - optional("com.caucho:hessian:4.0.51") - optional("org.codehaus.groovy:groovy:${groovyVersion}") + optional("org.eclipse.jetty:jetty-reactive-httpclient") + optional("com.squareup.okhttp3:okhttp") + optional("org.apache.httpcomponents:httpclient") + optional("org.apache.httpcomponents:httpasyncclient") + optional("commons-fileupload:commons-fileupload") + optional("org.synchronoss.cloud:nio-multipart-parser") + optional("com.fasterxml.woodstox:woodstox-core") + optional("com.fasterxml:aalto-xml") + optional("com.fasterxml.jackson.core:jackson-databind") + optional("com.fasterxml.jackson.dataformat:jackson-dataformat-xml") + optional("com.fasterxml.jackson.dataformat:jackson-dataformat-smile") + optional("com.fasterxml.jackson.dataformat:jackson-dataformat-cbor") + optional("com.google.code.gson:gson") + optional("com.google.protobuf:protobuf-java-util") + optional("com.googlecode.protobuf-java-format:protobuf-java-format") + optional("com.rometools:rome") + optional("com.caucho:hessian") + optional("org.codehaus.groovy:groovy") optional("org.jetbrains.kotlin:kotlin-reflect") optional("org.jetbrains.kotlin:kotlin-stdlib") testCompile("io.projectreactor:reactor-test") - testCompile("org.apache.taglibs:taglibs-standard-jstlel:1.2.5") { - 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.datatype:jackson-datatype-jsr310:${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.apache.taglibs:taglibs-standard-jstlel") + testCompile("com.fasterxml.jackson.datatype:jackson-datatype-jdk8") + testCompile("com.fasterxml.jackson.datatype:jackson-datatype-joda") + testCompile("com.fasterxml.jackson.datatype:jackson-datatype-jsr310") + testCompile("com.fasterxml.jackson.module:jackson-module-kotlin") + testCompile("org.apache.tomcat:tomcat-util") + testCompile("org.apache.tomcat.embed:tomcat-embed-core") testCompile("org.eclipse.jetty:jetty-server") testCompile("org.eclipse.jetty:jetty-servlet") - testCompile("com.squareup.okhttp3:mockwebserver:3.14.2") + testCompile("com.squareup.okhttp3:mockwebserver") testCompile("org.jetbrains.kotlin:kotlin-reflect") - testCompile("org.skyscreamer:jsonassert:1.5.0") - testCompile("org.xmlunit:xmlunit-assertj:2.6.2") - testCompile("org.xmlunit:xmlunit-matchers:2.6.2") - testRuntime("com.sun.mail:javax.mail:1.6.2") - testRuntime("com.sun.xml.bind:jaxb-core:2.3.0.1") - testRuntime("com.sun.xml.bind:jaxb-impl:2.3.0.1") - testRuntime("javax.json:javax.json-api:1.1.4") - testRuntime("org.apache.johnzon:johnzon-jsonb:1.1.12") + testCompile("org.skyscreamer:jsonassert") + testCompile("org.xmlunit:xmlunit-assertj") + testCompile("org.xmlunit:xmlunit-matchers") + testRuntime("com.sun.mail:javax.mail") + testRuntime("com.sun.xml.bind:jaxb-core") + testRuntime("com.sun.xml.bind:jaxb-impl") + testRuntime("javax.json:javax.json-api") + testRuntime("org.apache.johnzon:johnzon-jsonb") } diff --git a/spring-webflux/spring-webflux.gradle b/spring-webflux/spring-webflux.gradle index 5168cb5c43..c157bd3e61 100644 --- a/spring-webflux/spring-webflux.gradle +++ b/spring-webflux/spring-webflux.gradle @@ -2,14 +2,6 @@ description = "Spring WebFlux" apply plugin: "kotlin" -dependencyManagement { - imports { - mavenBom "io.projectreactor:reactor-bom:${reactorVersion}" - mavenBom "io.netty:netty-bom:${nettyVersion}" - mavenBom "org.eclipse.jetty:jetty-bom:${jettyVersion}" - } -} - dependencies { compile(project(":spring-beans")) compile(project(":spring-core")) @@ -18,54 +10,48 @@ dependencies { compileOnly(project(":kotlin-coroutines")) optional(project(":spring-context")) optional(project(":spring-context-support")) // for FreeMarker support - optional("javax.servlet:javax.servlet-api:4.0.1") - optional("javax.websocket:javax.websocket-api:1.1") - optional("org.webjars:webjars-locator-core:0.37") - optional("org.freemarker:freemarker:${freemarkerVersion}") - optional("com.fasterxml.jackson.core:jackson-databind:${jackson2Version}") - optional("com.fasterxml.jackson.dataformat:jackson-dataformat-smile:${jackson2Version}") - optional("io.reactivex:rxjava:${rxjavaVersion}") - optional("io.reactivex:rxjava-reactive-streams:${rxjavaAdapterVersion}") + optional("javax.servlet:javax.servlet-api") + optional("javax.websocket:javax.websocket-api") + optional("org.webjars:webjars-locator-core") + optional("org.freemarker:freemarker") + optional("com.fasterxml.jackson.core:jackson-databind") + optional("com.fasterxml.jackson.dataformat:jackson-dataformat-smile") + optional("io.reactivex:rxjava") + optional("io.reactivex:rxjava-reactive-streams") optional("io.projectreactor.netty:reactor-netty") - 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.apache.tomcat:tomcat-websocket") optional("org.eclipse.jetty.websocket:websocket-server") { 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.apache.httpcomponents:httpclient:4.5.9") { - exclude group: "commons-logging", module: "commons-logging" - } + optional("io.undertow:undertow-websockets-jsr") + optional("org.apache.httpcomponents:httpclient") optional("org.jetbrains.kotlin:kotlin-reflect") optional("org.jetbrains.kotlin:kotlin-stdlib") - optional("com.google.protobuf:protobuf-java-util:3.9.0") + optional("com.google.protobuf:protobuf-java-util") optional("org.jetbrains.kotlinx:kotlinx-coroutines-core") optional("org.jetbrains.kotlinx:kotlinx-coroutines-reactor") - testCompile("javax.xml.bind:jaxb-api:2.3.1") - testCompile("com.fasterxml:aalto-xml:1.1.1") - testCompile("org.hibernate:hibernate-validator:6.0.17.Final") - testCompile "io.reactivex.rxjava2:rxjava:${rxjava2Version}" + testCompile("javax.xml.bind:jaxb-api") + testCompile("com.fasterxml:aalto-xml") + testCompile("org.hibernate:hibernate-validator") + testCompile("javax.validation:validation-api") + testCompile "io.reactivex.rxjava2:rxjava" testCompile("io.projectreactor:reactor-test") - testCompile("io.undertow:undertow-core:${undertowVersion}") - testCompile("org.apache.tomcat.embed:tomcat-embed-core:${tomcatVersion}") - testCompile("org.apache.tomcat:tomcat-util:${tomcatVersion}") + testCompile("io.undertow:undertow-core") + testCompile("org.apache.tomcat.embed:tomcat-embed-core") + testCompile("org.apache.tomcat:tomcat-util") testCompile("org.eclipse.jetty:jetty-server") testCompile("org.eclipse.jetty:jetty-servlet") - testCompile("org.eclipse.jetty:jetty-reactive-httpclient:1.0.3") - testCompile("com.squareup.okhttp3:mockwebserver:3.14.2") + testCompile("org.eclipse.jetty:jetty-reactive-httpclient") + testCompile("com.squareup.okhttp3:mockwebserver") testCompile(project(":kotlin-coroutines")) testCompile("org.jetbrains.kotlin:kotlin-script-runtime") testRuntime("org.jetbrains.kotlin:kotlin-scripting-jsr223-embeddable") - testRuntime("org.jruby:jruby:9.2.7.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:2.3.0.1") - testRuntime("com.sun.xml.bind:jaxb-impl:2.3.0.1") - testRuntime("com.sun.activation:javax.activation:1.2.0") + testRuntime("org.jruby:jruby") + testRuntime("org.python:jython-standalone") + testRuntime("org.synchronoss.cloud:nio-multipart-parser") + testRuntime("org.webjars:underscorejs") + testRuntime("org.glassfish:javax.el") + testRuntime("com.sun.xml.bind:jaxb-core") + testRuntime("com.sun.xml.bind:jaxb-impl") + testRuntime("com.sun.activation:javax.activation") } diff --git a/spring-webmvc/spring-webmvc.gradle b/spring-webmvc/spring-webmvc.gradle index 832970cc2d..8951a318f8 100644 --- a/spring-webmvc/spring-webmvc.gradle +++ b/spring-webmvc/spring-webmvc.gradle @@ -2,13 +2,6 @@ description = "Spring Web MVC" apply plugin: "kotlin" -dependencyManagement { - imports { - mavenBom "io.projectreactor:reactor-bom:${reactorVersion}" - mavenBom "org.eclipse.jetty:jetty-bom:${jettyVersion}" - } -} - dependencies { compile(project(":spring-aop")) compile(project(":spring-beans")) @@ -16,71 +9,61 @@ dependencies { compile(project(":spring-core")) compile(project(":spring-expression")) compile(project(":spring-web")) - compileOnly("javax.servlet:javax.servlet-api:4.0.1") + compileOnly("javax.servlet:javax.servlet-api") 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:2.3.1") - optional("org.webjars:webjars-locator-core:0.37") - optional("com.rometools:rome:1.12.1") - optional("com.github.librepdf:openpdf:1.2.21") - optional("org.apache.poi:poi-ooxml:4.1.0") - optional("org.freemarker:freemarker:${freemarkerVersion}") - 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}", withoutJclOverSlf4j) - optional("org.apache.tiles:tiles-core:${tiles3Version}", withoutJclOverSlf4j) - optional("org.apache.tiles:tiles-servlet:${tiles3Version}", withoutJclOverSlf4j) - optional("org.apache.tiles:tiles-jsp:${tiles3Version}", withoutJclOverSlf4j) - optional("org.apache.tiles:tiles-el:${tiles3Version}", withoutJclOverSlf4j) - optional("org.apache.tiles:tiles-extras:${tiles3Version}") { - exclude group: "org.springframework", module: "spring-web" - exclude group: "org.slf4j", module: "jcl-over-slf4j" - } - optional("org.codehaus.groovy:groovy-templates:${groovyVersion}") + optional("javax.servlet.jsp:javax.servlet.jsp-api") + optional("javax.servlet.jsp.jstl:javax.servlet.jsp.jstl-api") + optional("javax.el:javax.el-api") + optional("javax.xml.bind:jaxb-api") + optional("org.webjars:webjars-locator-core") + optional("com.rometools:rome") + optional("com.github.librepdf:openpdf") + optional("org.apache.poi:poi-ooxml") + optional("org.freemarker:freemarker") + optional("com.fasterxml.jackson.core:jackson-databind") + optional("com.fasterxml.jackson.dataformat:jackson-dataformat-xml") + optional("com.fasterxml.jackson.dataformat:jackson-dataformat-smile") + optional("com.fasterxml.jackson.dataformat:jackson-dataformat-cbor") + optional("org.apache.tiles:tiles-api") + optional("org.apache.tiles:tiles-core") + optional("org.apache.tiles:tiles-servlet") + optional("org.apache.tiles:tiles-jsp") + optional("org.apache.tiles:tiles-el") + optional("org.apache.tiles:tiles-extras") + optional("org.codehaus.groovy:groovy-templates") optional("org.jetbrains.kotlin:kotlin-reflect") optional("org.jetbrains.kotlin:kotlin-stdlib") optional("org.reactivestreams:reactive-streams") - testCompile("javax.servlet:javax.servlet-api:4.0.1") + testCompile("javax.servlet:javax.servlet-api") testCompile("org.eclipse.jetty:jetty-servlet") { exclude group: "javax.servlet", module: "javax.servlet" } testCompile("org.eclipse.jetty:jetty-server") { exclude group: "javax.servlet", module: "javax.servlet" } - testCompile("org.apache.httpcomponents:httpclient:4.5.9") { - exclude group: "commons-logging", module: "commons-logging" - } - testCompile("commons-fileupload:commons-fileupload:1.4") - testCompile("commons-io:commons-io:2.5") - testCompile("joda-time:joda-time:2.10.2") - testCompile("org.mozilla:rhino:1.7.10") - 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("org.xmlunit:xmlunit-assertj:2.6.2") - testCompile("org.xmlunit:xmlunit-matchers:2.6.2") - testCompile("org.hibernate:hibernate-validator:6.0.17.Final") + testCompile("org.apache.httpcomponents:httpclient") + testCompile("commons-fileupload:commons-fileupload") + testCompile("commons-io:commons-io") + testCompile("joda-time:joda-time") + testCompile("org.mozilla:rhino") + testCompile("dom4j:dom4j") + testCompile("jaxen:jaxen") + testCompile("org.xmlunit:xmlunit-assertj") + testCompile("org.xmlunit:xmlunit-matchers") + testCompile("org.hibernate:hibernate-validator") + testCompile("javax.validation:validation-api") testCompile("io.projectreactor:reactor-core") - testCompile("io.reactivex:rxjava:${rxjavaVersion}") - testCompile("io.reactivex:rxjava-reactive-streams:${rxjavaAdapterVersion}") - testCompile("io.reactivex.rxjava2:rxjava:${rxjava2Version}") + testCompile("io.reactivex:rxjava") + testCompile("io.reactivex:rxjava-reactive-streams") + testCompile("io.reactivex.rxjava2:rxjava") testCompile("org.jetbrains.kotlin:kotlin-script-runtime") testRuntime("org.jetbrains.kotlin:kotlin-scripting-jsr223-embeddable") - testRuntime("org.jruby:jruby:9.2.7.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:2.3.0.1") - testRuntime("com.sun.xml.bind:jaxb-impl:2.3.0.1") - testRuntime("com.sun.activation:javax.activation:1.2.0") + testRuntime("org.jruby:jruby") + testRuntime("org.python:jython-standalone") + testRuntime("org.webjars:underscorejs") + testRuntime("org.glassfish:javax.el") + testRuntime("com.sun.xml.bind:jaxb-core") + testRuntime("com.sun.xml.bind:jaxb-impl") + testRuntime("com.sun.activation:javax.activation") } diff --git a/spring-websocket/spring-websocket.gradle b/spring-websocket/spring-websocket.gradle index 84b3619aaa..96355eef53 100644 --- a/spring-websocket/spring-websocket.gradle +++ b/spring-websocket/spring-websocket.gradle @@ -1,26 +1,15 @@ description = "Spring WebSocket" -dependencyManagement { - imports { - mavenBom "io.projectreactor:reactor-bom:${reactorVersion}" - mavenBom "io.netty:netty-bom:${nettyVersion}" - mavenBom "org.eclipse.jetty:jetty-bom:${jettyVersion}" - } -} - 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:4.0.1") - 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("javax.servlet:javax.servlet-api") + optional("javax.websocket:javax.websocket-api") + optional("org.apache.tomcat:tomcat-websocket") + optional("org.glassfish.tyrus:tyrus-container-servlet") optional("org.eclipse.jetty:jetty-webapp") { exclude group: "javax.servlet", module: "javax.servlet" } @@ -29,15 +18,10 @@ dependencies { } optional("org.eclipse.jetty.websocket:websocket-client") optional("org.eclipse.jetty:jetty-client") - 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}") + optional("io.undertow:undertow-servlet") + optional("io.undertow:undertow-websockets-jsr") + optional("com.fasterxml.jackson.core:jackson-databind") + testCompile("org.apache.tomcat.embed:tomcat-embed-core") + testCompile("org.apache.tomcat.embed:tomcat-embed-websocket") testCompile("io.projectreactor.netty:reactor-netty") }