Skip to content

Commit 12d3f14

Browse files
committed
Use bom plugin to configure spring-boot-parent
Closes gh-21439
1 parent 03b0a37 commit 12d3f14

File tree

2 files changed

+159
-35
lines changed

2 files changed

+159
-35
lines changed

buildSrc/src/main/java/org/springframework/boot/build/bom/BomPlugin.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -185,8 +185,10 @@ private void replaceVersionsWithVersionPropertyReferences(Node dependencyManagem
185185
for (Node dependency : findChildren(dependencies, "dependency")) {
186186
String groupId = findChild(dependency, "groupId").text();
187187
String artifactId = findChild(dependency, "artifactId").text();
188-
findChild(dependency, "version")
189-
.setValue("${" + this.bom.getArtifactVersionProperty(groupId, artifactId) + "}");
188+
String versionProperty = this.bom.getArtifactVersionProperty(groupId, artifactId);
189+
if (versionProperty != null) {
190+
findChild(dependency, "version").setValue("${" + versionProperty + "}");
191+
}
190192
}
191193
}
192194
}
Lines changed: 155 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,45 +1,167 @@
11
plugins {
2-
id "java-platform"
2+
id "org.springframework.boot.bom"
33
id "org.springframework.boot.conventions"
44
id "org.springframework.boot.deployed"
55
}
66

77
description = "Spring Boot Parent"
88

