1
0
mirror of https://github.com/goreleaser/goreleaser.git synced 2025-09-16 09:26:52 +02:00

moved naming logic to another pkg

This commit is contained in:
Carlos Alexandro Becker
2017-07-01 12:14:43 -03:00
parent 05744bb0c7
commit 059942124a
2 changed files with 21 additions and 26 deletions

View File

@@ -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,

View File

@@ -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)
})