Skip to content

Commit e29ea47

Browse files
Use Gradle's Version Catalog
Issue gh-13868
1 parent 664ee9a commit e29ea47

File tree

10 files changed

+233
-100
lines changed

10 files changed

+233
-100
lines changed

.github/workflows/continuous-integration-workflow.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ jobs:
8383
export GRADLE_ENTERPRISE_CACHE_USERNAME="$GRADLE_ENTERPRISE_CACHE_USER"
8484
export GRADLE_ENTERPRISE_CACHE_PASSWORD="$GRADLE_ENTERPRISE_CACHE_PASSWORD"
8585
export GRADLE_ENTERPRISE_ACCESS_KEY="$GRADLE_ENTERPRISE_SECRET_ACCESS_KEY"
86-
./gradlew test --refresh-dependencies -PartifactoryUsername="$ARTIFACTORY_USERNAME" -PartifactoryPassword="$ARTIFACTORY_PASSWORD" -PforceMavenRepositories=snapshot -PspringVersion='5.+' -PreactorVersion='20+' -PspringDataVersion='Neumann-BUILD-SNAPSHOT' -PrsocketVersion=1.1.0-SNAPSHOT -PspringBootVersion=2.4.0-SNAPSHOT -PlocksDisabled --stacktrace
86+
./gradlew test --refresh-dependencies -PartifactoryUsername="$ARTIFACTORY_USERNAME" -PartifactoryPassword="$ARTIFACTORY_PASSWORD" -PforceMavenRepositories=snapshot -PisOverrideVersionCatalog -PspringVersion='5.+' -PreactorVersion='20+' -PspringDataVersion='Neumann-BUILD-SNAPSHOT' -PrsocketVersion=1.1.0-SNAPSHOT -PspringBootVersion=2.4.0-SNAPSHOT -PlocksDisabled --stacktrace
8787
check_samples:
8888
name: Check Samples project
8989
needs: [prerequisites]

build.gradle

+6-6
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@ import trang.RncToXsd
33

