diff --git a/pipeline/build/name.go b/internal/name/name.go similarity index 69% rename from pipeline/build/name.go rename to internal/name/name.go index b75aa3d51..1f5a19616 100644 --- a/pipeline/build/name.go +++ b/internal/name/name.go @@ -1,4 +1,4 @@ -package build +package name import ( "bytes" @@ -16,11 +16,11 @@ type nameData struct { Binary string } -func nameFor(ctx *context.Context, target buildTarget) (string, error) { +func For(ctx *context.Context, goos, goarch, goarm string) (string, error) { var data = nameData{ - Os: replace(ctx.Config.Archive.Replacements, target.goos), - Arch: replace(ctx.Config.Archive.Replacements, target.goarch), - Arm: replace(ctx.Config.Archive.Replacements, target.goarm), + Os: replace(ctx.Config.Archive.Replacements, goos), + Arch: replace(ctx.Config.Archive.Replacements, goarch), + Arm: replace(ctx.Config.Archive.Replacements, goarm), Version: ctx.Version, Tag: ctx.Git.CurrentTag, Binary: ctx.Config.Name, diff --git a/pipeline/build/name_test.go b/internal/name/name_test.go similarity index 74% rename from pipeline/build/name_test.go rename to internal/name/name_test.go index cc3dee858..a4327adf1 100644 --- a/pipeline/build/name_test.go +++ b/internal/name/name_test.go @@ -1,4 +1,4 @@ -package build +package name import ( "testing" @@ -20,9 +20,7 @@ func TestNameFor(t *testing.T) { "amd64": "x86_64", }, }, - Build: config.Build{ - Binary: "test", - }, + Name: "test", } var ctx = &context.Context{ Config: config, @@ -32,30 +30,26 @@ func TestNameFor(t *testing.T) { }, } - name, err := nameFor(ctx, buildTarget{"darwin", "amd64", ""}) + name, err := For(ctx, "darwin", "amd64", "") assert.NoError(err) assert.Equal("test_Darwin_x86_64_v1.2.3_1.2.3", name) } func TestInvalidNameTemplate(t *testing.T) { - assert := assert.New(t) - - var config = config.Project{ - Archive: config.Archive{ - NameTemplate: "{{.Binary}_{{.Os}}_{{.Arch}}_{{.Version}}", - }, - Build: config.Build{ - Binary: "test", - }, - } + var assert = assert.New(t) var ctx = &context.Context{ - Config: config, + Config: config.Project{ + Archive: config.Archive{ + NameTemplate: "{{.Binary}_{{.Os}}_{{.Arch}}_{{.Version}}", + }, + Name: "test", + }, Git: context.GitInfo{ CurrentTag: "v1.2.3", }, } - _, err := nameFor(ctx, buildTarget{"darwin", "amd64", ""}) + _, err := For(ctx, "darwin", "amd64", "") assert.Error(err) } @@ -66,19 +60,20 @@ func TestNameDefaltTemplate(t *testing.T) { Archive: config.Archive{ NameTemplate: defaults.NameTemplate, }, - Build: config.Build{ - Binary: "test", - }, + Name: "test", }, Version: "1.2.3", } + type buildTarget struct { + goos, goarch, goarm string + } for key, target := range map[string]buildTarget{ "test_1.2.3_darwin_amd64": {"darwin", "amd64", ""}, "test_1.2.3_linux_arm64": {"linux", "arm64", ""}, "test_1.2.3_linux_armv7": {"linux", "arm", "7"}, } { t.Run(key, func(t *testing.T) { - name, err := nameFor(ctx, target) + name, err := For(ctx, target.goos, target.goarch, target.goarm) assert.NoError(err) assert.Equal(key, name) })