Skip to content

Commit 7516ec4

Browse files
timtebeekTeamModerne
authored andcommitted
Extract documentation examples from tests
Use this link to re-run the recipe: https://app.moderne.io/recipes/org.openrewrite.java.recipes.ExamplesExtractor?organizationId=ODYzMDQ2N2QtNTZjOS00YTM2LWE0NTUtMTg4NzNjMjgyZTE4 Co-authored-by: Moderne <team@moderne.io>
1 parent 69d2da8 commit 7516ec4

8 files changed

Lines changed: 518 additions & 50 deletions

File tree

  • rewrite-docker/src/main/resources/META-INF/rewrite
  • rewrite-gradle/src/main/resources/META-INF/rewrite
  • rewrite-json/src/main/resources/META-INF/rewrite
  • rewrite-kotlin/src/main/resources/META-INF/rewrite
  • rewrite-maven/src/main/resources/META-INF/rewrite
  • rewrite-python/src/main/resources/META-INF/rewrite
  • rewrite-xml/src/main/resources/META-INF/rewrite
  • rewrite-yaml/src/main/resources/META-INF/rewrite
Lines changed: 280 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,280 @@
1+
# Copyright 2025 the original author or authors.
2+
# <p>
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
# <p>
7+
# https://www.apache.org/licenses/LICENSE-2.0
8+
# <p>
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
---
15+
type: specs.openrewrite.org/v1beta/example
16+
recipeName: org.openrewrite.docker.AddAptGetCleanup
17+
examples:
18+
- description: '`AddAptGetCleanupTest#addCleanupToSimpleInstall`'
19+
parameters:
20+
- 'null'
21+
sources:
22+
- before: |
23+
FROM ubuntu:22.04
24+
RUN apt-get update && apt-get install -y curl
25+
after: |
26+
FROM ubuntu:22.04
27+
RUN apt-get update && apt-get install -y curl && rm -rf /var/lib/apt/lists/*
28+
language: docker
29+
---
30+
type: specs.openrewrite.org/v1beta/example
31+
recipeName: org.openrewrite.docker.AddOciLabels
32+
examples:
33+
- description: '`AddOciLabelsTest#addTitleAndVersion`'
34+
parameters:
35+
- MyApplication
36+
- 'null'
37+
- 1.0.0
38+
- 'null'
39+
- 'null'
40+
- 'null'
41+
- 'null'
42+
- 'null'
43+
- 'null'
44+
- 'null'
45+
sources:
46+
- before: |
47+
FROM ubuntu:22.04
48+
RUN apt-get update
49+
after: |
50+
FROM ubuntu:22.04
51+
LABEL org.opencontainers.image.title=MyApplication
52+
LABEL org.opencontainers.image.version=1.0.0
53+
RUN apt-get update
54+
language: docker
55+
---
56+
type: specs.openrewrite.org/v1beta/example
57+
recipeName: org.openrewrite.docker.AddOrUpdateLabel
58+
examples:
59+
- description: '`AddOrUpdateLabelTest#addNewLabel`'
60+
parameters:
61+
- version
62+
- 1.0.0
63+
- 'null'
64+
- 'null'
65+
sources:
66+
- before: |
67+
FROM ubuntu:22.04
68+
RUN apt-get update
69+
after: |
70+
FROM ubuntu:22.04
71+
LABEL version=1.0.0
72+
RUN apt-get update
73+
language: docker
74+
---
75+
type: specs.openrewrite.org/v1beta/example
76+
recipeName: org.openrewrite.docker.AddUserInstruction
77+
examples:
78+
- description: '`AddUserInstructionTest#addUserToFinalStage`'
79+
parameters:
80+
- appuser
81+
- 'null'
82+
- 'null'
83+
- 'null'
84+
sources:
85+
- before: |
86+
FROM ubuntu:22.04
87+
RUN apt-get update
88+
after: |
89+
FROM ubuntu:22.04
90+
RUN apt-get update
91+
USER appuser
92+
language: docker
93+
---
94+
type: specs.openrewrite.org/v1beta/example
95+
recipeName: org.openrewrite.docker.ChangeFrom
96+
examples:
97+
- description: '`ChangeFromTest#changeSimpleBaseImage`'
98+
parameters:
99+
- ubuntu
100+
- '20.04'
101+
- 'null'
102+
- 'null'
103+
- ubuntu
104+
- '22.04'
105+
- 'null'
106+
- 'null'
107+
sources:
108+
- before: |
109+
FROM ubuntu:20.04
110+
RUN apt-get update
111+
after: |
112+
FROM ubuntu:22.04
113+
RUN apt-get update
114+
language: docker
115+
---
116+
type: specs.openrewrite.org/v1beta/example
117+
recipeName: org.openrewrite.docker.CombineRunInstructions
118+
examples:
119+
- description: '`CombineRunInstructionsTest#combineTwoRunInstructions`'
120+
parameters:
121+
- 'null'
122+
sources:
123+
- before: |
124+
FROM ubuntu:22.04
125+
RUN apt-get update
126+
RUN apt-get install -y curl
127+
after: |
128+
FROM ubuntu:22.04
129+
RUN apt-get update && apt-get install -y curl
130+
language: docker
131+
---
132+
type: specs.openrewrite.org/v1beta/example
133+
recipeName: org.openrewrite.docker.DockerBestPractices
134+
examples:
135+
- description: '`DockerBestPracticesTest#appliesBestPractices`'
136+
sources:
137+
- before: |
138+
FROM ubuntu:22.04
139+
ADD app.jar /app/
140+
RUN apt-get update
141+
RUN apt-get install -y curl
142+
ENTRYPOINT /app/start.sh
143+
after: |
144+
~~(EOL: ubuntu:22.04 (ended 2024-09-30, suggest noble (24.04)))~~>~~(Missing HEALTHCHECK instruction)~~>FROM ubuntu:22.04
145+
COPY app.jar /app/
146+
RUN apt-get update && apt-get install -y curl && rm -rf /var/lib/apt/lists/*
147+
ENTRYPOINT ["/app/start.sh"]
148+
USER appuser
149+
language: docker
150+
---
151+
type: specs.openrewrite.org/v1beta/example
152+
recipeName: org.openrewrite.docker.NormalizeDockerHubImageName
153+
examples:
154+
- description: '`NormalizeDockerHubImageNameTest#normalizeDockerIoLibraryPrefix`'
155+
sources:
156+
- before: |
157+
FROM docker.io/library/ubuntu:22.04
158+
RUN apt-get update
159+
after: |
160+
FROM ubuntu:22.04
161+
RUN apt-get update
162+
language: docker
163+
---
164+
type: specs.openrewrite.org/v1beta/example
165+
recipeName: org.openrewrite.docker.ReplaceAddWithCopy
166+
examples:
167+
- description: '`ReplaceAddWithCopyTest#replaceSimpleAdd`'
168+
sources:
169+
- before: |
170+
FROM ubuntu:22.04
171+
ADD app.jar /app/
172+
after: |
173+
FROM ubuntu:22.04
174+
COPY app.jar /app/
175+
language: docker
176+
---
177+
type: specs.openrewrite.org/v1beta/example
178+
recipeName: org.openrewrite.docker.UseExecFormEntrypoint
179+
examples:
180+
- description: '`UseExecFormEntrypointTest#convertSimpleEntrypoint`'
181+
parameters:
182+
- 'null'
183+
- 'null'
184+
sources:
185+
- before: |
186+
FROM ubuntu:22.04
187+
ENTRYPOINT /app/server
188+
after: |
189+
FROM ubuntu:22.04
190+
ENTRYPOINT ["/app/server"]
191+
language: docker
192+
---
193+
type: specs.openrewrite.org/v1beta/example
194+
recipeName: org.openrewrite.docker.search.FindBaseImages
195+
examples:
196+
- description: '`FindBaseImagesTest#findAllBaseImages`'
197+
parameters:
198+
- 'null'
199+
- 'null'
200+
- 'null'
201+
- 'null'
202+
sources:
203+
- before: |
204+
FROM ubuntu:22.04
205+
RUN apt-get update
206+
after: |
207+
~~(ubuntu:22.04)~~>FROM ubuntu:22.04
208+
RUN apt-get update
209+
language: docker
210+
---
211+
type: specs.openrewrite.org/v1beta/example
212+
recipeName: org.openrewrite.docker.search.FindEndOfLifeImages
213+
examples:
214+
- description: '`FindEndOfLifeImagesTest#detectDebianBuster`'
215+
parameters:
216+
- 'null'
217+
sources:
218+
- before: |
219+
FROM debian:buster
220+
RUN apt-get update
221+
after: |
222+
~~(EOL: debian:buster (ended 2024-06-30, suggest trixie (13) or bookworm (12)))~~>FROM debian:buster
223+
RUN apt-get update
224+
language: docker
225+
---
226+
type: specs.openrewrite.org/v1beta/example
227+
recipeName: org.openrewrite.docker.search.FindExposedPorts
228+
examples:
229+
- description: '`FindExposedPortsTest#findSinglePort`'
230+
parameters:
231+
- 'null'
232+
sources:
233+
- before: |
234+
FROM nginx:latest
235+
EXPOSE 80
236+
after: |
237+
FROM nginx:latest
238+
~~(80)~~>EXPOSE 80
239+
language: docker
240+
---
241+
type: specs.openrewrite.org/v1beta/example
242+
recipeName: org.openrewrite.docker.search.FindMissingHealthcheck
243+
examples:
244+
- description: '`FindMissingHealthcheckTest#detectMissingHealthcheck`'
245+
sources:
246+
- before: |
247+
FROM alpine:3.18
248+
CMD ["./app"]
249+
after: |
250+
~~(Missing HEALTHCHECK instruction)~~>FROM alpine:3.18
251+
CMD ["./app"]
252+
language: docker
253+
---
254+
type: specs.openrewrite.org/v1beta/example
255+
recipeName: org.openrewrite.docker.search.FindRootUser
256+
examples:
257+
- description: '`FindRootUserTest#detectMissingUser`'
258+
parameters:
259+
- 'null'
260+
sources:
261+
- before: |
262+
FROM ubuntu:22.04
263+
RUN apt-get update
264+
after: |
265+
~~(No USER instruction, runs as root)~~>FROM ubuntu:22.04
266+
RUN apt-get update
267+
language: docker
268+
---
269+
type: specs.openrewrite.org/v1beta/example
270+
recipeName: org.openrewrite.docker.search.FindUnpinnedBaseImages
271+
examples:
272+
- description: '`FindUnpinnedBaseImagesTest#detectLatestTag`'
273+
sources:
274+
- before: |
275+
FROM ubuntu:latest
276+
RUN apt-get update
277+
after: |
278+
~~(Uses 'latest' tag)~~>FROM ubuntu:latest
279+
RUN apt-get update
280+
language: docker

rewrite-gradle/src/main/resources/META-INF/rewrite/examples.yml

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -660,7 +660,7 @@ examples:
660660
sources:
661661
- before: |
662662
plugins {
663-
java
663+
id("java")
664664
}
665665
repositories { mavenCentral() }
666666
configurations.all {
@@ -677,7 +677,7 @@ examples:
677677
}
678678
after: |
679679
plugins {
680-
java
680+
id("java")
681681
}
682682
repositories { mavenCentral() }
683683
dependencies {
@@ -1378,6 +1378,30 @@ examples:
13781378
language: settingsGradle
13791379
---
13801380
type: specs.openrewrite.org/v1beta/example
1381+
recipeName: org.openrewrite.gradle.search.FindRepositoryOrder
1382+
examples:
1383+
- description: '`FindRepositoryOrderTest#repositoryInBuildGradle`'
1384+
sources:
1385+
- before: |
1386+
plugins {
1387+
id 'java'
1388+
}
1389+
1390+
repositories {
1391+
maven { url 'https://repo.spring.io/milestone' }
1392+
}
1393+
after: |
1394+
/*~~(https://repo.spring.io/milestone)~~>*/plugins {
1395+
id 'java'
1396+
}
1397+
1398+
repositories {
1399+
maven { url 'https://repo.spring.io/milestone' }
1400+
}
1401+
path: build.gradle
1402+
language: groovy
1403+
---
1404+
type: specs.openrewrite.org/v1beta/example
13811405
recipeName: org.openrewrite.gradle.search.ModuleHasDependency
13821406
examples:
13831407
- description: '`ModuleHasDependencyTest#findPlugin`'

