Skip to content

Commit 30798a2

Browse files
committed
feat: list images report stage number
1 parent 2f9b3df commit 30798a2

File tree

3 files changed

+14
-7
lines changed

3 files changed

+14
-7
lines changed

src/main/java/com/github/jimschubert/rewrite/docker/analysis/ListImages.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,9 @@ public Docker.Document visitDocument(Docker.Document dockerfile, ExecutionContex
5757
Path file = dockerfile.getSourcePath();
5858

5959
if (dockerfile.getStages() != null) {
60-
for (Docker.Stage stage : dockerfile.getStages()) {
60+
List<Docker.Stage> stages = dockerfile.getStages();
61+
for (int i = 0; i < stages.size(); i++) {
62+
Docker.Stage stage = stages.get(i);
6163
if (stage != null) {
6264
for (Docker child : stage.getChildren()) {
6365
if (child instanceof Docker.From) {
@@ -73,7 +75,8 @@ public Docker.Document visitDocument(Docker.Document dockerfile, ExecutionContex
7375
from.getTag(),
7476
from.getDigest(),
7577
platformSwitch,
76-
from.getAlias().getText()
78+
from.getAlias().getText(),
79+
i
7780
));
7881
}
7982
}

src/main/java/com/github/jimschubert/rewrite/docker/table/ImageUseReport.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,5 +54,9 @@ public static class Row {
5454
@Column(displayName = "Image Alias",
5555
description = "The alias of the image used in the Dockerfile.")
5656
String alias;
57+
58+
@Column(displayName = "Stage Number",
59+
description = "The stage number of the image used in the Dockerfile.")
60+
Integer stageNumber;
5761
}
5862
}

src/test/java/com/github/jimschubert/rewrite/docker/analysis/ListImagesTest.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,11 @@ void listImages() {
3030
.typeValidationOptions(TypeValidation.builder().immutableScanning(false).build())
3131
.dataTableAsCsv(ImageUseReport.class,
3232
"""
33-
path,image,tag,digest,platform,alias
34-
Dockerfile,alpine,latest,,,
35-
old.dockerfile,alpine,latest,,,build
36-
nested/Dockerfile,alpine,latest,,linux/amd64,build
37-
nested/Dockerfile,debian,latest,,,
33+
path,image,tag,digest,platform,alias,stageNumber
34+
Dockerfile,alpine,latest,,,,0
35+
old.dockerfile,alpine,latest,,,build,0
36+
nested/Dockerfile,alpine,latest,,linux/amd64,build,0
37+
nested/Dockerfile,debian,latest,,,,1
3838
"""),
3939
dockerfile(
4040
"FROM alpine:latest",

0 commit comments

Comments
 (0)