mirror of
https://github.com/spring-projects/spring-security.git
synced 2026-01-21 05:46:44 +00:00
We should not use subprojects to perform configuration becaause it does not allow for lazy loading and it can cause ordering problems. In this case, the toolchain was not being used but instead it was using the JAVA_HOME. By splitting the configuration into a plugin and applying it to each project it fixes the toolchain configuration
106 lines
3.0 KiB
Groovy
106 lines
3.0 KiB
Groovy
import io.spring.gradle.IncludeRepoTask
|
|
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
|
|
import trang.RncToXsd
|
|
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
|
|
|
|
buildscript {
|
|
dependencies {
|
|
classpath libs.io.spring.javaformat.spring.javaformat.gradle.plugin
|
|
classpath libs.io.spring.nohttp.nohttp.gradle
|
|
classpath libs.io.freefair.gradle.aspectj.plugin
|
|
classpath libs.org.jetbrains.kotlin.kotlin.gradle.plugin
|
|
classpath libs.com.netflix.nebula.nebula.project.plugin
|
|
}
|
|
repositories {
|
|
maven { url='https://plugins.gradle.org/m2/' }
|
|
}
|
|
}
|
|
|
|
plugins {
|
|
alias(libs.plugins.org.gradle.wrapper.upgrade)
|
|
}
|
|
|
|
apply plugin: 'io.spring.nohttp'
|
|
apply plugin: 'locks'
|
|
apply plugin: 'io.spring.convention.root'
|
|
apply plugin: 'org.jetbrains.kotlin.jvm'
|
|
apply plugin: 'org.springframework.security.versions.verify-dependencies-versions'
|
|
apply plugin: 'org.springframework.security.check-expected-branch-version'
|
|
apply plugin: 'io.spring.security.release'
|
|
|
|
group = 'org.springframework.security'
|
|
description = 'Spring Security'
|
|
|
|
ext.snapshotBuild = version.contains("SNAPSHOT")
|
|
ext.releaseBuild = version.contains("SNAPSHOT")
|
|
ext.milestoneBuild = !(snapshotBuild || releaseBuild)
|
|
|
|
repositories {
|
|
mavenCentral()
|
|
maven { url = "https://repo.spring.io/milestone" }
|
|
}
|
|
|
|
springRelease {
|
|
weekOfMonth = 3
|
|
dayOfWeek = 1
|
|
referenceDocUrl = "https://docs.spring.io/spring-security/reference/{version}/index.html"
|
|
apiDocUrl = "https://docs.spring.io/spring-security/reference/{version}/api/java/index.html"
|
|
replaceSnapshotVersionInReferenceDocUrl = true
|
|
}
|
|
|
|
allprojects {
|
|
if (!['spring-security-bom', 'spring-security-docs'].contains(project.name)) {
|
|
apply plugin: 'io.spring.javaformat'
|
|
apply plugin: 'checkstyle'
|
|
|
|
pluginManager.withPlugin("io.spring.convention.checkstyle") {
|
|
dependencies {
|
|
checkstyle libs.io.spring.javaformat.spring.javaformat.checkstyle
|
|
}
|
|
checkstyle {
|
|
toolVersion = '8.34'
|
|
}
|
|
}
|
|
|
|
if (project.name.contains('sample')) {
|
|
tasks.whenTaskAdded { task ->
|
|
if (task.name.contains('format') || task.name.contains('checkFormat') || task.name.contains("checkstyle")) {
|
|
task.enabled = false
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
develocity {
|
|
buildScan {
|
|
termsOfUseUrl = 'https://gradle.com/help/legal-terms-of-use'
|
|
termsOfUseAgree = 'yes'
|
|
}
|
|
}
|
|
|
|
nohttp {
|
|
source.exclude "buildSrc/build/**", "javascript/.gradle/**", "javascript/package-lock.json", "javascript/node_modules/**", "javascript/build/**", "javascript/dist/**"
|
|
source.builtBy(project(':spring-security-config').tasks.withType(RncToXsd))
|
|
}
|
|
|
|
tasks.named('checkstyleNohttp') {
|
|
maxHeapSize = '1g'
|
|
}
|
|
|
|
tasks.register('cloneRepository', IncludeRepoTask) {
|
|
repository = project.getProperties().get("repositoryName")
|
|
ref = project.getProperties().get("ref")
|
|
var defaultDirectory = project.file("build/tmp/clone")
|
|
outputDirectory = project.hasProperty("cloneOutputDirectory") ? project.file("$cloneOutputDirectory") : defaultDirectory
|
|
}
|
|
|
|
wrapperUpgrade {
|
|
gradle {
|
|
'spring-security' {
|
|
repo = 'spring-projects/spring-security'
|
|
baseBranch = '6.3.x' // runs only on 6.3.x and the update is merged forward to main
|
|
}
|
|
}
|
|
}
|