diff --git a/build.gradle b/build.gradle index b7a5d0330faa..059b5fec1d3d 100644 --- a/build.gradle +++ b/build.gradle @@ -1,15 +1,15 @@ plugins { - id 'io.spring.dependency-management' version '1.0.9.RELEASE' apply false + id 'io.spring.dependency-management' version '1.0.11.RELEASE' apply false id 'io.spring.nohttp' version '0.0.5.RELEASE' id 'org.jetbrains.kotlin.jvm' version '1.5.30' apply false - id 'org.jetbrains.dokka' version '0.10.1' apply false + id 'org.jetbrains.dokka' version '1.5.0' apply false id 'org.asciidoctor.jvm.convert' version '3.1.0' id 'org.asciidoctor.jvm.pdf' version '3.1.0' - id 'de.undercouch.download' version '4.1.1' - id "io.freefair.aspectj" version '5.1.1' apply false - id "com.github.ben-manes.versions" version '0.28.0' - id "com.github.johnrengelman.shadow" version "6.1.0" apply false - id "me.champeau.jmh" version "0.6.4" apply false + id 'de.undercouch.download' version '4.1.2' + id "io.freefair.aspectj" version '6.1.0' apply false + id "com.github.ben-manes.versions" version '0.39.0' + id "com.github.johnrengelman.shadow" version '7.0.0' apply false + id "me.champeau.jmh" version "0.6.6" apply false id "org.jetbrains.kotlin.plugin.serialization" version "1.5.30" apply false id "org.unbroken-dome.xjc" version '2.0.0' apply false } @@ -342,18 +342,18 @@ configure([rootProject] + javaProjects) { project -> } dependencies { - testCompile("org.junit.jupiter:junit-jupiter-api") - testCompile("org.junit.jupiter:junit-jupiter-params") - testCompile("org.mockito:mockito-core") - testCompile("org.mockito:mockito-junit-jupiter") - testCompile("io.mockk:mockk") - testCompile("org.assertj:assertj-core") + testImplementation("org.junit.jupiter:junit-jupiter-api") + testImplementation("org.junit.jupiter:junit-jupiter-params") + testImplementation("org.mockito:mockito-core") + testImplementation("org.mockito:mockito-junit-jupiter") + testImplementation("io.mockk:mockk") + testImplementation("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") - testRuntime("org.apache.logging.log4j:log4j-slf4j-impl") - testRuntime("org.apache.logging.log4j:log4j-jul") + testRuntimeOnly("org.junit.platform:junit-platform-launcher") + testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine") + testRuntimeOnly("org.apache.logging.log4j:log4j-core") + testRuntimeOnly("org.apache.logging.log4j:log4j-slf4j-impl") + testRuntimeOnly("org.apache.logging.log4j:log4j-jul") // JSR-305 only used for non-required meta-annotations compileOnly("com.google.code.findbugs:jsr305") testCompileOnly("com.google.code.findbugs:jsr305") @@ -364,7 +364,7 @@ configure([rootProject] + javaProjects) { project -> "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://www.ibm.com/docs/api/v1/content/SSEQTP_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/", diff --git a/gradle/docs.gradle b/gradle/docs.gradle index 4b6e139b6513..3d1ee01934b8 100644 --- a/gradle/docs.gradle +++ b/gradle/docs.gradle @@ -61,58 +61,41 @@ task api(type: Javadoc) { /** * Produce KDoc for all Spring Framework modules in "build/docs/kdoc" */ -dokka { - dependsOn { - tasks.getByName("api") - } - - doFirst { - configuration { - classpath = moduleProjects.collect { project -> project.jar.outputs.files.getFiles() }.flatten() - classpath += files(moduleProjects.collect { it.sourceSets.main.compileClasspath }) - - moduleProjects.findAll { - it.pluginManager.hasPlugin("kotlin") - }.each { project -> - def kotlinDirs = project.sourceSets.main.kotlin.srcDirs.collect() - kotlinDirs -= project.sourceSets.main.java.srcDirs - kotlinDirs.each { dir -> - if (dir.exists()) { - sourceRoot { - path = dir.path - } - } +/* +moduleProjects.each { module -> + dokkaHtmlPartial { + dokkaSourceSets { + configureEach { + externalDocumentationLink { + url.set(URL("https://docs.spring.io/spring-framework/docs/$version/javadoc-api/")) + packageListUrl = new File(buildDir, "docs/javadoc/package-list").toURI().toURL() + } + externalDocumentationLink { + url.set(URL("https://projectreactor.io/docs/core/release/api/")) + } + externalDocumentationLink { + url.set(URL("https://www.reactive-streams.org/reactive-streams-1.0.1-javadoc/")) + } + /* + This link causes errors, removing to fix the build. + externalDocumentationLink { + url.set(URL("https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-core/")) + } + // + externalDocumentationLink { + url.set(URL("https://r2dbc.io/spec/0.8.3.RELEASE/api/")) } } } } - - outputFormat = "html" - outputDirectory = "$buildDir/docs/kdoc" - - configuration { - moduleName = "spring-framework" - - externalDocumentationLink { - url = new URL("https://docs.spring.io/spring-framework/docs/$version/javadoc-api/") - packageListUrl = new File(buildDir, "docs/javadoc/package-list").toURI().toURL() - } - externalDocumentationLink { - url = new URL("https://projectreactor.io/docs/core/release/api/") - } - externalDocumentationLink { - url = new URL("https://www.reactive-streams.org/reactive-streams-1.0.1-javadoc/") - } -/* - This link causes errors, removing to fix the build. - externalDocumentationLink { - url = new URL("https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-core/") - } +} */ - externalDocumentationLink { - url = new URL("https://r2dbc.io/spec/0.8.3.RELEASE/api/") - } +tasks.dokkaHtmlMultiModule.configure { + dependsOn { + tasks.getByName("api") } + moduleName.set("spring-framework") + outputDirectory.set(project.file("$buildDir/docs/kdoc")) } task downloadResources(type: Download) { @@ -193,7 +176,7 @@ asciidoctorPdf { /** * Zip all docs (API and reference) into a single archive */ -task docsZip(type: Zip, dependsOn: ['api', 'asciidoctor', 'asciidoctorPdf', 'dokka']) { +task docsZip(type: Zip, dependsOn: ['api', 'asciidoctor', 'asciidoctorPdf', 'dokkaHtmlMultiModule']) { group = "Distribution" description = "Builds -${archiveClassifier} archive containing api and reference " + "for deployment at https://docs.spring.io/spring-framework/docs." @@ -212,7 +195,7 @@ task docsZip(type: Zip, dependsOn: ['api', 'asciidoctor', 'asciidoctorPdf', 'dok from ("$asciidoctorPdf.outputDir") { into "reference/pdf" } - from (dokka) { + from (dokkaHtmlMultiModule) { into "kdoc-api" } } diff --git a/gradle/spring-module.gradle b/gradle/spring-module.gradle index 4b2b23d60ade..7628127cb5d4 100644 --- a/gradle/spring-module.gradle +++ b/gradle/spring-module.gradle @@ -17,6 +17,10 @@ jmh { duplicateClassesStrategy = DuplicatesStrategy.EXCLUDE } +tasks.findByName("processJmhResources").configure { + duplicatesStrategy = DuplicatesStrategy.EXCLUDE +} + jmhJar { // Uncomment the following for Shadow's Transformer support. // mergeServiceFiles() diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index e708b1c023ec..7454180f2ae8 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 442d9132ea32..ffed3a254e91 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.3-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew index 4f906e0c811f..1b6c787337ff 100755 --- a/gradlew +++ b/gradlew @@ -1,7 +1,7 @@ -#!/usr/bin/env sh +#!/bin/sh # -# Copyright 2015 the original author or authors. +# Copyright © 2015-2021 the original authors. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -17,67 +17,101 @@ # ############################################################################## -## -## Gradle start up script for UN*X -## +# +# Gradle start up script for POSIX generated by Gradle. +# +# Important for running: +# +# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is +# noncompliant, but you have some other compliant shell such as ksh or +# bash, then to run this script, type that shell name before the whole +# command line, like: +# +# ksh Gradle +# +# Busybox and similar reduced shells will NOT work, because this script +# requires all of these POSIX shell features: +# * functions; +# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», +# «${var#prefix}», «${var%suffix}», and «$( cmd )»; +# * compound commands having a testable exit status, especially «case»; +# * various built-in commands including «command», «set», and «ulimit». +# +# Important for patching: +# +# (2) This script targets any POSIX shell, so it avoids extensions provided +# by Bash, Ksh, etc; in particular arrays are avoided. +# +# The "traditional" practice of packing multiple parameters into a +# space-separated string is a well documented source of bugs and security +# problems, so this is (mostly) avoided, by progressively accumulating +# options in "$@", and eventually passing that to Java. +# +# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, +# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; +# see the in-line comments for details. +# +# There are tweaks for specific operating systems such as AIX, CygWin, +# Darwin, MinGW, and NonStop. +# +# (3) This script is generated from the Groovy template +# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# within the Gradle project. +# +# You can find Gradle at https://github.com/gradle/gradle/. +# ############################################################################## # Attempt to set APP_HOME + # Resolve links: $0 may be a link -PRG="$0" -# Need this for relative symlinks. -while [ -h "$PRG" ] ; do - ls=`ls -ld "$PRG"` - link=`expr "$ls" : '.*-> \(.*\)$'` - if expr "$link" : '/.*' > /dev/null; then - PRG="$link" - else - PRG=`dirname "$PRG"`"/$link" - fi +app_path=$0 + +# Need this for daisy-chained symlinks. +while + APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path + [ -h "$app_path" ] +do + ls=$( ls -ld "$app_path" ) + link=${ls#*' -> '} + case $link in #( + /*) app_path=$link ;; #( + *) app_path=$APP_HOME$link ;; + esac done -SAVED="`pwd`" -cd "`dirname \"$PRG\"`/" >/dev/null -APP_HOME="`pwd -P`" -cd "$SAVED" >/dev/null + +APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit APP_NAME="Gradle" -APP_BASE_NAME=`basename "$0"` +APP_BASE_NAME=${0##*/} # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' # Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD="maximum" +MAX_FD=maximum warn () { echo "$*" -} +} >&2 die () { echo echo "$*" echo exit 1 -} +} >&2 # OS specific support (must be 'true' or 'false'). cygwin=false msys=false darwin=false nonstop=false -case "`uname`" in - CYGWIN* ) - cygwin=true - ;; - Darwin* ) - darwin=true - ;; - MINGW* ) - msys=true - ;; - NONSTOP* ) - nonstop=true - ;; +case "$( uname )" in #( + CYGWIN* ) cygwin=true ;; #( + Darwin* ) darwin=true ;; #( + MSYS* | MINGW* ) msys=true ;; #( + NONSTOP* ) nonstop=true ;; esac CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar @@ -87,9 +121,9 @@ CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar if [ -n "$JAVA_HOME" ] ; then if [ -x "$JAVA_HOME/jre/sh/java" ] ; then # IBM's JDK on AIX uses strange locations for the executables - JAVACMD="$JAVA_HOME/jre/sh/java" + JAVACMD=$JAVA_HOME/jre/sh/java else - JAVACMD="$JAVA_HOME/bin/java" + JAVACMD=$JAVA_HOME/bin/java fi if [ ! -x "$JAVACMD" ] ; then die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME @@ -98,7 +132,7 @@ Please set the JAVA_HOME variable in your environment to match the location of your Java installation." fi else - JAVACMD="java" + JAVACMD=java which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. Please set the JAVA_HOME variable in your environment to match the @@ -106,80 +140,95 @@ location of your Java installation." fi # Increase the maximum file descriptors if we can. -if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then - MAX_FD_LIMIT=`ulimit -H -n` - if [ $? -eq 0 ] ; then - if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then - MAX_FD="$MAX_FD_LIMIT" - fi - ulimit -n $MAX_FD - if [ $? -ne 0 ] ; then - warn "Could not set maximum file descriptor limit: $MAX_FD" - fi - else - warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" - fi +if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then + case $MAX_FD in #( + max*) + MAX_FD=$( ulimit -H -n ) || + warn "Could not query maximum file descriptor limit" + esac + case $MAX_FD in #( + '' | soft) :;; #( + *) + ulimit -n "$MAX_FD" || + warn "Could not set maximum file descriptor limit to $MAX_FD" + esac fi -# For Darwin, add options to specify how the application appears in the dock -if $darwin; then - GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" -fi +# Collect all arguments for the java command, stacking in reverse order: +# * args from the command line +# * the main class name +# * -classpath +# * -D...appname settings +# * --module-path (only if needed) +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. # For Cygwin or MSYS, switch paths to Windows format before running java -if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then - APP_HOME=`cygpath --path --mixed "$APP_HOME"` - CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` - - JAVACMD=`cygpath --unix "$JAVACMD"` - - # We build the pattern for arguments to be converted via cygpath - ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` - SEP="" - for dir in $ROOTDIRSRAW ; do - ROOTDIRS="$ROOTDIRS$SEP$dir" - SEP="|" - done - OURCYGPATTERN="(^($ROOTDIRS))" - # Add a user-defined pattern to the cygpath arguments - if [ "$GRADLE_CYGPATTERN" != "" ] ; then - OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" - fi +if "$cygwin" || "$msys" ; then + APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) + CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) + + JAVACMD=$( cygpath --unix "$JAVACMD" ) + # Now convert the arguments - kludge to limit ourselves to /bin/sh - i=0 - for arg in "$@" ; do - CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` - CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option - - if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition - eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` - else - eval `echo args$i`="\"$arg\"" + for arg do + if + case $arg in #( + -*) false ;; # don't mess with options #( + /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath + [ -e "$t" ] ;; #( + *) false ;; + esac + then + arg=$( cygpath --path --ignore --mixed "$arg" ) fi - i=`expr $i + 1` + # Roll the args list around exactly as many times as the number of + # args, so each arg winds up back in the position where it started, but + # possibly modified. + # + # NB: a `for` loop captures its iteration list before it begins, so + # changing the positional parameters here affects neither the number of + # iterations, nor the values presented in `arg`. + shift # remove old arg + set -- "$@" "$arg" # push replacement arg done - case $i in - 0) set -- ;; - 1) set -- "$args0" ;; - 2) set -- "$args0" "$args1" ;; - 3) set -- "$args0" "$args1" "$args2" ;; - 4) set -- "$args0" "$args1" "$args2" "$args3" ;; - 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; - 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; - 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; - 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; - 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; - esac fi -# Escape application args -save () { - for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done - echo " " -} -APP_ARGS=`save "$@"` +# Collect all arguments for the java command; +# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of +# shell script including quotes and variable substitutions, so put them in +# double quotes to make sure that they get re-expanded; and +# * put everything else in single quotes, so that it's not re-expanded. + +set -- \ + "-Dorg.gradle.appname=$APP_BASE_NAME" \ + -classpath "$CLASSPATH" \ + org.gradle.wrapper.GradleWrapperMain \ + "$@" + +# Use "xargs" to parse quoted args. +# +# With -n1 it outputs one arg per line, with the quotes and backslashes removed. +# +# In Bash we could simply go: +# +# readarray ARGS < <( xargs -n1 <<<"$var" ) && +# set -- "${ARGS[@]}" "$@" +# +# but POSIX shell has neither arrays nor command substitution, so instead we +# post-process each arg (as a line of input to sed) to backslash-escape any +# character that might be a shell metacharacter, then use eval to reverse +# that process (while maintaining the separation between arguments), and wrap +# the whole thing up as a single "set" statement. +# +# This will of course break if any of these variables contains a newline or +# an unmatched quote. +# -# Collect all arguments for the java command, following the shell quoting and substitution rules -eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" +eval "set -- $( + printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | + xargs -n1 | + sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | + tr '\n' ' ' + )" '"$@"' exec "$JAVACMD" "$@" diff --git a/integration-tests/integration-tests.gradle b/integration-tests/integration-tests.gradle index 71e23b906049..f7408e5c6ec4 100644 --- a/integration-tests/integration-tests.gradle +++ b/integration-tests/integration-tests.gradle @@ -1,26 +1,26 @@ description = "Spring Integration Tests" dependencies { - testCompile(project(":spring-aop")) - testCompile(project(":spring-beans")) - testCompile(project(":spring-context")) - testCompile(project(":spring-core")) - testCompile(testFixtures(project(":spring-aop"))) - testCompile(testFixtures(project(":spring-beans"))) - testCompile(testFixtures(project(":spring-core"))) - testCompile(testFixtures(project(":spring-tx"))) - testCompile(project(":spring-expression")) - testCompile(project(":spring-jdbc")) - testCompile(project(":spring-orm")) - testCompile(project(":spring-test")) - testCompile(project(":spring-tx")) - testCompile(project(":spring-web")) - 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") + testImplementation(project(":spring-aop")) + testImplementation(project(":spring-beans")) + testImplementation(project(":spring-context")) + testImplementation(project(":spring-core")) + testImplementation(testFixtures(project(":spring-aop"))) + testImplementation(testFixtures(project(":spring-beans"))) + testImplementation(testFixtures(project(":spring-core"))) + testImplementation(testFixtures(project(":spring-tx"))) + testImplementation(project(":spring-expression")) + testImplementation(project(":spring-jdbc")) + testImplementation(project(":spring-orm")) + testImplementation(project(":spring-test")) + testImplementation(project(":spring-tx")) + testImplementation(project(":spring-web")) + testImplementation("javax.inject:javax.inject") + testImplementation("javax.resource:javax.resource-api") + testImplementation("javax.servlet:javax.servlet-api") + testImplementation("org.aspectj:aspectjweaver") + testImplementation("org.hsqldb:hsqldb") + testImplementation("org.hibernate:hibernate-core") } normalization { diff --git a/spring-aop/spring-aop.gradle b/spring-aop/spring-aop.gradle index 73bb378f39a7..67bf95e8dd6c 100644 --- a/spring-aop/spring-aop.gradle +++ b/spring-aop/spring-aop.gradle @@ -1,12 +1,13 @@ description = "Spring AOP" dependencies { - compile(project(":spring-beans")) - compile(project(":spring-core")) + api(project(":spring-beans")) + api(project(":spring-core")) optional("org.aspectj:aspectjweaver") optional("org.apache.commons:commons-pool2") optional("com.jamonapi:jamon") - testCompile(testFixtures(project(":spring-beans"))) - testCompile(testFixtures(project(":spring-core"))) + testImplementation(testFixtures(project(":spring-beans"))) + testImplementation(testFixtures(project(":spring-core"))) + testFixturesImplementation(testFixtures(project(":spring-beans"))) testFixturesImplementation(testFixtures(project(":spring-core"))) } diff --git a/spring-aspects/spring-aspects.gradle b/spring-aspects/spring-aspects.gradle index 12adbfb7e5f4..4ee0ef3fda68 100644 --- a/spring-aspects/spring-aspects.gradle +++ b/spring-aspects/spring-aspects.gradle @@ -11,7 +11,7 @@ sourceSets.test.java.srcDirs = files() aspectj.version = dependencyManagement.managedVersions['org.aspectj:aspectjweaver'] dependencies { - compile("org.aspectj:aspectjweaver") + api("org.aspectj:aspectjweaver") compileOnly("org.aspectj:aspectjrt") optional(project(":spring-aop")) // for @Async support optional(project(":spring-beans")) // for @Configurable support @@ -21,13 +21,13 @@ dependencies { optional(project(":spring-tx")) // for JPA, @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(testFixtures(project(":spring-context"))) - testCompile(testFixtures(project(":spring-context-support"))) - testCompile(testFixtures(project(":spring-core"))) - testCompile(testFixtures(project(":spring-tx"))) - testCompile("javax.mail:javax.mail-api") + testImplementation(project(":spring-core")) // for CodeStyleAspect + testImplementation(project(":spring-test")) + testImplementation(testFixtures(project(":spring-context"))) + testImplementation(testFixtures(project(":spring-context-support"))) + testImplementation(testFixtures(project(":spring-core"))) + testImplementation(testFixtures(project(":spring-tx"))) + testImplementation("javax.mail:javax.mail-api") testCompileOnly("org.aspectj:aspectjrt") } diff --git a/spring-beans/spring-beans.gradle b/spring-beans/spring-beans.gradle index db894e8b83bc..e3f6f73b763b 100644 --- a/spring-beans/spring-beans.gradle +++ b/spring-beans/spring-beans.gradle @@ -4,14 +4,14 @@ apply plugin: "groovy" apply plugin: "kotlin" dependencies { - compile(project(":spring-core")) + api(project(":spring-core")) optional("javax.inject:javax.inject") optional("org.yaml:snakeyaml") optional("org.codehaus.groovy:groovy-xml") optional("org.jetbrains.kotlin:kotlin-reflect") optional("org.jetbrains.kotlin:kotlin-stdlib") - testCompile(testFixtures(project(":spring-core"))) - testCompile("javax.annotation:javax.annotation-api") + testImplementation(testFixtures(project(":spring-core"))) + testImplementation("javax.annotation:javax.annotation-api") testFixturesApi("org.junit.jupiter:junit-jupiter-api") testFixturesImplementation("org.assertj:assertj-core") } diff --git a/spring-context-indexer/spring-context-indexer.gradle b/spring-context-indexer/spring-context-indexer.gradle index a9769ada026a..2c1df2e91dc3 100644 --- a/spring-context-indexer/spring-context-indexer.gradle +++ b/spring-context-indexer/spring-context-indexer.gradle @@ -1,9 +1,9 @@ description = "Spring Context Indexer" dependencies { - testCompile(project(":spring-context")) - testCompile("javax.inject:javax.inject") - testCompile("javax.annotation:javax.annotation-api") - testCompile("javax.transaction:javax.transaction-api") - testCompile("org.eclipse.persistence:javax.persistence") + testImplementation(project(":spring-context")) + testImplementation("javax.inject:javax.inject") + testImplementation("javax.annotation:javax.annotation-api") + testImplementation("javax.transaction:javax.transaction-api") + testImplementation("org.eclipse.persistence:javax.persistence") } diff --git a/spring-context-support/spring-context-support.gradle b/spring-context-support/spring-context-support.gradle index f8a8631293ad..843d1920ebe4 100644 --- a/spring-context-support/spring-context-support.gradle +++ b/spring-context-support/spring-context-support.gradle @@ -1,9 +1,9 @@ description = "Spring Context Support" dependencies { - compile(project(":spring-beans")) - compile(project(":spring-context")) - compile(project(":spring-core")) + api(project(":spring-beans")) + api(project(":spring-context")) + api(project(":spring-core")) optional(project(":spring-jdbc")) // for Quartz support optional(project(":spring-tx")) // for Quartz support optional("javax.activation:javax.activation-api") @@ -14,18 +14,18 @@ dependencies { optional("org.quartz-scheduler:quartz") optional("org.codehaus.fabric3.api:commonj") optional("org.freemarker:freemarker") - testCompile(project(":spring-context")) - testCompile(testFixtures(project(":spring-beans"))) - testCompile(testFixtures(project(":spring-context"))) - testCompile(testFixtures(project(":spring-core"))) - testCompile(testFixtures(project(":spring-tx"))) - 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") + testImplementation(project(":spring-context")) + testImplementation(testFixtures(project(":spring-beans"))) + testImplementation(testFixtures(project(":spring-context"))) + testImplementation(testFixtures(project(":spring-core"))) + testImplementation(testFixtures(project(":spring-tx"))) + testImplementation("org.hsqldb:hsqldb") + testImplementation("org.hibernate:hibernate-validator") + testImplementation("javax.annotation:javax.annotation-api") + testRuntimeOnly("org.ehcache:jcache") + testRuntimeOnly("org.ehcache:ehcache") + testRuntimeOnly("org.glassfish:javax.el") + testRuntimeOnly("com.sun.mail:javax.mail") testFixturesApi("org.junit.jupiter:junit-jupiter-api") testFixturesImplementation("org.assertj:assertj-core") testFixturesImplementation("org.mockito:mockito-core") diff --git a/spring-context/spring-context.gradle b/spring-context/spring-context.gradle index 0b06a7c56f0f..221e0f12fe1a 100644 --- a/spring-context/spring-context.gradle +++ b/spring-context/spring-context.gradle @@ -4,10 +4,10 @@ apply plugin: "groovy" apply plugin: "kotlin" dependencies { - compile(project(":spring-aop")) - compile(project(":spring-beans")) - compile(project(":spring-core")) - compile(project(":spring-expression")) + api(project(":spring-aop")) + api(project(":spring-beans")) + api(project(":spring-core")) + api(project(":spring-expression")) optional(project(":spring-instrument")) optional("javax.annotation:javax.annotation-api") optional("javax.ejb:javax.ejb-api") @@ -26,22 +26,22 @@ dependencies { optional("org.jetbrains.kotlin:kotlin-reflect") optional("org.jetbrains.kotlin:kotlin-stdlib") optional("org.reactivestreams:reactive-streams") - testCompile(testFixtures(project(":spring-aop"))) - testCompile(testFixtures(project(":spring-beans"))) - testCompile(testFixtures(project(":spring-core"))) - testCompile("io.projectreactor:reactor-core") - 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") - testCompile("org.awaitility:awaitility") - testRuntime("javax.xml.bind:jaxb-api") - testRuntime("org.glassfish:javax.el") + testImplementation(testFixtures(project(":spring-aop"))) + testImplementation(testFixtures(project(":spring-beans"))) + testImplementation(testFixtures(project(":spring-core"))) + testImplementation("io.projectreactor:reactor-core") + testImplementation("org.codehaus.groovy:groovy-jsr223") + testImplementation("org.codehaus.groovy:groovy-test") + testImplementation("org.codehaus.groovy:groovy-xml") + testImplementation("org.apache.commons:commons-pool2") + testImplementation("javax.inject:javax.inject-tck") + testImplementation("org.awaitility:awaitility") + testRuntimeOnly("javax.xml.bind:jaxb-api") + testRuntimeOnly("org.glassfish:javax.el") // Substitute for javax.management:jmxremote_optional:1.0.1_04 (not available on Maven Central) - testRuntime("org.glassfish.external:opendmk_jmxremote_optional_jar") - testRuntime("org.javamoney:moneta") - testRuntime("org.junit.vintage:junit-vintage-engine") // for @Inject TCK + testRuntimeOnly("org.glassfish.external:opendmk_jmxremote_optional_jar") + testRuntimeOnly("org.javamoney:moneta") + testRuntimeOnly("org.junit.vintage:junit-vintage-engine") // for @Inject TCK testFixturesApi("org.junit.jupiter:junit-jupiter-api") testFixturesImplementation(testFixtures(project(":spring-beans"))) testFixturesImplementation("com.google.code.findbugs:jsr305") diff --git a/spring-core/kotlin-coroutines/kotlin-coroutines.gradle b/spring-core/kotlin-coroutines/kotlin-coroutines.gradle index 24efbb4fea70..94d7f1531456 100644 --- a/spring-core/kotlin-coroutines/kotlin-coroutines.gradle +++ b/spring-core/kotlin-coroutines/kotlin-coroutines.gradle @@ -14,11 +14,11 @@ artifacts { } dependencies { - compile("org.jetbrains.kotlin:kotlin-reflect") - compile("org.jetbrains.kotlin:kotlin-stdlib") - compile("io.projectreactor:reactor-core") - compile("org.jetbrains.kotlinx:kotlinx-coroutines-core") - compile("org.jetbrains.kotlinx:kotlinx-coroutines-reactor") + api("org.jetbrains.kotlin:kotlin-reflect") + api("org.jetbrains.kotlin:kotlin-stdlib") + api("io.projectreactor:reactor-core") + api("org.jetbrains.kotlinx:kotlinx-coroutines-core") + api("org.jetbrains.kotlinx:kotlinx-coroutines-reactor") } eclipse { diff --git a/spring-core/spring-core.gradle b/spring-core/spring-core.gradle index 822b6ed58acd..d0b294876ef3 100644 --- a/spring-core/spring-core.gradle +++ b/spring-core/spring-core.gradle @@ -17,16 +17,16 @@ configurations { } task cglibRepackJar(type: ShadowJar) { - archiveBaseName = 'spring-cglib-repack' - archiveVersion = cglibVersion + archiveBaseName.set('spring-cglib-repack') + archiveVersion.set(cglibVersion) configurations = [project.configurations.cglib] relocate 'net.sf.cglib', 'org.springframework.cglib' relocate 'org.objectweb.asm', 'org.springframework.asm' } task objenesisRepackJar(type: ShadowJar) { - archiveBaseName = 'spring-objenesis-repack' - archiveVersion = objenesisVersion + archiveBaseName.set('spring-objenesis-repack') + archiveVersion.set(objenesisVersion) configurations = [project.configurations.objenesis] relocate 'org.objenesis', 'org.springframework.objenesis' } @@ -35,9 +35,9 @@ dependencies { cglib("cglib:cglib:${cglibVersion}@jar") objenesis("org.objenesis:objenesis:${objenesisVersion}@jar") coroutines(project(path: ":kotlin-coroutines", configuration: 'classesOnlyElements')) - compile(files(cglibRepackJar)) - compile(files(objenesisRepackJar)) - compile(project(":spring-jcl")) + api(files(cglibRepackJar)) + api(files(objenesisRepackJar)) + api(project(":spring-jcl")) compileOnly(project(":kotlin-coroutines")) compileOnly("io.projectreactor.tools:blockhound") optional("net.sf.jopt-simple:jopt-simple") @@ -51,15 +51,15 @@ dependencies { optional("io.reactivex.rxjava3:rxjava") optional("io.smallrye.reactive:mutiny") optional("io.netty:netty-buffer") - testCompile("io.projectreactor:reactor-test") - testCompile("com.google.code.findbugs:jsr305") - testCompile("javax.annotation:javax.annotation-api") - testCompile("javax.xml.bind:jaxb-api") - testCompile("com.fasterxml.woodstox:woodstox-core") - testCompile("org.xmlunit:xmlunit-assertj") - testCompile("org.xmlunit:xmlunit-matchers") - testCompile(project(":kotlin-coroutines")) - testCompile("io.projectreactor.tools:blockhound") + testImplementation("io.projectreactor:reactor-test") + testImplementation("com.google.code.findbugs:jsr305") + testImplementation("javax.annotation:javax.annotation-api") + testImplementation("javax.xml.bind:jaxb-api") + testImplementation("com.fasterxml.woodstox:woodstox-core") + testImplementation("org.xmlunit:xmlunit-assertj") + testImplementation("org.xmlunit:xmlunit-matchers") + testImplementation(project(":kotlin-coroutines")) + testImplementation("io.projectreactor.tools:blockhound") testFixturesImplementation("io.projectreactor:reactor-test") testFixturesImplementation("com.google.code.findbugs:jsr305") testFixturesImplementation("org.junit.platform:junit-platform-launcher") diff --git a/spring-expression/spring-expression.gradle b/spring-expression/spring-expression.gradle index 9f8299d4db90..920f7c7bc07f 100644 --- a/spring-expression/spring-expression.gradle +++ b/spring-expression/spring-expression.gradle @@ -3,8 +3,8 @@ description = "Spring Expression Language (SpEL)" apply plugin: "kotlin" dependencies { - compile(project(":spring-core")) - testCompile(testFixtures(project(":spring-core"))) - testCompile("org.jetbrains.kotlin:kotlin-reflect") - testCompile("org.jetbrains.kotlin:kotlin-stdlib") + api(project(":spring-core")) + testImplementation(testFixtures(project(":spring-core"))) + testImplementation("org.jetbrains.kotlin:kotlin-reflect") + testImplementation("org.jetbrains.kotlin:kotlin-stdlib") } diff --git a/spring-jdbc/spring-jdbc.gradle b/spring-jdbc/spring-jdbc.gradle index e0737be91f53..41aa3f198720 100644 --- a/spring-jdbc/spring-jdbc.gradle +++ b/spring-jdbc/spring-jdbc.gradle @@ -3,9 +3,9 @@ description = "Spring JDBC" apply plugin: "kotlin" dependencies { - compile(project(":spring-beans")) - compile(project(":spring-core")) - compile(project(":spring-tx")) + api(project(":spring-beans")) + api(project(":spring-core")) + api(project(":spring-tx")) optional(project(":spring-context")) // for JndiDataSourceLookup optional("javax.transaction:javax.transaction-api") optional("org.hsqldb:hsqldb") @@ -14,6 +14,6 @@ dependencies { optional("org.apache.derby:derbyclient") optional("org.jetbrains.kotlin:kotlin-reflect") optional("org.jetbrains.kotlin:kotlin-stdlib") - testCompile(testFixtures(project(":spring-beans"))) - testCompile(testFixtures(project(":spring-core"))) + testImplementation(testFixtures(project(":spring-beans"))) + testImplementation(testFixtures(project(":spring-core"))) } diff --git a/spring-jms/spring-jms.gradle b/spring-jms/spring-jms.gradle index a447c97a8084..32485dff84ba 100644 --- a/spring-jms/spring-jms.gradle +++ b/spring-jms/spring-jms.gradle @@ -1,10 +1,10 @@ description = "Spring JMS" dependencies { - compile(project(":spring-beans")) - compile(project(":spring-core")) - compile(project(":spring-messaging")) - compile(project(":spring-tx")) + api(project(":spring-beans")) + api(project(":spring-core")) + api(project(":spring-messaging")) + api(project(":spring-tx")) compileOnly("javax.jms:javax.jms-api") optional(project(":spring-aop")) optional(project(":spring-context")) @@ -12,8 +12,8 @@ dependencies { optional("javax.resource:javax.resource-api") optional("javax.transaction:javax.transaction-api") optional("com.fasterxml.jackson.core:jackson-databind") - testCompile(testFixtures(project(":spring-beans"))) - testCompile(testFixtures(project(":spring-tx"))) - testCompile("org.apache.activemq:activemq-broker") + testImplementation(testFixtures(project(":spring-beans"))) + testImplementation(testFixtures(project(":spring-tx"))) + testImplementation("org.apache.activemq:activemq-broker") testImplementation("javax.jms:javax.jms-api") } diff --git a/spring-messaging/spring-messaging.gradle b/spring-messaging/spring-messaging.gradle index 2973da314984..eed544b526b3 100644 --- a/spring-messaging/spring-messaging.gradle +++ b/spring-messaging/spring-messaging.gradle @@ -4,8 +4,8 @@ apply plugin: "kotlin" apply plugin: "kotlinx-serialization" dependencies { - compile(project(":spring-beans")) - compile(project(":spring-core")) + api(project(":spring-beans")) + api(project(":spring-core")) compileOnly(project(":kotlin-coroutines")) optional(project(":spring-context")) optional(project(":spring-oxm")) @@ -19,25 +19,25 @@ dependencies { optional("com.google.protobuf:protobuf-java-util") optional("org.jetbrains.kotlinx:kotlinx-coroutines-reactor") optional("org.jetbrains.kotlinx:kotlinx-serialization-json") - testCompile(project(":kotlin-coroutines")) - testCompile(testFixtures(project(":spring-core"))) - 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.rxjava3:rxjava" - testCompile("org.jetbrains.kotlin:kotlin-reflect") - testCompile("org.jetbrains.kotlin:kotlin-stdlib") - testCompile("org.xmlunit:xmlunit-assertj") - testCompile("org.xmlunit:xmlunit-matchers") - testRuntime("com.sun.activation:javax.activation") - 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") - testRuntime(project(":spring-context")) + testImplementation(project(":kotlin-coroutines")) + testImplementation(testFixtures(project(":spring-core"))) + testImplementation("javax.inject:javax.inject-tck") + testImplementation("javax.servlet:javax.servlet-api") + testImplementation("javax.validation:validation-api") + testImplementation("com.thoughtworks.xstream:xstream") + testImplementation("org.apache.activemq:activemq-broker") + testImplementation("org.apache.activemq:activemq-kahadb-store") + testImplementation("org.apache.activemq:activemq-stomp") + testImplementation("io.projectreactor:reactor-test") + testImplementation("io.reactivex.rxjava3:rxjava") + testImplementation("org.jetbrains.kotlin:kotlin-reflect") + testImplementation("org.jetbrains.kotlin:kotlin-stdlib") + testImplementation("org.xmlunit:xmlunit-assertj") + testImplementation("org.xmlunit:xmlunit-matchers") + testRuntimeOnly("com.sun.activation:javax.activation") + testRuntimeOnly("com.sun.xml.bind:jaxb-core") + testRuntimeOnly("com.sun.xml.bind:jaxb-impl") + testRuntimeOnly("javax.json:javax.json-api") + testRuntimeOnly("org.apache.johnzon:johnzon-jsonb") + testRuntimeOnly(project(":spring-context")) } diff --git a/spring-orm/spring-orm.gradle b/spring-orm/spring-orm.gradle index 285e044a14b4..7870f5d77d72 100644 --- a/spring-orm/spring-orm.gradle +++ b/spring-orm/spring-orm.gradle @@ -1,21 +1,21 @@ description = "Spring Object/Relational Mapping" dependencies { - compile(project(":spring-beans")) - compile(project(":spring-core")) - compile(project(":spring-jdbc")) - compile(project(":spring-tx")) + api(project(":spring-beans")) + api(project(":spring-core")) + api(project(":spring-jdbc")) + api(project(":spring-tx")) optional(project(":spring-aop")) optional(project(":spring-context")) optional(project(":spring-web")) optional("org.eclipse.persistence:org.eclipse.persistence.jpa") optional("org.hibernate:hibernate-core") optional("javax.servlet:javax.servlet-api") - testCompile(testFixtures(project(":spring-beans"))) - testCompile(testFixtures(project(":spring-context"))) - testCompile(testFixtures(project(":spring-core"))) - testCompile(testFixtures(project(":spring-web"))) - testCompile("org.aspectj:aspectjweaver") - testCompile("org.hsqldb:hsqldb") - testRuntime("javax.xml.bind:jaxb-api") + testImplementation(testFixtures(project(":spring-beans"))) + testImplementation(testFixtures(project(":spring-context"))) + testImplementation(testFixtures(project(":spring-core"))) + testImplementation(testFixtures(project(":spring-web"))) + testImplementation("org.aspectj:aspectjweaver") + testImplementation("org.hsqldb:hsqldb") + testRuntimeOnly("javax.xml.bind:jaxb-api") } diff --git a/spring-oxm/spring-oxm.gradle b/spring-oxm/spring-oxm.gradle index 901c4ba072b4..a78b41049e0c 100644 --- a/spring-oxm/spring-oxm.gradle +++ b/spring-oxm/spring-oxm.gradle @@ -23,23 +23,23 @@ sourceSets { } dependencies { - compile(project(":spring-beans")) - compile(project(":spring-core")) + api(project(":spring-beans")) + api(project(":spring-core")) 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(testFixtures(project(":spring-core"))) - testCompile("org.ogce:xpp3") - testCompile("org.codehaus.jettison:jettison") { + testImplementation(project(":spring-context")) + testImplementation(testFixtures(project(":spring-core"))) + testImplementation("org.ogce:xpp3") + testImplementation("org.codehaus.jettison:jettison") { exclude group: "stax", module: "stax-api" } - //testCompile(files(genJaxb.classesDir).builtBy(genJaxb)) - testCompile("org.xmlunit:xmlunit-assertj") - testCompile("org.xmlunit:xmlunit-matchers") - testRuntime("com.sun.xml.bind:jaxb-core") - testRuntime("com.sun.xml.bind:jaxb-impl") + //testImplementation(files(genJaxb.classesDir).builtBy(genJaxb)) + testImplementation("org.xmlunit:xmlunit-assertj") + testImplementation("org.xmlunit:xmlunit-matchers") + testRuntimeOnly("com.sun.xml.bind:jaxb-core") + testRuntimeOnly("com.sun.xml.bind:jaxb-impl") } // JiBX compiler is currently not compatible with JDK 9+. diff --git a/spring-r2dbc/spring-r2dbc.gradle b/spring-r2dbc/spring-r2dbc.gradle index 8fd50bf2e780..5c60dd7d3ad6 100644 --- a/spring-r2dbc/spring-r2dbc.gradle +++ b/spring-r2dbc/spring-r2dbc.gradle @@ -3,23 +3,23 @@ description = "Spring R2DBC" apply plugin: "kotlin" dependencies { - compile(project(":spring-beans")) - compile(project(":spring-core")) - compile(project(":spring-tx")) - compile("io.r2dbc:r2dbc-spi") - compile("io.projectreactor:reactor-core") + api(project(":spring-beans")) + api(project(":spring-core")) + api(project(":spring-tx")) + api("io.r2dbc:r2dbc-spi") + api("io.projectreactor:reactor-core") compileOnly(project(":kotlin-coroutines")) optional("org.jetbrains.kotlin:kotlin-reflect") optional("org.jetbrains.kotlin:kotlin-stdlib") optional("org.jetbrains.kotlinx:kotlinx-coroutines-core") optional("org.jetbrains.kotlinx:kotlinx-coroutines-reactor") - testCompile(project(":kotlin-coroutines")) - testCompile(testFixtures(project(":spring-beans"))) - testCompile(testFixtures(project(":spring-core"))) - testCompile(testFixtures(project(":spring-context"))) - testCompile("io.projectreactor:reactor-test") - testCompile("io.r2dbc:r2dbc-h2") - testCompile("io.r2dbc:r2dbc-spi-test:0.8.1.RELEASE") { + testImplementation(project(":kotlin-coroutines")) + testImplementation(testFixtures(project(":spring-beans"))) + testImplementation(testFixtures(project(":spring-core"))) + testImplementation(testFixtures(project(":spring-context"))) + testImplementation("io.projectreactor:reactor-test") + testImplementation("io.r2dbc:r2dbc-h2") + testImplementation("io.r2dbc:r2dbc-spi-test:0.8.1.RELEASE") { exclude group: "org.springframework", module: "spring-jdbc" } } diff --git a/spring-test/spring-test.gradle b/spring-test/spring-test.gradle index e27977c1af02..e15134600b87 100644 --- a/spring-test/spring-test.gradle +++ b/spring-test/spring-test.gradle @@ -3,7 +3,7 @@ description = "Spring TestContext Framework" apply plugin: "kotlin" dependencies { - compile(project(":spring-core")) + api(project(":spring-core")) optional(project(":spring-aop")) optional(project(":spring-beans")) optional(project(":spring-context")) @@ -45,41 +45,41 @@ dependencies { optional("io.projectreactor:reactor-test") optional("org.jetbrains.kotlinx:kotlinx-coroutines-core") optional("org.jetbrains.kotlinx:kotlinx-coroutines-reactor") - testCompile(project(":spring-context-support")) - testCompile(project(":spring-oxm")) - testCompile(testFixtures(project(":spring-beans"))) - testCompile(testFixtures(project(":spring-context"))) - testCompile(testFixtures(project(":spring-core"))) - testCompile(testFixtures(project(":spring-tx"))) - testCompile(testFixtures(project(":spring-web"))) - 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") { + testImplementation(project(":spring-context-support")) + testImplementation(project(":spring-oxm")) + testImplementation(testFixtures(project(":spring-beans"))) + testImplementation(testFixtures(project(":spring-context"))) + testImplementation(testFixtures(project(":spring-core"))) + testImplementation(testFixtures(project(":spring-tx"))) + testImplementation(testFixtures(project(":spring-web"))) + testImplementation("javax.annotation:javax.annotation-api") + testImplementation("javax.cache:cache-api") + testImplementation("javax.ejb:javax.ejb-api") + testImplementation("javax.interceptor:javax.interceptor-api") + testImplementation("javax.mail:javax.mail-api") + testImplementation("org.hibernate:hibernate-core") + testImplementation("org.hibernate:hibernate-validator") + testImplementation("javax.validation:validation-api") + testImplementation("org.junit.platform:junit-platform-runner") { exclude group: "junit", module: "junit" } - testCompile("org.junit.platform:junit-platform-testkit") - 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-http") - testCompile("de.bechte.junit:junit-hierarchicalcontextrunner") - testRuntime("org.junit.vintage:junit-vintage-engine") { + testImplementation("org.junit.platform:junit-platform-testkit") + testImplementation("com.fasterxml.jackson.core:jackson-databind") + testImplementation("com.thoughtworks.xstream:xstream") + testImplementation("com.rometools:rome") + testImplementation("org.apache.tiles:tiles-api") + testImplementation("org.apache.tiles:tiles-core") + testImplementation("org.apache.tiles:tiles-servlet") + testImplementation("org.hsqldb:hsqldb") + testImplementation("org.apache.httpcomponents:httpclient") + testImplementation("io.projectreactor.netty:reactor-netty-http") + testImplementation("de.bechte.junit:junit-hierarchicalcontextrunner") + testRuntimeOnly("org.junit.vintage:junit-vintage-engine") { exclude group: "junit", module: "junit" } - testRuntime("org.glassfish:javax.el") - testRuntime("com.sun.xml.bind:jaxb-core") - testRuntime("com.sun.xml.bind:jaxb-impl") + testRuntimeOnly("org.glassfish:javax.el") + testRuntimeOnly("com.sun.xml.bind:jaxb-core") + testRuntimeOnly("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 99c829892646..c9447732bc59 100644 --- a/spring-tx/spring-tx.gradle +++ b/spring-tx/spring-tx.gradle @@ -3,8 +3,8 @@ description = "Spring Transaction" apply plugin: "kotlin" dependencies { - compile(project(":spring-beans")) - compile(project(":spring-core")) + api(project(":spring-beans")) + api(project(":spring-core")) optional(project(":spring-aop")) optional(project(":spring-context")) // for JCA, @EnableTransactionManagement optional(project(":kotlin-coroutines")) @@ -19,11 +19,11 @@ dependencies { optional("org.jetbrains.kotlin:kotlin-stdlib") optional("org.jetbrains.kotlinx:kotlinx-coroutines-core") optional("org.jetbrains.kotlinx:kotlinx-coroutines-reactor") - testCompile(testFixtures(project(":spring-beans"))) - testCompile(testFixtures(project(":spring-context"))) - testCompile(testFixtures(project(":spring-core"))) - testCompile("org.aspectj:aspectjweaver") - testCompile("org.codehaus.groovy:groovy") - testCompile("org.eclipse.persistence:javax.persistence") - testCompile("io.projectreactor:reactor-test") + testImplementation(testFixtures(project(":spring-beans"))) + testImplementation(testFixtures(project(":spring-context"))) + testImplementation(testFixtures(project(":spring-core"))) + testImplementation("org.aspectj:aspectjweaver") + testImplementation("org.codehaus.groovy:groovy") + testImplementation("org.eclipse.persistence:javax.persistence") + testImplementation("io.projectreactor:reactor-test") } diff --git a/spring-web/spring-web.gradle b/spring-web/spring-web.gradle index 6d1ca73a86b2..f774f0afb8a9 100644 --- a/spring-web/spring-web.gradle +++ b/spring-web/spring-web.gradle @@ -4,8 +4,8 @@ apply plugin: "kotlin" apply plugin: "kotlinx-serialization" dependencies { - compile(project(":spring-beans")) - compile(project(":spring-core")) + api(project(":spring-beans")) + api(project(":spring-core")) compileOnly(project(":kotlin-coroutines")) compileOnly("io.projectreactor.tools:blockhound") optional(project(":spring-aop")) @@ -58,30 +58,30 @@ dependencies { optional("org.jetbrains.kotlin:kotlin-reflect") optional("org.jetbrains.kotlin:kotlin-stdlib") optional("org.jetbrains.kotlinx:kotlinx-serialization-json") - testCompile(testFixtures(project(":spring-beans"))) - testCompile(testFixtures(project(":spring-context"))) - testCompile(testFixtures(project(":spring-core"))) - testCompile("io.projectreactor:reactor-test") - 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") - testCompile("org.jetbrains.kotlin:kotlin-reflect") - testCompile("org.skyscreamer:jsonassert") - testCompile("org.xmlunit:xmlunit-assertj") - testCompile("org.xmlunit:xmlunit-matchers") - testCompile("io.projectreactor.tools:blockhound") - 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") + testImplementation(testFixtures(project(":spring-beans"))) + testImplementation(testFixtures(project(":spring-context"))) + testImplementation(testFixtures(project(":spring-core"))) + testImplementation("io.projectreactor:reactor-test") + testImplementation("org.apache.taglibs:taglibs-standard-jstlel") + testImplementation("com.fasterxml.jackson.datatype:jackson-datatype-jdk8") + testImplementation("com.fasterxml.jackson.datatype:jackson-datatype-joda") + testImplementation("com.fasterxml.jackson.datatype:jackson-datatype-jsr310") + testImplementation("com.fasterxml.jackson.module:jackson-module-kotlin") + testImplementation("org.apache.tomcat:tomcat-util") + testImplementation("org.apache.tomcat.embed:tomcat-embed-core") + testImplementation("org.eclipse.jetty:jetty-server") + testImplementation("org.eclipse.jetty:jetty-servlet") + testImplementation("com.squareup.okhttp3:mockwebserver") + testImplementation("org.jetbrains.kotlin:kotlin-reflect") + testImplementation("org.skyscreamer:jsonassert") + testImplementation("org.xmlunit:xmlunit-assertj") + testImplementation("org.xmlunit:xmlunit-matchers") + testImplementation("io.projectreactor.tools:blockhound") + testRuntimeOnly("com.sun.mail:javax.mail") + testRuntimeOnly("com.sun.xml.bind:jaxb-core") + testRuntimeOnly("com.sun.xml.bind:jaxb-impl") + testRuntimeOnly("javax.json:javax.json-api") + testRuntimeOnly("org.apache.johnzon:johnzon-jsonb") testFixturesApi("javax.servlet:javax.servlet-api") testFixturesApi("org.junit.jupiter:junit-jupiter-api") testFixturesApi("org.junit.jupiter:junit-jupiter-params") diff --git a/spring-webflux/spring-webflux.gradle b/spring-webflux/spring-webflux.gradle index c793b31804ea..7e9e49c69fde 100644 --- a/spring-webflux/spring-webflux.gradle +++ b/spring-webflux/spring-webflux.gradle @@ -3,10 +3,10 @@ description = "Spring WebFlux" apply plugin: "kotlin" dependencies { - compile(project(":spring-beans")) - compile(project(":spring-core")) - compile(project(":spring-web")) - compile("io.projectreactor:reactor-core") + api(project(":spring-beans")) + api(project(":spring-core")) + api(project(":spring-web")) + api("io.projectreactor:reactor-core") compileOnly(project(":kotlin-coroutines")) optional(project(":spring-context")) optional(project(":spring-context-support")) // for FreeMarker support @@ -27,35 +27,35 @@ dependencies { optional("org.jetbrains.kotlin:kotlin-stdlib") optional("com.google.protobuf:protobuf-java-util") optional("org.jetbrains.kotlinx:kotlinx-coroutines-reactor") - testCompile(project(":kotlin-coroutines")) - testCompile(testFixtures(project(":spring-beans"))) - testCompile(testFixtures(project(":spring-core"))) - testCompile(testFixtures(project(":spring-web"))) - testCompile("javax.xml.bind:jaxb-api") - testCompile("com.fasterxml:aalto-xml") - testCompile("org.hibernate:hibernate-validator") - testCompile("javax.validation:validation-api") - testCompile("io.reactivex.rxjava3:rxjava") - testCompile("io.projectreactor:reactor-test") - 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") - testCompile('org.apache.httpcomponents.client5:httpclient5') - testCompile('org.apache.httpcomponents.core5:httpcore5-reactive') - testCompile("com.squareup.okhttp3:mockwebserver") - testCompile("org.jetbrains.kotlin:kotlin-script-runtime") - testRuntime("org.jetbrains.kotlin:kotlin-scripting-jsr223") - 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") + testImplementation(project(":kotlin-coroutines")) + testImplementation(testFixtures(project(":spring-beans"))) + testImplementation(testFixtures(project(":spring-core"))) + testImplementation(testFixtures(project(":spring-web"))) + testImplementation("javax.xml.bind:jaxb-api") + testImplementation("com.fasterxml:aalto-xml") + testImplementation("org.hibernate:hibernate-validator") + testImplementation("javax.validation:validation-api") + testImplementation("io.reactivex.rxjava3:rxjava") + testImplementation("io.projectreactor:reactor-test") + testImplementation("io.undertow:undertow-core") + testImplementation("org.apache.tomcat.embed:tomcat-embed-core") + testImplementation("org.apache.tomcat:tomcat-util") + testImplementation("org.eclipse.jetty:jetty-server") + testImplementation("org.eclipse.jetty:jetty-servlet") + testImplementation("org.eclipse.jetty:jetty-reactive-httpclient") + testImplementation('org.apache.httpcomponents.client5:httpclient5') + testImplementation('org.apache.httpcomponents.core5:httpcore5-reactive') + testImplementation("com.squareup.okhttp3:mockwebserver") + testImplementation("org.jetbrains.kotlin:kotlin-script-runtime") + testRuntimeOnly("org.jetbrains.kotlin:kotlin-scripting-jsr223") + testRuntimeOnly("org.jruby:jruby") + testRuntimeOnly("org.python:jython-standalone") + testRuntimeOnly("org.synchronoss.cloud:nio-multipart-parser") + testRuntimeOnly("org.webjars:underscorejs") + testRuntimeOnly("org.glassfish:javax.el") + testRuntimeOnly("com.sun.xml.bind:jaxb-core") + testRuntimeOnly("com.sun.xml.bind:jaxb-impl") + testRuntimeOnly("com.sun.activation:javax.activation") } test { diff --git a/spring-webmvc/spring-webmvc.gradle b/spring-webmvc/spring-webmvc.gradle index 92deba6aa2f6..36ad9f649ef3 100644 --- a/spring-webmvc/spring-webmvc.gradle +++ b/spring-webmvc/spring-webmvc.gradle @@ -3,12 +3,12 @@ description = "Spring Web MVC" apply plugin: "kotlin" dependencies { - compile(project(":spring-aop")) - compile(project(":spring-beans")) - compile(project(":spring-context")) - compile(project(":spring-core")) - compile(project(":spring-expression")) - compile(project(":spring-web")) + api(project(":spring-aop")) + api(project(":spring-beans")) + api(project(":spring-context")) + api(project(":spring-core")) + api(project(":spring-expression")) + api(project(":spring-web")) compileOnly("javax.servlet:javax.servlet-api") compileOnly("com.google.code.findbugs:findbugs") // for groovy-templates optional(project(":spring-context-support")) // for FreeMarker support @@ -37,38 +37,38 @@ dependencies { optional("org.jetbrains.kotlin:kotlin-stdlib") optional("org.reactivestreams:reactive-streams") optional("org.jetbrains.kotlinx:kotlinx-coroutines-reactor") - testCompile(project(":kotlin-coroutines")) - testCompile(testFixtures(project(":spring-beans"))) - testCompile(testFixtures(project(":spring-core"))) - testCompile(testFixtures(project(":spring-context"))) - testCompile(testFixtures(project(":spring-web"))) - testCompile("javax.servlet:javax.servlet-api") - testCompile("org.eclipse.jetty:jetty-servlet") { + testImplementation(project(":kotlin-coroutines")) + testImplementation(testFixtures(project(":spring-beans"))) + testImplementation(testFixtures(project(":spring-core"))) + testImplementation(testFixtures(project(":spring-context"))) + testImplementation(testFixtures(project(":spring-web"))) + testImplementation("javax.servlet:javax.servlet-api") + testImplementation("org.eclipse.jetty:jetty-servlet") { exclude group: "javax.servlet", module: "javax.servlet" } - testCompile("org.eclipse.jetty:jetty-server") { + testImplementation("org.eclipse.jetty:jetty-server") { exclude group: "javax.servlet", module: "javax.servlet" } - 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("org.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.rxjava3:rxjava") - testCompile("org.jetbrains.kotlin:kotlin-script-runtime") - testRuntime("org.jetbrains.kotlin:kotlin-scripting-jsr223") - 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") + testImplementation("org.apache.httpcomponents:httpclient") + testImplementation("commons-fileupload:commons-fileupload") + testImplementation("commons-io:commons-io") + testImplementation("joda-time:joda-time") + testImplementation("org.mozilla:rhino") + testImplementation("org.dom4j:dom4j") + testImplementation("jaxen:jaxen") + testImplementation("org.xmlunit:xmlunit-assertj") + testImplementation("org.xmlunit:xmlunit-matchers") + testImplementation("org.hibernate:hibernate-validator") + testImplementation("javax.validation:validation-api") + testImplementation("io.projectreactor:reactor-core") + testImplementation("io.reactivex.rxjava3:rxjava") + testImplementation("org.jetbrains.kotlin:kotlin-script-runtime") + testRuntimeOnly("org.jetbrains.kotlin:kotlin-scripting-jsr223") + testRuntimeOnly("org.jruby:jruby") + testRuntimeOnly("org.python:jython-standalone") + testRuntimeOnly("org.webjars:underscorejs") + testRuntimeOnly("org.glassfish:javax.el") + testRuntimeOnly("com.sun.xml.bind:jaxb-core") + testRuntimeOnly("com.sun.xml.bind:jaxb-impl") + testRuntimeOnly("com.sun.activation:javax.activation") } diff --git a/spring-websocket/spring-websocket.gradle b/spring-websocket/spring-websocket.gradle index 6b311234386b..4ffe0ef667bd 100644 --- a/spring-websocket/spring-websocket.gradle +++ b/spring-websocket/spring-websocket.gradle @@ -1,9 +1,9 @@ description = "Spring WebSocket" dependencies { - compile(project(":spring-context")) - compile(project(":spring-core")) - compile(project(":spring-web")) + api(project(":spring-context")) + api(project(":spring-core")) + api(project(":spring-web")) optional(project(":spring-messaging")) optional(project(":spring-webmvc")) optional("javax.servlet:javax.servlet-api") @@ -21,9 +21,9 @@ dependencies { optional("io.undertow:undertow-servlet") optional("io.undertow:undertow-websockets-jsr") optional("com.fasterxml.jackson.core:jackson-databind") - testCompile(testFixtures(project(":spring-core"))) - testCompile(testFixtures(project(":spring-web"))) - testCompile("org.apache.tomcat.embed:tomcat-embed-core") - testCompile("org.apache.tomcat.embed:tomcat-embed-websocket") - testCompile("io.projectreactor.netty:reactor-netty-http") + testImplementation(testFixtures(project(":spring-core"))) + testImplementation(testFixtures(project(":spring-web"))) + testImplementation("org.apache.tomcat.embed:tomcat-embed-core") + testImplementation("org.apache.tomcat.embed:tomcat-embed-websocket") + testImplementation("io.projectreactor.netty:reactor-netty-http") }