9-
javaPlatform {
10-
allowDependencies()
9+
bom {
10+
upgrade {
11+
policy = "same-minor-version"
12+
gitHub {
13+
issueLabels = ["type: task"]
14+
}
15+
}
16+
library("Android JSON", "0.0.20131108.vaadin1") {
17+
group("com.vaadin.external.google") {
18+
modules = [
19+
"android-json"
20+
]
21+
}
22+
}
23+
library("Commons Compress", "1.19") {
24+
group("org.apache.commons") {
25+
modules = [
26+
"commons-compress"
27+
]
28+
}
29+
}
30+
library("Commons FileUpload", "1.4") {
31+
group("commons-fileupload") {
32+
modules = [
33+
"commons-fileupload"
34+
]
35+
}
36+
}
37+
library("JLine", "2.11") {
38+
group("jline") {
39+
modules = [
40+
"jline"
41+
]
42+
}
43+
}
44+
library("JNA", "5.5.0") {
45+
group("net.java.dev.jna") {
46+
modules = [
47+
"jna-platform"
48+
]
49+
}
50+
}
51+
library("JOpt Simple", "5.0.4") {
52+
group("net.sf.jopt-simple") {
53+
modules = [
54+
"jopt-simple"
55+
]
56+
}
57+
}
58+
library("Maven", "3.6.3") {
59+
group("org.apache.maven") {
60+
modules = [
61+
"maven-plugin-api",
62+
"maven-resolver-provider",
63+
"maven-settings-builder"
64+
]
65+
}
66+
}
67+
library("Maven Common Artifact Filters", "3.1.0") {
68+
group("org.apache.maven.shared") {
69+
modules = [
70+
"maven-common-artifact-filters"
71+
]
72+
}
73+
}
74+
library("Maven Invoker", "3.0.1") {
75+
group("org.apache.maven.shared") {
76+
modules = [
77+
"maven-invoker"
78+
]
79+
}
80+
}
81+
library("Maven Plugin Tools", "3.6.0") {
82+
group("org.apache.maven.plugin-tools") {
83+
modules = [
84+
"maven-plugin-annotations"
85+
]
86+
}
87+
}
88+
library("Maven Resolver", "1.4.1") {
89+
group("org.apache.maven.resolver") {
90+
modules = [
91+
"maven-resolver-connector-basic",
92+
"maven-resolver-impl",
93+
"maven-resolver-transport-file",
94+
"maven-resolver-transport-http"
95+
]
96+
}
97+
}
98+
library("Maven Shade Plugin", "3.2.1") {
99+
group("org.apache.maven.plugins") {
100+
modules = [
101+
"maven-shade-plugin"
102+
]
103+
}
104+
}
105+
library("MockK", "1.9.3") {
106+
group("io.mockk") {
107+
modules = [
108+
"mockk"
109+
]
110+
}
111+
}
112+
library("Plexus Build API", "0.0.7") {
113+
group("org.sonatype.plexus") {
114+
modules = [
115+
"plexus-build-api"
116+
]
117+
}
118+
}
119+
library("Plexus Sec Dispatcher", "1.4") {
120+
group("org.sonatype.plexus") {
121+
modules = [
122+
"plexus-sec-dispatcher"
123+
]
124+
}
125+
}
126+
library("Sisu", "2.6.0") {
127+
group("org.sonatype.sisu") {
128+
modules = [
129+
"sisu-inject-plexus"
130+
]
131+
}
132+
}
133+
library("Spock Framework", "1.3-groovy-2.5") {
134+
group("org.spockframework") {
135+
modules = [
136+
"spock-core",
137+
"spock-spring"
138+
]
139+
}
140+
}
141+
library("TestNG", "6.14.3") {
142+
group("org.testng") {
143+
modules = [
144+
"testng"
145+
]
146+
}
147+
}
148+
library("Spring Asciidoctor Extensions", "0.4.3.RELEASE") {
149+
group("io.spring.asciidoctor") {
150+
modules = [
151+
"spring-asciidoctor-extensions-block-switch",
152+
"spring-asciidoctor-extensions-spring-boot"
153+
]
154+
}
155+
}
156+
library("Testcontainers", "1.14.2") {
157+
group("org.testcontainers") {
158+
imports = [
159+
"testcontainers-bom"
160+
]
161+
}
162+
}
11163
}
12164

13165
dependencies {
14166
api(enforcedPlatform(project(":spring-boot-project:spring-boot-dependencies")))
15-
api(enforcedPlatform("org.testcontainers:testcontainers-bom:1.14.2"))
16-
17-
constraints {
18-
api("com.vaadin.external.google:android-json:0.0.20131108.vaadin1")
19-
api("commons-fileupload:commons-fileupload:1.4")
20-
api("io.mockk:mockk:1.9.3")
21-
api("io.spring.asciidoctor:spring-asciidoctor-extensions-block-switch:0.4.3.RELEASE")
22-
api("io.spring.asciidoctor:spring-asciidoctor-extensions-spring-boot:0.4.3.RELEASE")
23-
api("jline:jline:2.11")
24-
api("net.java.dev.jna:jna-platform:5.5.0")
25-
api("net.sf.jopt-simple:jopt-simple:5.0.4")
26-
api("org.apache.commons:commons-compress:1.19")
27-
api("org.apache.maven:maven-plugin-api:3.6.3")
28-
api("org.apache.maven:maven-resolver-provider:3.6.3")
29-
api("org.apache.maven:maven-settings-builder:3.6.3")
30-
api("org.apache.maven.resolver:maven-resolver-connector-basic:1.4.1")
31-
api("org.apache.maven.resolver:maven-resolver-impl:1.4.1")
32-
api("org.apache.maven.resolver:maven-resolver-transport-file:1.4.1")
33-
api("org.apache.maven.resolver:maven-resolver-transport-http:1.4.1")
34-
api("org.apache.maven.plugin-tools:maven-plugin-annotations:3.6.0")
35-
api("org.apache.maven.plugins:maven-shade-plugin:3.2.1")
36-
api("org.apache.maven.shared:maven-common-artifact-filters:3.1.0")
37-
api("org.apache.maven.shared:maven-invoker:3.0.1")
38-
api("org.sonatype.plexus:plexus-build-api:0.0.7")
39-
api("org.sonatype.plexus:plexus-sec-dispatcher:1.4")
40-
api("org.sonatype.sisu:sisu-inject-plexus:2.6.0")
41-
api("org.spockframework:spock-core:1.3-groovy-2.5")
42-
api("org.spockframework:spock-spring:1.3-groovy-2.5")
43-
api("org.testng:testng:6.14.3")
44-
}
45167
}

0 commit comments

Comments
 (0)