You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
123 lines
4.8 KiB
123 lines
4.8 KiB
plugins { |
|
id 'io.freefair.aspectj' version '8.3' apply false |
|
// kotlinVersion is managed in gradle.properties |
|
id 'org.jetbrains.kotlin.plugin.serialization' version "${kotlinVersion}" apply false |
|
id 'org.jetbrains.dokka' version '1.8.20' |
|
id 'org.unbroken-dome.xjc' version '2.0.0' apply false |
|
id 'com.github.ben-manes.versions' version '0.46.0' |
|
id 'com.github.johnrengelman.shadow' version '8.1.1' apply false |
|
id 'de.undercouch.download' version '5.4.0' |
|
id 'me.champeau.jmh' version '0.7.1' apply false |
|
id 'me.champeau.mrjar' version '0.1.1' |
|
} |
|
|
|
ext { |
|
moduleProjects = subprojects.findAll { it.name.startsWith("spring-") } |
|
javaProjects = subprojects.findAll { !it.name.startsWith("framework-") } |
|
} |
|
|
|
configure(allprojects) { project -> |
|
apply plugin: "org.springframework.build.localdev" |
|
group = "org.springframework" |
|
repositories { |
|
mavenCentral() |
|
maven { |
|
url "https://repo.spring.io/milestone" |
|
content { |
|
// Netty 5 optional support |
|
includeGroup 'io.projectreactor.netty' |
|
} |
|
} |
|
if (version.contains('-')) { |
|
maven { url "https://repo.spring.io/milestone" } |
|
} |
|
if (version.endsWith('-SNAPSHOT')) { |
|
maven { url "https://repo.spring.io/snapshot" } |
|
} |
|
} |
|
configurations.all { |
|
resolutionStrategy { |
|
cacheChangingModulesFor 0, "seconds" |
|
cacheDynamicVersionsFor 0, "seconds" |
|
} |
|
} |
|
} |
|
|
|
configure(allprojects - project(":framework-platform")) { |
|
configurations { |
|
dependencyManagement { |
|
canBeConsumed = false |
|
canBeResolved = false |
|
visible = false |
|
} |
|
matching { it.name.endsWith("Classpath") }.all { it.extendsFrom(dependencyManagement) } |
|
} |
|
dependencies { |
|
dependencyManagement(enforcedPlatform(dependencies.project(path: ":framework-platform"))) |
|
} |
|
} |
|
|
|
configure([rootProject] + javaProjects) { project -> |
|
apply plugin: "java" |
|
apply plugin: "java-test-fixtures" |
|
apply plugin: 'org.springframework.build.conventions' |
|
apply from: "${rootDir}/gradle/toolchains.gradle" |
|
apply from: "${rootDir}/gradle/ide.gradle" |
|
|
|
dependencies { |
|
testImplementation("org.junit.jupiter:junit-jupiter-api") |
|
testImplementation("org.junit.jupiter:junit-jupiter-params") |
|
testImplementation("org.junit.platform:junit-platform-suite-api") |
|
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. |
|
testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine") |
|
testRuntimeOnly("org.junit.platform:junit-platform-launcher") |
|
testRuntimeOnly("org.junit.platform:junit-platform-suite-engine") |
|
testRuntimeOnly("org.apache.logging.log4j:log4j-core") |
|
testRuntimeOnly("org.apache.logging.log4j:log4j-jul") |
|
testRuntimeOnly("org.apache.logging.log4j:log4j-slf4j2-impl") |
|
// JSR-305 only used for non-required meta-annotations |
|
compileOnly("com.google.code.findbugs:jsr305") |
|
testCompileOnly("com.google.code.findbugs:jsr305") |
|
} |
|
|
|
ext.javadocLinks = [ |
|
"https://docs.oracle.com/en/java/javase/17/docs/api/", |
|
"https://jakarta.ee/specifications/platform/9/apidocs/", |
|
"https://docs.oracle.com/cd/E13222_01/wls/docs90/javadocs/", // CommonJ and weblogic.* packages |
|
"https://www.ibm.com/docs/api/v1/content/SSEQTP_8.5.5/com.ibm.websphere.javadoc.doc/web/apidocs/", // com.ibm.* |
|
"https://docs.jboss.org/jbossas/javadoc/4.0.5/connector/", // org.jboss.resource.* |
|
"https://docs.jboss.org/hibernate/orm/5.6/javadocs/", |
|
"https://eclipse.dev/aspectj/doc/released/aspectj5rt-api", |
|
"https://www.quartz-scheduler.org/api/2.3.0/", |
|
"https://fasterxml.github.io/jackson-core/javadoc/2.14/", |
|
"https://fasterxml.github.io/jackson-databind/javadoc/2.14/", |
|
"https://fasterxml.github.io/jackson-dataformat-xml/javadoc/2.14/", |
|
"https://hc.apache.org/httpcomponents-client-5.2.x/current/httpclient5/apidocs/", |
|
"https://projectreactor.io/docs/test/release/api/", |
|
"https://junit.org/junit4/javadoc/4.13.2/", |
|
// TODO Uncomment link to JUnit 5 docs once we execute Gradle with Java 18+. |
|
// See https://github.com/spring-projects/spring-framework/issues/27497 |
|
// |
|
// "https://junit.org/junit5/docs/5.10.0/api/", |
|
"https://www.reactive-streams.org/reactive-streams-1.0.3-javadoc/", |
|
//"https://javadoc.io/static/io.rsocket/rsocket-core/1.1.1/", |
|
"https://r2dbc.io/spec/1.0.0.RELEASE/api/", |
|
// Previously there could be a split-package issue between JSR250 and JSR305 javax.annotation packages, |
|
// but since 6.0 JSR 250 annotations such as @Resource and @PostConstruct have been replaced by their |
|
// JakartaEE equivalents in the jakarta.annotation package. |
|
//"https://www.javadoc.io/doc/com.google.code.findbugs/jsr305/3.0.2/" |
|
] as String[] |
|
} |
|
|
|
configure(moduleProjects) { project -> |
|
apply from: "${rootDir}/gradle/spring-module.gradle" |
|
} |
|
|
|
configure(rootProject) { |
|
description = "Spring Framework" |
|
apply plugin: 'org.springframework.build.api-diff' |
|
}
|
|
|