diff --git a/main.go b/main.go index db24261..a8ddd29 100644 --- a/main.go +++ b/main.go @@ -10,6 +10,10 @@ import ( "github.com/asottile/dockerfile" ) +const ( + UNKNOWN_MARKER = "?" +) + type Image struct { Name string `json:"name"` Tag string `json:"tag"` @@ -28,7 +32,7 @@ func main() { log.Fatalf("Could not parse Dockerfile: %s\n", err) } - images := getTags(parsed) + images := getTags(parsed, UNKNOWN_MARKER) val, err := json.Marshal(images) @@ -54,7 +58,7 @@ func getInput(args []string) (*os.File, error) { return os.Stdin, nil } -func getTags(commands []dockerfile.Command) []Image { +func getTags(commands []dockerfile.Command, unknownMarker string) []Image { images := []Image{} for _, cmd := range commands { @@ -68,7 +72,7 @@ func getTags(commands []dockerfile.Command) []Image { if len(imageParts) > 1 { version = imageParts[1] } else { - version = "?" + version = unknownMarker } images = append(images, Image{Name: image, Tag: version}) diff --git a/main_test.go b/main_test.go index fbeea2f..70fd207 100644 --- a/main_test.go +++ b/main_test.go @@ -10,9 +10,9 @@ import ( func TestParsing(t *testing.T) { expected := []Image{ {Name: "golang", Tag: "1.17.0-alpine"}, - {Name: "common", Tag: "?"}, - {Name: "common", Tag: "?"}, - {Name: "common", Tag: "?"}, + {Name: "common", Tag: " * "}, + {Name: "common", Tag: " * "}, + {Name: "common", Tag: " * "}, {Name: "viaductoss/ksops", Tag: "v3.0.0"}, {Name: "quay.io/argoproj/argocd", Tag: "$ARGOCD_VERSION"}, } @@ -23,7 +23,7 @@ func TestParsing(t *testing.T) { t.Errorf("Could not open Dockerfile.1: %s", err) } - tags := getTags(commands) + tags := getTags(commands, " * ") assert.Equal(t, expected, tags) }