Skip to content

Commit ea8af5c

Browse files
sruffattiSean Ruffattitimtebeekgithub-actions[bot]
authored
Migrate properties as part of upgrade to Spring Boot 3.4 (#765)
* spring boot 3.4 and 3.5 properties * Spring Boot 3.4 and 3.5 recipes * Update src/main/resources/META-INF/rewrite/spring-boot-34-properties.yml * Spring Boot 3.5 and Spring Cloud 2025 * Spring Boot 3.5 and Spring Cloud 2025 * removed a temporary unit test * removed a temporary unit test * Spring boot 3.4 properties recipe and removed Spring boot 3.5 recipes * removed spring-cloud-2025.yml * removed spring boot 35 * Add a unit test for the various property migrations * Update tests to use actually migrated properties * Pass the tests * Remove unused imports Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Move the `management.endpoints.enabled-by-default` migrations * Add missing import --------- Co-authored-by: Sean Ruffatti <[email protected]> Co-authored-by: Tim te Beek <[email protected]> Co-authored-by: Tim te Beek <[email protected]> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
1 parent 3dd6851 commit ea8af5c

File tree

4 files changed

+556
-0
lines changed

4 files changed

+556
-0
lines changed

build.gradle.kts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -271,6 +271,10 @@ dependencies {
271271
"testWithSpringBoot_3_2RuntimeOnly"("org.springframework.boot:spring-boot-starter-test:3.2.+")
272272

273273
"testWithSpringBoot_3_4RuntimeOnly"("org.springframework.boot:spring-boot:3.4.+")
274+
"testWithSpringBoot_3_4RuntimeOnly"("org.springframework.boot:spring-boot-starter-actuator:3.4.+") {
275+
exclude(group = "com.fasterxml.jackson.core", module = "*")
276+
exclude(group = "com.fasterxml.jackson.datatype", module = "*")
277+
}
274278
"testWithSpringBoot_3_4RuntimeOnly"("org.springframework:spring-context:6.2.+")
275279
"testWithSpringBoot_3_4RuntimeOnly"("org.springframework:spring-web:6.2.+")
276280
"testWithSpringBoot_3_4RuntimeOnly"("org.springframework.data:spring-data-jpa:3.4.7")
Lines changed: 344 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,344 @@
1+
#
2+
# Copyright 2025 the original author or authors.
3+
# <p>
4+
# Licensed under the Moderne Source Available License (the "License");
5+
# you may not use this file except in compliance with the License.
6+
# You may obtain a copy of the License at
7+
# <p>
8+
# https://docs.moderne.io/licensing/moderne-source-available-license
9+
# <p>
10+
# Unless required by applicable law or agreed to in writing, software
11+
# distributed under the License is distributed on an "AS IS" BASIS,
12+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
# See the License for the specific language governing permissions and
14+
# limitations under the License.
15+
#
16+
# This file is automatically generated by the GeneratePropertiesMigratorConfiguration class.
17+
# Do not edit this file manually. Update the Spring Boot property metadata upstream instead.
18+
---
19+
type: specs.openrewrite.org/v1beta/recipe
20+
name: org.openrewrite.java.spring.boot3.SpringBootProperties_3_4
21+
displayName: Migrate Spring Boot properties to 3.4
22+
description: Migrate properties found in `application.properties` and `application.yml`.
23+
tags:
24+
- spring
25+
- boot
26+
recipeList:
27+
- org.openrewrite.java.spring.boot3.SpringBootProperties_3_4_EnabledToAccess
28+
- org.openrewrite.java.spring.ChangeSpringPropertyKey:
29+
oldPropertyKey: spring.gson.lenient
30+
newPropertyKey: spring.gson.strictness
31+
- org.openrewrite.java.spring.ChangeSpringPropertyKey:
32+
oldPropertyKey: spring.kafka.retry.topic.delay
33+
newPropertyKey: spring.kafka.retry.topic.backoff.delay
34+
- org.openrewrite.java.spring.ChangeSpringPropertyKey:
35+
oldPropertyKey: spring.kafka.retry.topic.max-delay
36+
newPropertyKey: spring.kafka.retry.topic.backoff.maxDelay
37+
- org.openrewrite.java.spring.ChangeSpringPropertyKey:
38+
oldPropertyKey: spring.kafka.retry.topic.multiplier
39+
newPropertyKey: spring.kafka.retry.topic.backoff.multiplier
40+
- org.openrewrite.java.spring.ChangeSpringPropertyKey:
41+
oldPropertyKey: spring.kafka.retry.topic.random-back-off
42+
newPropertyKey: spring.kafka.retry.topic.backoff.random
43+
44+
- org.openrewrite.java.spring.CommentOutSpringPropertyKey:
45+
propertyKey: spring.datasource.oracleucp.connection-wait-timeout
46+
comment: "This property is deprecated and will be removed in future Spring Boot versions"
47+
- org.openrewrite.java.spring.CommentOutSpringPropertyKey:
48+
propertyKey: spring.flyway.clean-on-validation-error
49+
comment: "This property is deprecated: Deprecated in Flyway 10.18"
50+
---
51+
type: specs.openrewrite.org/v1beta/recipe
52+
name: org.openrewrite.java.spring.boot3.SpringBootProperties_3_4_EnabledToAccess
53+
displayName: Migrate Enabled to Access Spring Boot Properties
54+
description: Migrate properties found in `application.properties` and `application.yml`, specifically converting 'enabled' to 'access'
55+
tags:
56+
- spring
57+
- boot
58+
recipeList:
59+
- org.openrewrite.java.spring.ChangeSpringPropertyKey:
60+
oldPropertyKey: management.endpoints.enabled-by-default
61+
newPropertyKey: management.endpoints.access.default
62+
- org.openrewrite.java.spring.ChangeSpringPropertyValue:
63+
propertyKey: management.endpoints.access.default
64+
newValue: read-only
65+
oldValue: true
66+
- org.openrewrite.java.spring.ChangeSpringPropertyValue:
67+
propertyKey: management.endpoints.access.default
68+
newValue: none
69+
oldValue: false
70+
- org.openrewrite.java.spring.ChangeSpringPropertyKey:
71+
oldPropertyKey: management.endpoint.auditevents.enabled
72+
newPropertyKey: management.endpoint.auditevents.access
73+
- org.openrewrite.java.spring.ChangeSpringPropertyValue:
74+
propertyKey: management.endpoint.auditevents.access
75+
newValue: read-only
76+
oldValue: true
77+
- org.openrewrite.java.spring.ChangeSpringPropertyValue:
78+
propertyKey: management.endpoint.auditevents.access
79+
newValue: none
80+
oldValue: false
81+
- org.openrewrite.java.spring.ChangeSpringPropertyKey:
82+
oldPropertyKey: management.endpoint.beans.enabled
83+
newPropertyKey: management.endpoint.beans.access
84+
- org.openrewrite.java.spring.ChangeSpringPropertyValue:
85+
propertyKey: management.endpoint.beans.access
86+
newValue: read-only
87+
oldValue: true
88+
- org.openrewrite.java.spring.ChangeSpringPropertyValue:
89+
propertyKey: management.endpoint.beans.access
90+
newValue: none
91+
oldValue: false
92+
- org.openrewrite.java.spring.ChangeSpringPropertyKey:
93+
oldPropertyKey: management.endpoint.caches.enabled
94+
newPropertyKey: management.endpoint.caches.access
95+
- org.openrewrite.java.spring.ChangeSpringPropertyValue:
96+
propertyKey: management.endpoint.caches.access
97+
newValue: read-only
98+
oldValue: true
99+
- org.openrewrite.java.spring.ChangeSpringPropertyValue:
100+
propertyKey: management.endpoint.caches.access
101+
newValue: none
102+
oldValue: false
103+
- org.openrewrite.java.spring.ChangeSpringPropertyKey:
104+
oldPropertyKey: management.endpoint.conditions.enabled
105+
newPropertyKey: management.endpoint.conditions.access
106+
- org.openrewrite.java.spring.ChangeSpringPropertyValue:
107+
propertyKey: management.endpoint.conditions.access
108+
newValue: read-only
109+
oldValue: true
110+
- org.openrewrite.java.spring.ChangeSpringPropertyValue:
111+
propertyKey: management.endpoint.conditions.access
112+
newValue: none
113+
oldValue: false
114+
- org.openrewrite.java.spring.ChangeSpringPropertyKey:
115+
oldPropertyKey: management.endpoint.configprops.enabled
116+
newPropertyKey: management.endpoint.configprops.access
117+
- org.openrewrite.java.spring.ChangeSpringPropertyValue:
118+
propertyKey: management.endpoint.configprops.access
119+
newValue: read-only
120+
oldValue: true
121+
- org.openrewrite.java.spring.ChangeSpringPropertyValue:
122+
propertyKey: management.endpoint.configprops.access
123+
newValue: none
124+
oldValue: false
125+
- org.openrewrite.java.spring.ChangeSpringPropertyKey:
126+
oldPropertyKey: management.endpoint.env.enabled
127+
newPropertyKey: management.endpoint.env.access
128+
- org.openrewrite.java.spring.ChangeSpringPropertyValue:
129+
propertyKey: management.endpoint.env.access
130+
newValue: read-only
131+
oldValue: true
132+
- org.openrewrite.java.spring.ChangeSpringPropertyValue:
133+
propertyKey: management.endpoint.env.access
134+
newValue: none
135+
oldValue: false
136+
- org.openrewrite.java.spring.ChangeSpringPropertyKey:
137+
oldPropertyKey: management.endpoint.flyway.enabled
138+
newPropertyKey: management.endpoint.flyway.access
139+
- org.openrewrite.java.spring.ChangeSpringPropertyValue:
140+
propertyKey: management.endpoint.flyway.access
141+
newValue: read-only
142+
oldValue: true
143+
- org.openrewrite.java.spring.ChangeSpringPropertyValue:
144+
propertyKey: management.endpoint.flyway.access
145+
newValue: none
146+
oldValue: false
147+
- org.openrewrite.java.spring.ChangeSpringPropertyKey:
148+
oldPropertyKey: management.endpoint.health.enabled
149+
newPropertyKey: management.endpoint.health.access
150+
- org.openrewrite.java.spring.ChangeSpringPropertyValue:
151+
propertyKey: management.endpoint.health.access
152+
newValue: read-only
153+
oldValue: true
154+
- org.openrewrite.java.spring.ChangeSpringPropertyValue:
155+
propertyKey: management.endpoint.health.access
156+
newValue: none
157+
oldValue: false
158+
- org.openrewrite.java.spring.ChangeSpringPropertyKey:
159+
oldPropertyKey: management.endpoint.heapdump.enabled
160+
newPropertyKey: management.endpoint.heapdump.access
161+
- org.openrewrite.java.spring.ChangeSpringPropertyValue:
162+
propertyKey: management.endpoint.heapdump.access
163+
newValue: read-only
164+
oldValue: true
165+
- org.openrewrite.java.spring.ChangeSpringPropertyValue:
166+
propertyKey: management.endpoint.heapdump.access
167+
newValue: none
168+
oldValue: false
169+
- org.openrewrite.java.spring.ChangeSpringPropertyKey:
170+
oldPropertyKey: management.endpoint.httpexchanges.enabled
171+
newPropertyKey: management.endpoint.httpexchanges.access
172+
- org.openrewrite.java.spring.ChangeSpringPropertyValue:
173+
propertyKey: management.endpoint.httpexchanges.access
174+
newValue: read-only
175+
oldValue: true
176+
- org.openrewrite.java.spring.ChangeSpringPropertyValue:
177+
propertyKey: management.endpoint.httpexchanges.access
178+
newValue: none
179+
oldValue: false
180+
- org.openrewrite.java.spring.ChangeSpringPropertyKey:
181+
oldPropertyKey: management.endpoint.info.enabled
182+
newPropertyKey: management.endpoint.info.access
183+
- org.openrewrite.java.spring.ChangeSpringPropertyValue:
184+
propertyKey: management.endpoint.info.access
185+
newValue: read-only
186+
oldValue: true
187+
- org.openrewrite.java.spring.ChangeSpringPropertyValue:
188+
propertyKey: management.endpoint.info.access
189+
newValue: none
190+
oldValue: false
191+
- org.openrewrite.java.spring.ChangeSpringPropertyKey:
192+
oldPropertyKey: management.endpoint.integrationgraph.enabled
193+
newPropertyKey: management.endpoint.integrationgraph.access
194+
- org.openrewrite.java.spring.ChangeSpringPropertyValue:
195+
propertyKey: management.endpoint.integrationgraph.access
196+
newValue: read-only
197+
oldValue: true
198+
- org.openrewrite.java.spring.ChangeSpringPropertyValue:
199+
propertyKey: management.endpoint.integrationgraph.access
200+
newValue: none
201+
oldValue: false
202+
- org.openrewrite.java.spring.ChangeSpringPropertyKey:
203+
oldPropertyKey: management.endpoint.liquibase.enabled
204+
newPropertyKey: management.endpoint.liquibase.access
205+
- org.openrewrite.java.spring.ChangeSpringPropertyValue:
206+
propertyKey: management.endpoint.liquibase.access
207+
newValue: read-only
208+
oldValue: true
209+
- org.openrewrite.java.spring.ChangeSpringPropertyValue:
210+
propertyKey: management.endpoint.liquibase.access
211+
newValue: none
212+
oldValue: false
213+
- org.openrewrite.java.spring.ChangeSpringPropertyKey:
214+
oldPropertyKey: management.endpoint.logfile.enabled
215+
newPropertyKey: management.endpoint.logfile.access
216+
- org.openrewrite.java.spring.ChangeSpringPropertyValue:
217+
propertyKey: management.endpoint.logfile.access
218+
newValue: read-only
219+
oldValue: true
220+
- org.openrewrite.java.spring.ChangeSpringPropertyValue:
221+
propertyKey: management.endpoint.logfile.access
222+
newValue: none
223+
oldValue: false
224+
- org.openrewrite.java.spring.ChangeSpringPropertyKey:
225+
oldPropertyKey: management.endpoint.loggers.enabled
226+
newPropertyKey: management.endpoint.loggers.access
227+
- org.openrewrite.java.spring.ChangeSpringPropertyValue:
228+
propertyKey: management.endpoint.loggers.access
229+
newValue: read-only
230+
oldValue: true
231+
- org.openrewrite.java.spring.ChangeSpringPropertyValue:
232+
propertyKey: management.endpoint.loggers.access
233+
newValue: none
234+
oldValue: false
235+
- org.openrewrite.java.spring.ChangeSpringPropertyKey:
236+
oldPropertyKey: management.endpoint.mappings.enabled
237+
newPropertyKey: management.endpoint.mappings.access
238+
- org.openrewrite.java.spring.ChangeSpringPropertyValue:
239+
propertyKey: management.endpoint.mappings.access
240+
newValue: read-only
241+
oldValue: true
242+
- org.openrewrite.java.spring.ChangeSpringPropertyValue:
243+
propertyKey: management.endpoint.mappings.access
244+
newValue: none
245+
oldValue: false
246+
- org.openrewrite.java.spring.ChangeSpringPropertyKey:
247+
oldPropertyKey: management.endpoint.metrics.enabled
248+
newPropertyKey: management.endpoint.metrics.access
249+
- org.openrewrite.java.spring.ChangeSpringPropertyValue:
250+
propertyKey: management.endpoint.metrics.access
251+
newValue: read-only
252+
oldValue: true
253+
- org.openrewrite.java.spring.ChangeSpringPropertyValue:
254+
propertyKey: management.endpoint.metrics.access
255+
newValue: none
256+
oldValue: false
257+
- org.openrewrite.java.spring.ChangeSpringPropertyKey:
258+
oldPropertyKey: management.endpoint.prometheus.enabled
259+
newPropertyKey: management.endpoint.prometheus.access
260+
- org.openrewrite.java.spring.ChangeSpringPropertyValue:
261+
propertyKey: management.endpoint.prometheus.access
262+
newValue: read-only
263+
oldValue: true
264+
- org.openrewrite.java.spring.ChangeSpringPropertyValue:
265+
propertyKey: management.endpoint.prometheus.access
266+
newValue: none
267+
oldValue: false
268+
- org.openrewrite.java.spring.ChangeSpringPropertyKey:
269+
oldPropertyKey: management.endpoint.quartz.enabled
270+
newPropertyKey: management.endpoint.quartz.access
271+
- org.openrewrite.java.spring.ChangeSpringPropertyValue:
272+
propertyKey: management.endpoint.quartz.access
273+
newValue: read-only
274+
oldValue: true
275+
- org.openrewrite.java.spring.ChangeSpringPropertyValue:
276+
propertyKey: management.endpoint.quartz.access
277+
newValue: none
278+
oldValue: false
279+
- org.openrewrite.java.spring.ChangeSpringPropertyKey:
280+
oldPropertyKey: management.endpoint.sbom.enabled
281+
newPropertyKey: management.endpoint.sbom.access
282+
- org.openrewrite.java.spring.ChangeSpringPropertyValue:
283+
propertyKey: management.endpoint.sbom.access
284+
newValue: read-only
285+
oldValue: true
286+
- org.openrewrite.java.spring.ChangeSpringPropertyValue:
287+
propertyKey: management.endpoint.sbom.access
288+
newValue: none
289+
oldValue: false
290+
- org.openrewrite.java.spring.ChangeSpringPropertyKey:
291+
oldPropertyKey: management.endpoint.scheduledtasks.enabled
292+
newPropertyKey: management.endpoint.scheduledtasks.access
293+
- org.openrewrite.java.spring.ChangeSpringPropertyValue:
294+
propertyKey: management.endpoint.scheduledtasks.access
295+
newValue: read-only
296+
oldValue: true
297+
- org.openrewrite.java.spring.ChangeSpringPropertyValue:
298+
propertyKey: management.endpoint.scheduledtasks.access
299+
newValue: none
300+
oldValue: false
301+
- org.openrewrite.java.spring.ChangeSpringPropertyKey:
302+
oldPropertyKey: management.endpoint.sessions.enabled
303+
newPropertyKey: management.endpoint.sessions.access
304+
- org.openrewrite.java.spring.ChangeSpringPropertyValue:
305+
propertyKey: management.endpoint.sessions.access
306+
newValue: read-only
307+
oldValue: true
308+
- org.openrewrite.java.spring.ChangeSpringPropertyValue:
309+
propertyKey: management.endpoint.sessions.access
310+
newValue: none
311+
oldValue: false
312+
- org.openrewrite.java.spring.ChangeSpringPropertyKey:
313+
oldPropertyKey: management.endpoint.shutdown.enabled
314+
newPropertyKey: management.endpoint.shutdown.access
315+
- org.openrewrite.java.spring.ChangeSpringPropertyValue:
316+
propertyKey: management.endpoint.shutdown.access
317+
newValue: read-only
318+
oldValue: true
319+
- org.openrewrite.java.spring.ChangeSpringPropertyValue:
320+
propertyKey: management.endpoint.shutdown.access
321+
newValue: none
322+
oldValue: false
323+
- org.openrewrite.java.spring.ChangeSpringPropertyKey:
324+
oldPropertyKey: management.endpoint.startup.enabled
325+
newPropertyKey: management.endpoint.startup.access
326+
- org.openrewrite.java.spring.ChangeSpringPropertyValue:
327+
propertyKey: management.endpoint.startup.access
328+
newValue: read-only
329+
oldValue: true
330+
- org.openrewrite.java.spring.ChangeSpringPropertyValue:
331+
propertyKey: management.endpoint.startup.access
332+
newValue: none
333+
oldValue: false
334+
- org.openrewrite.java.spring.ChangeSpringPropertyKey:
335+
oldPropertyKey: management.endpoint.threaddump.enabled
336+
newPropertyKey: management.endpoint.threaddump.access
337+
- org.openrewrite.java.spring.ChangeSpringPropertyValue:
338+
propertyKey: management.endpoint.threaddump.access
339+
newValue: read-only
340+
oldValue: true
341+
- org.openrewrite.java.spring.ChangeSpringPropertyValue:
342+
propertyKey: management.endpoint.threaddump.access
343+
newValue: none
344+
oldValue: false

src/main/resources/META-INF/rewrite/spring-boot-34.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ recipeList:
2929
- org.openrewrite.java.spring.framework.UpgradeSpringFramework_6_2
3030
- org.openrewrite.java.spring.cloud2024.UpgradeSpringCloud_2024
3131
- org.openrewrite.java.spring.data.UpgradeSpringData_3_4
32+
- org.openrewrite.java.spring.boot3.SpringBootProperties_3_4
3233
- org.openrewrite.java.dependencies.UpgradeDependencyVersion:
3334
groupId: org.springframework.boot
3435
artifactId: "*"

0 commit comments

Comments
 (0)