rewrite-json/src/main/resources/META-INF/rewrite/examples.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ recipeName: org.openrewrite.json.AddKeyValue
1717
examples:
1818
- description: '`AddKeyValueTest#shouldAppendSimpleValue`'
1919
parameters:
20-
- $.
20+
- $
2121
- key
2222
- '"val"'
2323
- 'false'
@@ -90,7 +90,7 @@ examples:
9090
parameters:
9191
- $.source
9292
- 'null'
93-
- $.
93+
- $
9494
- copiedValue
9595
- 'null'
9696
sources:

rewrite-kotlin/src/main/resources/META-INF/rewrite/examples.yml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -368,3 +368,23 @@ examples:
368368
class Test {
369369
}
370370
language: kotlin
371+
---
372+
type: specs.openrewrite.org/v1beta/example
373+
recipeName: org.openrewrite.kotlin.replace.ReplaceKotlinMethod
374+
examples:
375+
- description: '`ReplaceKotlinMethodTest#replaceCharToIntWithCode`'
376+
parameters:
377+
- kotlin.Char toInt()
378+
- code
379+
- 'null'
380+
- 'null'
381+
sources:
382+
- before: |
383+
fun test(c: Char): Int {
384+
return c.toInt()
385+
}
386+
after: |
387+
fun test(c: Char): Int {
388+
return c.code
389+
}
390+
language: kotlin

0 commit comments

Comments
 (0)