44
buildscript {
55
dependencies {
6-
classpath "io.spring.javaformat:spring-javaformat-gradle-plugin:$springJavaformatVersion"
7-
classpath 'io.spring.nohttp:nohttp-gradle:0.0.11'
8-
classpath "io.freefair.gradle:aspectj-plugin:6.5.1"
9-
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion"
10-
classpath "com.netflix.nebula:nebula-project-plugin:8.2.0"
6+
classpath libs.io.spring.javaformat.spring.javaformat.gradle.plugin
7+
classpath libs.io.spring.nohttp.nohttp.gradle
8+
classpath libs.io.freefair.gradle.aspectj.plugin
9+
classpath libs.org.jetbrains.kotlin.kotlin.gradle.plugin
10+
classpath libs.com.netflix.nebula.nebula.project.plugin
1111
}
1212
repositories {
1313
gradlePluginPortal()
@@ -157,7 +157,7 @@ allprojects {
157157
pluginManager.withPlugin("io.spring.convention.checkstyle", { plugin ->
158158
configure(plugin) {
159159
dependencies {
160-
checkstyle "io.spring.javaformat:spring-javaformat-checkstyle:$springJavaformatVersion"
160+
checkstyle libs.io.spring.javaformat.spring.javaformat.checkstyle
161161
}
162162
checkstyle {
163163
toolVersion = '8.34'

buildSrc/build.gradle

+25-22
Original file line numberDiff line numberDiff line change
@@ -79,34 +79,37 @@ configurations {
7979
}
8080

8181
dependencies {
82-
implementation 'com.google.code.gson:gson:2.8.6'
83-
implementation 'com.thaiopensource:trang:20091111'
84-
implementation 'net.sourceforge.saxon:saxon:9.1.0.8'
85-
implementation 'org.yaml:snakeyaml:1.30'
82+
implementation platform(libs.io.projectreactor.reactor.bom)
83+
84+
implementation libs.com.google.code.gson.gson
85+
implementation libs.com.thaiopensource.trag
86+
implementation libs.net.sourceforge.saxon.saxon
87+
implementation libs.org.yaml.snakeyaml
8688
implementation localGroovy()
8789

88-
implementation 'io.github.gradle-nexus:publish-plugin:1.1.0'
89-
implementation 'io.projectreactor:reactor-core:3.5.0'
90-
implementation 'org.gretty:gretty:3.0.9'
91-
implementation 'com.apollographql.apollo:apollo-runtime:2.4.5'
92-
implementation 'com.github.ben-manes:gradle-versions-plugin:0.38.0'
93-
implementation 'com.github.spullara.mustache.java:compiler:0.9.4'
94-
implementation 'io.spring.javaformat:spring-javaformat-gradle-plugin:0.0.15'
95-
implementation 'io.spring.nohttp:nohttp-gradle:0.0.11'
96-
implementation 'net.sourceforge.htmlunit:htmlunit:2.37.0'
97-
implementation 'org.hidetake:gradle-ssh-plugin:2.10.1'
98-
implementation 'org.jfrog.buildinfo:build-info-extractor-gradle:4.29.0'
99-
implementation 'org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.7.1'
90+
implementation libs.io.github.gradle.nexus.publish.plugin
91+
implementation 'io.projectreactor:reactor-core'
92+
implementation libs.org.gretty.gretty
93+
implementation libs.com.apollographql.apollo.apollo.runtime
94+
implementation libs.com.github.ben.manes.gradle.versions.plugin
95+
implementation libs.com.github.spullara.mustache.java.compiler
96+
implementation libs.io.spring.javaformat.spring.javaformat.gradle.plugin
97+
implementation libs.io.spring.nohttp.nohttp.gradle
98+
implementation libs.net.sourceforge.htmlunit
99+
implementation libs.org.hidetake.gradle.ssh.plugin
100+
implementation libs.org.jfrog.buildinfo.build.info.extractor.gradle
101+
implementation libs.org.sonarsource.scanner.gradle.sonarqube.gradle.plugin
100102

101-
testImplementation platform('org.junit:junit-bom:5.9.3')
103+
testImplementation platform(libs.org.junit.junit.bom)
104+
testImplementation platform(libs.org.mockito.mockito.bom)
102105
testImplementation "org.junit.jupiter:junit-jupiter-api"
103106
testImplementation "org.junit.jupiter:junit-jupiter-params"
104107
testImplementation "org.junit.jupiter:junit-jupiter-engine"
105-
testImplementation 'org.apache.commons:commons-io:1.3.2'
106-
testImplementation 'org.assertj:assertj-core:3.13.2'
107-
testImplementation 'org.mockito:mockito-core:3.12.4'
108-
testImplementation 'org.mockito:mockito-junit-jupiter:3.12.4'
109-
testImplementation "com.squareup.okhttp3:mockwebserver:3.14.9"
108+
testImplementation libs.org.apache.commons.commons.io
109+
testImplementation libs.org.assertj.assertj.core
110+
testImplementation 'org.mockito:mockito-core'
111+
testImplementation 'org.mockito:mockito-junit-jupiter'
112+
testImplementation libs.com.squareup.okhttp3.mockwebserver
110113
}
111114

112115

buildSrc/settings.gradle

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
dependencyResolutionManagement {
2+
versionCatalogs {
3+
libs {
4+
from(files("../gradle/libs.versions.toml"))
5+
}
6+
}
7+
}

buildSrc/src/main/java/org/springframework/gradle/sagan/SaganCreateReleaseTask.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,13 @@
1919
import java.util.regex.Matcher;
2020
import java.util.regex.Pattern;
2121

22-
import org.eclipse.core.runtime.Assert;
2322
import org.gradle.api.DefaultTask;
2423
import org.gradle.api.tasks.Input;
2524
import org.gradle.api.tasks.TaskAction;
2625

2726
import org.springframework.gradle.github.user.GitHubUserApi;
2827
import org.springframework.gradle.github.user.User;
28+
import org.springframework.util.Assert;
2929

3030
public class SaganCreateReleaseTask extends DefaultTask {
3131

dependencies/spring-security-dependencies.gradle

+71-62
Original file line numberDiff line numberDiff line change
@@ -7,69 +7,78 @@ javaPlatform {
77
}
88

99
dependencies {
10-
api platform("org.springframework:spring-framework-bom:$springFrameworkVersion")
11-
api platform("io.projectreactor:reactor-bom:2020.0.35")
12-
api platform("io.rsocket:rsocket-bom:1.1.4")
13-
api platform("org.junit:junit-bom:5.9.3")
14-
api platform("org.mockito:mockito-bom:4.8.1")
15-
api platform("org.springframework.data:spring-data-bom:2021.2.15")
16-
api platform("org.jetbrains.kotlin:kotlin-bom:$kotlinVersion")
17-
api platform("org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.4")
18-
api platform("com.fasterxml.jackson:jackson-bom:2.13.5")
10+
if (project.hasProperty("isOverrideVersionCatalog")) {
11+
def springFrameworkVersion = project.property("springFrameworkVersion")
12+
def reactorVersion = project.property("reactorVersion")
13+
def springDataVersion = project.property("springDataVersion")
14+
api platform("org.springframework:spring-framework-bom:$springFrameworkVersion")
15+
api platform("io.projectreactor:reactor-bom:$reactorVersion")
16+
api platform("org.springframework.data:spring-data-bom:$springDataVersion")
17+
} else {
18+
api platform(libs.org.springframework.spring.framework.bom)
19+
api platform(libs.io.projectreactor.reactor.bom)
20+
api platform(libs.org.springframework.data.spring.data.bom)
21+
}
22+
api platform(libs.io.rsocket.rsocket.bom)
23+
api platform(libs.org.junit.junit.bom)
24+
api platform(libs.org.mockito.mockito.bom)
25+
api platform(libs.org.jetbrains.kotlin.kotlin.bom)
26+
api platform(libs.org.jetbrains.kotlinx.kotlinx.coroutines.bom)
27+
api platform(libs.com.fasterxml.jackson.jackson.bom)
1928
constraints {
20-
api "ch.qos.logback:logback-classic:1.2.12"
21-
api "com.google.inject:guice:3.0"
22-
api "com.nimbusds:nimbus-jose-jwt:9.24.4"
23-
api "com.nimbusds:oauth2-oidc-sdk:9.43.3"
24-
api "com.squareup.okhttp3:mockwebserver:3.14.9"
25-
api "com.squareup.okhttp3:okhttp:3.14.9"
26-
api "com.unboundid:unboundid-ldapsdk:4.0.14"
27-
api "commons-collections:commons-collections:3.2.2"
28-
api "io.mockk:mockk:1.13.3"
29-
api "io.projectreactor.tools:blockhound:1.0.8.RELEASE"
30-
api "jakarta.inject:jakarta.inject-api:1.0.5"
31-
api "jakarta.annotation:jakarta.annotation-api:1.3.5"
32-
api "jakarta.servlet.jsp.jstl:jakarta.servlet.jsp.jstl-api:1.2.7"
33-
api "jakarta.servlet.jsp:jakarta.servlet.jsp-api:2.3.6"
34-
api "jakarta.servlet:jakarta.servlet-api:4.0.4"
35-
api "jakarta.transaction:jakarta.transaction-api:1.3.3"
36-
api "jakarta.xml.bind:jakarta.xml.bind-api:2.3.3"
37-
api "ldapsdk:ldapsdk:4.1"
38-
api "net.sf.ehcache:ehcache:2.10.9.2"
39-
api "net.sourceforge.htmlunit:htmlunit:2.65.1"
40-
api "net.sourceforge.nekohtml:nekohtml:1.9.22"
41-
api "org.apache.directory.server:apacheds-core-entry:1.5.5"
42-
api "org.apache.directory.server:apacheds-core:1.5.5"
43-
api "org.apache.directory.server:apacheds-protocol-ldap:1.5.5"
44-
api "org.apache.directory.server:apacheds-protocol-shared:1.5.5"
45-
api "org.apache.directory.server:apacheds-server-jndi:1.5.5"
46-
api "org.apache.directory.shared:shared-ldap:0.9.15"
47-
api "org.apache.httpcomponents:httpclient:4.5.14"
48-
api "org.aspectj:aspectjrt:$aspectjVersion"
49-
api "org.aspectj:aspectjweaver:$aspectjVersion"
50-
api "org.assertj:assertj-core:3.23.1"
51-
api "org.bouncycastle:bcpkix-jdk15on:1.70"
52-
api "org.bouncycastle:bcprov-jdk15on:1.70"
53-
api "org.eclipse.jetty:jetty-server:9.4.51.v20230217"
54-
api "org.eclipse.jetty:jetty-servlet:9.4.51.v20230217"
55-
api "org.eclipse.persistence:javax.persistence:2.2.1"
56-
api "org.hamcrest:hamcrest:2.2"
57-
api "org.hibernate:hibernate-entitymanager:5.6.15.Final"
58-
api "org.hsqldb:hsqldb:2.7.2"
59-
api "org.jasig.cas.client:cas-client-core:3.6.4"
60-
api "org.openid4java:openid4java-nodeps:0.9.6"
61-
api "org.opensaml:opensaml-core:$openSamlVersion"
62-
api "org.opensaml:opensaml-saml-api:$openSamlVersion"
63-
api "org.opensaml:opensaml-saml-impl:$openSamlVersion"
64-
api "org.python:jython:2.5.3"
65-
api "org.seleniumhq.selenium:htmlunit-driver:2.65.0"
66-
api "org.seleniumhq.selenium:selenium-java:3.141.59"
67-
api "org.seleniumhq.selenium:selenium-support:3.141.59"
68-
api "org.skyscreamer:jsonassert:1.5.1"
69-
api "org.slf4j:log4j-over-slf4j:1.7.36"
70-
api "org.slf4j:slf4j-api:1.7.36"
71-
api "org.springframework.ldap:spring-ldap-core:2.4.1"
72-
api "org.synchronoss.cloud:nio-multipart-parser:1.1.0"
29+
api libs.ch.qos.logback.logback.classic
30+
api libs.com.google.inject.guice
31+
api libs.com.nimbusds.nimbus.jose.jwt
32+
api libs.com.nimbusds.oauth2.oidc.sdk
33+
api libs.com.squareup.okhttp3.mockwebserver
34+
api libs.com.squareup.okhttp3.okhttp
35+
api libs.com.unboundid.unboundid.ldapsdk
36+
api libs.commons.collections
37+
api libs.io.mockk
38+
api libs.io.projectreactor.tools.blockhound
39+
api libs.jakarta.inject.jakarta.inject.api
40+
api libs.jakarta.annotation.jakarta.annotation.api
41+
api libs.jakarta.servlet.jsp.jstl.jakarta.servlet.jsp.jstl.api
42+
api libs.jakarta.servlet.jsp.jakarta.servlet.jsp.api
43+
api libs.jakarta.servlet.jakarta.servlet.api
44+
api libs.jakarta.transaction.jakarta.transaction.api
45+
api libs.jakarta.xml.bind.jakarta.xml.bind.api
46+
api libs.ldapsdk
47+
api libs.net.sf.ehcache
48+
api libs.net.sourceforge.htmlunit
49+
api libs.net.sourceforge.nekohtml
50+
api libs.org.apache.directory.server.apacheds.entry
51+
api libs.org.apache.directory.server.apacheds.core
52+
api libs.org.apache.directory.server.apacheds.protocol.ldap
53+
api libs.org.apache.directory.server.apacheds.protocol.shared
54+
api libs.org.apache.directory.server.apacheds.server.jndi
55+
api libs.org.apache.directory.shared.shared.ldap
56+
api libs.org.apache.httpcomponents.httpclient
57+
api libs.org.aspectj.aspectjrt
58+
api libs.org.aspectj.aspectjweaver
59+
api libs.org.assertj.assertj.core
60+
api libs.org.bouncycastle.bcpkix.jdk15on
61+
api libs.org.bouncycastle.bcprov.jdk15on
62+
api libs.org.eclipse.jetty.jetty.server
63+
api libs.org.eclipse.jetty.jetty.servlet
64+
api libs.org.eclipse.persistence.javax.persistence
65+
api libs.org.hamcrest
66+
api libs.org.hibernate.hibernate.entitymanager
67+
api libs.org.hsqldb
68+
api libs.org.jasig.cas.client.cas.client.core
69+
api libs.org.openid4java.openid4java.nodeps
70+
api libs.org.opensaml.opensaml.core
71+
api libs.org.opensaml.opensaml.saml.api
72+
api libs.org.opensaml.opensaml.saml.impl
73+
api libs.org.python.jython
74+
api libs.org.seleniumhq.selenium.htmlunit.driver
75+
api libs.org.seleniumhq.selenium.selenium.java
76+
api libs.org.seleniumhq.selenium.selenium.support
77+
api libs.org.skyscreamer.jsonassert
78+
api libs.org.slf4j.log4j.over.slf4j
79+
api libs.org.slf4j.slf4j.api
80+
api libs.org.springframework.ldap.spring.ldap.core
81+
api libs.org.synchronoss.cloud.nio.multipart.parser
7382
}
7483
}
7584

docs/spring-security-docs.gradle

+7
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,13 @@ dependencies {
3131
}
3232

3333
def generateAttributes() {
34+
def springFrameworkVersion = libs.org.springframework.spring.framework.bom.get().versionConstraint.displayName
35+
springFrameworkVersion = springFrameworkVersion.contains("-")
36+
? springFrameworkVersion.substring(0, springFrameworkVersion.indexOf("-"))
37+
: springFrameworkVersion
38+
def springBootVersion = project.property("springBootVersion")
39+
def samplesBranch = project.property("samplesBranch")
40+
3441
def docsTag = snapshotBuild ? 'current' : project.version
3542
def ghTag = snapshotBuild ? 'main' : project.version
3643
def ghUrl = "https://github.com/spring-projects/spring-security/tree/$ghTag"

gradle.properties

-5
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,5 @@
1-
aspectjVersion=1.9.20
2-
springJavaformatVersion=0.0.39
31
springBootVersion=2.7.12
4-
springFrameworkVersion=5.3.29
5-
openSamlVersion=3.4.6
62
version=5.8.8-SNAPSHOT
7-
kotlinVersion=1.7.22
83
samplesBranch=5.8.x
94
org.gradle.jvmargs=-Xmx3g -XX:MaxPermSize=2048m -XX:+HeapDumpOnOutOfMemoryError
105
org.gradle.parallel=true

0 commit comments

Comments
 (0)