|
|
|
plugins {
|
|
|
|
id 'io.spring.dependency-management' version '1.0.9.RELEASE' apply false
|
|
|
|
id 'io.spring.nohttp' version '0.0.5.RELEASE'
|
|
|
|
id 'org.jetbrains.kotlin.jvm' version '1.4.20' apply false
|
|
|
|
id 'org.jetbrains.dokka' version '0.10.1' 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 "me.champeau.gradle.jmh" version "0.5.0" apply false
|
|
|
|
id "org.jetbrains.kotlin.plugin.serialization" version "1.4.20" apply false
|
|
|
|
}
|
|
|
|
|
|
|
|
ext {
|
|
|
|
moduleProjects = subprojects.findAll { it.name.startsWith("spring-") }
|
|
|
|
javaProjects = subprojects - project(":framework-bom")
|
|
|
|
withoutJclOverSlf4j = {
|
|
|
|
exclude group: "org.slf4j", name: "jcl-over-slf4j"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
configure(allprojects) { project ->
|
|
|
|
apply plugin: "io.spring.dependency-management"
|
|
|
|
|
|
|
|
dependencyManagement {
|
|
|
|
imports {
|
|
|
|
mavenBom "com.fasterxml.jackson:jackson-bom:2.12.0"
|
|
|
|
mavenBom "io.netty:netty-bom:4.1.54.Final"
|
|
|
|
mavenBom "io.projectreactor:reactor-bom:2020.0.2-SNAPSHOT"
|
|
|
|
mavenBom "io.r2dbc:r2dbc-bom:Arabba-SR8"
|
|
|
|
mavenBom "io.rsocket:rsocket-bom:1.1.0"
|
|
|
|
mavenBom "org.eclipse.jetty:jetty-bom:9.4.35.v20201120"
|
|
|
|
mavenBom "org.jetbrains.kotlin:kotlin-bom:1.4.20"
|
|
|
|
mavenBom "org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.4.2"
|
|
|
|
mavenBom "org.junit:junit-bom:5.7.0"
|
|
|
|
}
|
|
|
|
dependencies {
|
|
|
|
dependencySet(group: 'org.apache.logging.log4j', version: '2.14.0') {
|
|
|
|
entry 'log4j-api'
|
|
|
|
entry 'log4j-core'
|
|
|
|
entry 'log4j-jul'
|
|
|
|
entry 'log4j-slf4j-impl'
|
|
|
|
}
|
|
|
|
dependency "org.slf4j:slf4j-api:1.7.30"
|
|
|
|
dependency("com.google.code.findbugs:findbugs:3.0.1") {
|
|
|
|
exclude group: "dom4j", name: "dom4j"
|
|
|
|
}
|
|
|
|
dependency "com.google.code.findbugs:jsr305:3.0.2"
|
|
|
|
|
|
|
|
dependencySet(group: 'org.aspectj', version: '1.9.6') {
|
|
|
|
entry 'aspectjrt'
|
|
|
|
entry 'aspectjtools'
|
|
|
|
entry 'aspectjweaver'
|
|
|
|
}
|
|
|
|
dependencySet(group: 'org.codehaus.groovy', version: '3.0.7') {
|
|
|
|
entry 'groovy'
|
|
|
|
entry 'groovy-jsr223'
|
|
|
|
entry 'groovy-templates' // requires findbugs for warning-free compilation
|
|
|
|
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.19"
|
|
|
|
dependency "io.reactivex.rxjava3:rxjava:3.0.8"
|
|
|
|
dependency "io.projectreactor.tools:blockhound:1.0.4.RELEASE"
|
|
|
|
|
|
|
|
dependency "com.caucho:hessian:4.0.63"
|
|
|
|
dependency "com.fasterxml:aalto-xml:1.2.2"
|
|
|
|
dependency("com.fasterxml.woodstox:woodstox-core:6.2.3") {
|
|
|
|
exclude group: "stax", name: "stax-api"
|
|
|
|
}
|
Latest dependency updates (Tomcat 9.0.27, Undertow 2.0.27, RxJava 2.2.13, Gson 2.8.6, Apache Johnzon 1.2.1, Hibernate ORM 5.4.8, EclipseLink 2.7.5, H2 1.4.200, POI 4.1.1, Quartz 2.3.2, WebJars Locator 0.42, HtmlUnit 2.36, Checkstyle 8.26, Mockito 3.1, Objenesis 3.1)
5 years ago
|
|
|
dependency "com.google.code.gson:gson:2.8.6"
|
|
|
|
dependency "com.google.protobuf:protobuf-java-util:3.14.0"
|
|
|
|
dependency "com.googlecode.protobuf-java-format:protobuf-java-format:1.4"
|
|
|
|
dependency("com.thoughtworks.xstream:xstream:1.4.14") {
|
|
|
|
exclude group: "xpp3", name: "xpp3_min"
|
|
|
|
exclude group: "xmlpull", name: "xmlpull"
|
|
|
|
}
|
|
|
|
dependency "org.apache.johnzon:johnzon-jsonb:1.2.8"
|
|
|
|
dependency("org.codehaus.jettison:jettison:1.3.8") {
|
|
|
|
exclude group: "stax", name: "stax-api"
|
|
|
|
}
|
|
|
|
dependencySet(group: 'org.jibx', version: '1.3.3') {
|
|
|
|
entry 'jibx-bind'
|
|
|
|
entry 'jibx-run'
|
|
|
|
}
|
|
|
|
dependency "org.ogce:xpp3:1.1.6"
|
|
|
|
dependency "org.yaml:snakeyaml:1.27"
|
|
|
|
dependencySet(group: 'org.jetbrains.kotlinx', version: '1.0.0') {
|
|
|
|
entry 'kotlinx-serialization-core'
|
|
|
|
entry 'kotlinx-serialization-json'
|
|
|
|
}
|
|
|
|
|
Latest dependency updates (Tomcat 9.0.27, Undertow 2.0.27, RxJava 2.2.13, Gson 2.8.6, Apache Johnzon 1.2.1, Hibernate ORM 5.4.8, EclipseLink 2.7.5, H2 1.4.200, POI 4.1.1, Quartz 2.3.2, WebJars Locator 0.42, HtmlUnit 2.36, Checkstyle 8.26, Mockito 3.1, Objenesis 3.1)
5 years ago
|
|
|
dependency "com.h2database:h2:1.4.200"
|
|
|
|
dependency "com.github.ben-manes.caffeine:caffeine:2.8.6"
|
|
|
|
dependency "com.github.librepdf:openpdf:1.3.23"
|
|
|
|
dependency "com.rometools:rome:1.15.0"
|
|
|
|
dependency "commons-io:commons-io:2.5"
|
|
|
|
dependency "io.vavr:vavr:0.10.3"
|
|
|
|
dependency "net.sf.jopt-simple:jopt-simple:5.0.4"
|
|
|
|
dependencySet(group: 'org.apache.activemq', version: '5.16.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.9.0"
|
|
|
|
dependencySet(group: 'org.apache.derby', version: '10.14.2.0') {
|
|
|
|
entry 'derby'
|
|
|
|
entry 'derbyclient'
|
|
|
|
}
|
Upgrade to Kotlin 1.3.70
Includes latest dependency updates (Netty 4.1.47, Jetty 9.4.27, Jackson 2.10.3, Log4J 2.13.1, SnakeYAML 1.26, Vavr 0.10.2, Commons Pool 2.8, POI 4.1.2, OkHttp 3.14.7, Jetty Reactive HttpClient 1.1.2, JRuby 9.2.11, AssertJ 3.15)
5 years ago
|
|
|
dependency "org.apache.poi:poi-ooxml:4.1.2"
|
|
|
|
dependency "org.apache-extras.beanshell:bsh:2.0b6"
|
|
|
|
dependency "org.freemarker:freemarker:2.3.30"
|
|
|
|
dependency "org.hsqldb:hsqldb:2.5.1"
|
Latest dependency updates (Tomcat 9.0.27, Undertow 2.0.27, RxJava 2.2.13, Gson 2.8.6, Apache Johnzon 1.2.1, Hibernate ORM 5.4.8, EclipseLink 2.7.5, H2 1.4.200, POI 4.1.1, Quartz 2.3.2, WebJars Locator 0.42, HtmlUnit 2.36, Checkstyle 8.26, Mockito 3.1, Objenesis 3.1)
5 years ago
|
|
|
dependency "org.quartz-scheduler:quartz:2.3.2"
|
|
|
|
dependency "org.codehaus.fabric3.api:commonj:1.1.0"
|
|
|
|
dependency "net.sf.ehcache:ehcache:2.10.6"
|
|
|
|
dependency "org.ehcache:jcache:1.0.1"
|
|
|
|
dependency "org.ehcache:ehcache:3.4.0"
|
|
|
|
dependency "org.hibernate:hibernate-core:5.4.25.Final"
|
|
|
|
dependency "org.hibernate:hibernate-validator:6.1.6.Final"
|
|
|
|
dependency "org.webjars:webjars-locator-core:0.46"
|
|
|
|
dependency "org.webjars:underscorejs:1.8.3"
|
|
|
|
|
|
|
|
dependencySet(group: 'org.apache.tomcat', version: '9.0.40') {
|
|
|
|
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.40') {
|
|
|
|
entry 'tomcat-embed-core'
|
|
|
|
entry 'tomcat-embed-websocket'
|
|
|
|
}
|
|
|
|
dependencySet(group: 'io.undertow', version: '2.2.2.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.9') {
|
|
|
|
entry 'okhttp'
|
|
|
|
entry 'mockwebserver'
|
|
|
|
}
|
|
|
|
dependency("org.apache.httpcomponents:httpclient:4.5.13") {
|
|
|
|
exclude group: "commons-logging", name: "commons-logging"
|
|
|
|
}
|
|
|
|
dependency("org.apache.httpcomponents:httpasyncclient:4.1.4") {
|
|
|
|
exclude group: "commons-logging", name: "commons-logging"
|
|
|
|
}
|
|
|
|
dependency 'org.apache.httpcomponents.client5:httpclient5:5.0.3'
|
|
|
|
dependency 'org.apache.httpcomponents.core5:httpcore5-reactive:5.0.2'
|
|
|
|
dependency "org.eclipse.jetty:jetty-reactive-httpclient:1.1.4"
|
|
|
|
|
|
|
|
dependency "org.jruby:jruby:9.2.13.0"
|
|
|
|
dependency "org.python:jython-standalone:2.7.1"
|
|
|
|
dependency "org.mozilla:rhino:1.7.11"
|
|
|
|
|
|
|
|
dependency "commons-fileupload:commons-fileupload:1.4"
|
|
|
|
dependency "org.synchronoss.cloud:nio-multipart-parser:1.1.0"
|
|
|
|
|
|
|
|
dependency("org.dom4j:dom4j:2.1.3") {
|
|
|
|
exclude group: "jaxen", name: "jaxen"
|
|
|
|
exclude group: "net.java.dev.msv", name: "xsdlib"
|
|
|
|
exclude group: "pull-parser", name: "pull-parser"
|
|
|
|
exclude group: "xpp3", name: "xpp3"
|
|
|
|
}
|
|
|
|
dependency("jaxen:jaxen:1.2.0") {
|
|
|
|
exclude group: "dom4j", name: "dom4j"
|
|
|
|
}
|
|
|
|
|
|
|
|
dependency("junit:junit:4.13.1") {
|
|
|
|
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:7.3.0"
|
|
|
|
dependency "org.hamcrest:hamcrest:2.1"
|
|
|
|
dependency "org.awaitility:awaitility:3.1.6"
|
|
|
|
dependency "org.assertj:assertj-core:3.18.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.6.28') {
|
|
|
|
entry('mockito-core') {
|
|
|
|
exclude group: "org.hamcrest", name: "hamcrest-core"
|
|
|
|
}
|
|
|
|
entry 'mockito-junit-jupiter'
|
|
|
|
}
|
|
|
|
dependency "io.mockk:mockk:1.10.2"
|
|
|
|
|
|
|
|
dependency("net.sourceforge.htmlunit:htmlunit:2.45.0") {
|
|
|
|
exclude group: "commons-logging", name: "commons-logging"
|
|
|
|
}
|
|
|
|
dependency("org.seleniumhq.selenium:htmlunit-driver:2.45.0") {
|
|
|
|
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"
|
|
|
|
dependency "org.bouncycastle:bcpkix-jdk15on:1.66"
|
|
|
|
|
|
|
|
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.82"
|
|
|
|
dependency "joda-time:joda-time:2.10.6"
|
|
|
|
dependency "org.eclipse.persistence:org.eclipse.persistence.jpa:2.7.7"
|
|
|
|
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"
|
|
|
|
}
|
|
|
|
generatedPomCustomization {
|
|
|
|
enabled = false
|
|
|
|
}
|
|
|
|
resolutionStrategy {
|
|
|
|
cacheChangingModulesFor 0, "seconds"
|
|
|
|
}
|
|
|
|
repositories {
|
|
|
|
mavenCentral()
|
|
|
|
maven { url "https://repo.spring.io/libs-spring-framework-build" }
|
|
|
|
maven { url "https://repo.spring.io/snapshot" } // reactor
|
|
|
|
}
|
|
|
|
}
|
|
|
|
configurations.all {
|
|
|
|
resolutionStrategy {
|
|
|
|
cacheChangingModulesFor 0, "seconds"
|
|
|
|
cacheDynamicVersionsFor 0, "seconds"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
configure([rootProject] + javaProjects) { project ->
|
|
|
|
group = "org.springframework"
|
|
|
|
|
|
|
|
apply plugin: "java"
|
|
|
|
apply plugin: "java-test-fixtures"
|
|
|
|
apply plugin: "checkstyle"
|
|
|
|
apply plugin: 'org.springframework.build.compile'
|
|
|
|
apply from: "${rootDir}/gradle/custom-java-home.gradle"
|
|
|
|
apply from: "${rootDir}/gradle/ide.gradle"
|
|
|
|
|
|
|
|
pluginManager.withPlugin("kotlin") {
|
|
|
|
apply plugin: "org.jetbrains.dokka"
|
|
|
|
compileKotlin {
|
|
|
|
kotlinOptions {
|
|
|
|
jvmTarget = "1.8"
|
|
|
|
languageVersion = "1.3"
|
|
|
|
apiVersion = "1.3"
|
|
|
|
freeCompilerArgs = ["-Xjsr305=strict"]
|
|
|
|
allWarningsAsErrors = true
|
|
|
|
}
|
|
|
|
}
|
|
|
|
compileTestKotlin {
|
|
|
|
kotlinOptions {
|
|
|
|
jvmTarget = "1.8"
|
|
|
|
freeCompilerArgs = ["-Xjsr305=strict"]
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
test {
|
|
|
|
useJUnitPlatform()
|
|
|
|
include(["**/*Tests.class", "**/*Test.class"])
|
|
|
|
systemProperty("java.awt.headless", "true")
|
|
|
|
systemProperty("testGroups", project.properties.get("testGroups"))
|
|
|
|
systemProperty("io.netty.leakDetection.level", "paranoid")
|
|
|
|
}
|
|
|
|
|
|
|
|
checkstyle {
|
|
|
|
toolVersion = "8.38"
|
|
|
|
configDirectory.set(rootProject.file("src/checkstyle"))
|
|
|
|
}
|
|
|
|
|
|
|
|
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")
|
|
|
|
// 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")
|
|
|
|
// JSR-305 only used for non-required meta-annotations
|
|
|
|
compileOnly("com.google.code.findbugs:jsr305")
|
|
|
|
testCompileOnly("com.google.code.findbugs:jsr305")
|
|
|
|
checkstyle("io.spring.javaformat:spring-javaformat-checkstyle:0.0.15")
|
|
|
|
}
|
Eliminate all Javadoc warnings
- Support external Javadoc links using Gradle's javadoc.options.links
- Fix all other Javadoc warnings, such as typos, references to
non-existent (or no longer existent) types and members, etc,
including changes related to the Quartz 2.0 upgrade (SPR-8275) and
adding the HTTP PATCH method (SPR-7985).
- Suppress all output for project-level `javadoc` tasks in order to
hide false-negative warnings about cross-module @see and @link
references (e.g. spring-core having a @see reference to spring-web).
Use the `--info` (-i) flag to gradle at any time to see project-level
javadoc warnings without running the entire `api` task. e.g.
`gradle :spring-core:javadoc -i`
- Favor root project level `api` task for detection of legitimate
Javadoc warnings. There are now zero Javadoc warnings across the
entirety of spring-framework. Goal: keep it that way.
- Remove all @link and @see references to types and members that exist
only in Servlet <= 2.5 and Hibernate <= 4.0, favoring 3.0+ and 4.0+
respectively. This is necessary because only one version of each of
these dependencies can be present on the global `api` javadoc task's
classpath. To that end, the `api` task classpath has now been
customized to ensure that the Servlet 3 API and Hibernate Core 4 jars
have precedence.
- SPR-8896 replaced our dependency on aspectjrt with a dependency on
aspectjweaver, which is fine from a POM point of view, but causes
a spurious warning to be emitted from the ant iajc task that it
"cannot find aspectjrt on the classpath" - even though aspectjweaver
is perfectly sufficient. In the name of keeping the console quiet, a
new `rt` configuration has been added, and aspectjrt added as a
dependency to it. In turn, configurations.rt.asPath is appended to
the iajc classpath during both compileJava and compileTestJava for
spring-aspects.
Issue: SPR-10078, SPR-8275, SPR-7985, SPR-8896
12 years ago
|
|
|
|
|
|
|
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.10/",
|
|
|
|
"https://fasterxml.github.io/jackson-databind/javadoc/2.10/",
|
|
|
|
"https://fasterxml.github.io/jackson-dataformat-xml/javadoc/2.10/",
|
|
|
|
"https://hc.apache.org/httpcomponents-client-ga/httpclient/apidocs/",
|
|
|
|
"https://projectreactor.io/docs/test/release/api/",
|
|
|
|
"https://junit.org/junit4/javadoc/4.13.1/",
|
|
|
|
"https://junit.org/junit5/docs/5.7.0/api/"
|
Eliminate all Javadoc warnings
- Support external Javadoc links using Gradle's javadoc.options.links
- Fix all other Javadoc warnings, such as typos, references to
non-existent (or no longer existent) types and members, etc,
including changes related to the Quartz 2.0 upgrade (SPR-8275) and
adding the HTTP PATCH method (SPR-7985).
- Suppress all output for project-level `javadoc` tasks in order to
hide false-negative warnings about cross-module @see and @link
references (e.g. spring-core having a @see reference to spring-web).
Use the `--info` (-i) flag to gradle at any time to see project-level
javadoc warnings without running the entire `api` task. e.g.
`gradle :spring-core:javadoc -i`
- Favor root project level `api` task for detection of legitimate
Javadoc warnings. There are now zero Javadoc warnings across the
entirety of spring-framework. Goal: keep it that way.
- Remove all @link and @see references to types and members that exist
only in Servlet <= 2.5 and Hibernate <= 4.0, favoring 3.0+ and 4.0+
respectively. This is necessary because only one version of each of
these dependencies can be present on the global `api` javadoc task's
classpath. To that end, the `api` task classpath has now been
customized to ensure that the Servlet 3 API and Hibernate Core 4 jars
have precedence.
- SPR-8896 replaced our dependency on aspectjrt with a dependency on
aspectjweaver, which is fine from a POM point of view, but causes
a spurious warning to be emitted from the ant iajc task that it
"cannot find aspectjrt on the classpath" - even though aspectjweaver
is perfectly sufficient. In the name of keeping the console quiet, a
new `rt` configuration has been added, and aspectjrt added as a
dependency to it. In turn, configurations.rt.asPath is appended to
the iajc classpath during both compileJava and compileTestJava for
spring-aspects.
Issue: SPR-10078, SPR-8275, SPR-7985, SPR-8896
12 years ago
|
|
|
] as String[]
|
Upgrade to JUnit 4.11 snapshot in support of JDK7
Class#getDeclaredMembers returns arbitrary results under JDK7. This
results in non-deterministic execution of JUnit test methods, often
revealing unintended dependencies between methods that rely on a
specific order to succeed.
JUnit 4.11 contains support for predictable test ordering [1], but at
the time of this commit, JUnit 4.11 has not yet been released.
Therefore we are testing against a snapshot version [2], which has been
uploaded to repo.springsource.org [3] for easy access. Note that this
artifact may be removed when JUnit 4.11 goes GA.
- Care has been taken to ensure that spring-test's compile-time
dependency on JUnit remains at 4.10. This means that the spring-test
pom.xml will continue to have an optional <dependency> on JUnit
4.10, instead of the 4.11 snapshot.
- For reasons not fully understood, the upgrade to the 4.11 snapshot
of junit-dep caused NoSuchMethodErrors around certain Hamcrest
types, particularly CoreMatchers and Matchers. import statements
have been updated accordingly throughout affected test cases.
- Runtime errors also occurred around uses of JUnit @Rule and
ExpectedException. These have been reverted to use simpler
mechanisms like @Test(expected) in the meantime.
- Some test methods with order-based dependencies on one another have
been renamed in order to fall in line with JUnit 4.11's new method
ordering (as opposed to actually fixing the inter-test
dependencies). In other areas, the fix was as simple as adding a
tearDown method and cleaning up state.
- For no apparent reason, the timeout in AspectJAutoProxyCreatorTests'
testAspectsAndAdvisorNotAppliedToPrototypeIsFastEnough method begins
to be exceeded. Prior to this commit the timeout value was 3000 ms;
on the CI server under Linux/JDK6 and JDK7, the test begins taking
anywhere from 3500-5500 ms with this commit. It is presumed that
this is an incidental artifact of the upgrade to JUnit 4.11. In any
case, there are no changes to src/main in this commit, so this
should not actually represent a performance risk for Spring
Framework users. The timeout has been increased to 6000 ms to
accommodate this situation.
[1]: https://github.com/KentBeck/junit/pull/293
[2]: https://github.com/downloads/KentBeck/junit/junit-dep-4.11-SNAPSHOT-20120805-1225.jar
[3]: https://repo.springsource.org/simple/ext-release-local/junit/junit-dep/4.11.20120805.1225
Issue: SPR-9783
12 years ago
|
|
|
}
|
|
|
|
|
|
|
|
configure(moduleProjects) { project ->
|
|
|
|
apply from: "${rootDir}/gradle/spring-module.gradle"
|
|
|
|
}
|
|
|
|
|
|
|
|
configure(rootProject) {
|
|
|
|
description = "Spring Framework"
|
|
|
|
|
|
|
|
apply plugin: "groovy"
|
|
|
|
apply plugin: "kotlin"
|
|
|
|
apply plugin: "io.spring.nohttp"
|
|
|
|
apply plugin: 'org.springframework.build.api-diff'
|
|
|
|
apply from: "${rootDir}/gradle/publications.gradle"
|
|
|
|
apply from: "${rootDir}/gradle/docs.gradle"
|
|
|
|
|
|
|
|
nohttp {
|
|
|
|
source.exclude "**/test-output/**"
|
|
|
|
allowlistFile = project.file("src/nohttp/allowlist.lines")
|
|
|
|
def rootPath = file(rootDir).toPath()
|
|
|
|
def projectDirs = allprojects.collect { it.projectDir } + "${rootDir}/buildSrc"
|
|
|
|
projectDirs.forEach { dir ->
|
|
|
|
[ 'bin', 'build', 'out', '.settings' ]
|
|
|
|
.collect { rootPath.relativize(new File(dir, it).toPath()) }
|
|
|
|
.forEach { source.exclude "$it/**" }
|
|
|
|
[ '.classpath', '.project' ]
|
|
|
|
.collect { rootPath.relativize(new File(dir, it).toPath()) }
|
|
|
|
.forEach { source.exclude "$it" }
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
publishing {
|
|
|
|
publications {
|
|
|
|
mavenJava(MavenPublication) {
|
|
|
|
artifact docsZip
|
|
|
|
artifact schemaZip
|
|
|
|
artifact distZip
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|