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

factory method

This commit is contained in:
Carlos Alexandro Becker
2017-01-09 12:46:20 -02:00
parent b786217025
commit 1a7f5d9daf

View File

@@ -46,12 +46,7 @@ func create(system, arch string, config config.ProjectConfig) error {
return err
}
defer func() { _ = file.Close() }()
var archive Archive
if config.Archive.Format == "zip" {
archive = zip.New(file)
} else {
archive = tar.New(file)
}
var archive = archiveFor(file, config.Archive.Format)
defer func() { _ = archive.Close() }()
for _, f := range config.Files {
if err := archive.Add(f, f); err != nil {
@@ -61,6 +56,13 @@ func create(system, arch string, config config.ProjectConfig) error {
return archive.Add(config.BinaryName+ext(system), binaryPath(system, arch, config.BinaryName))
}
func archiveFor(file *os.File, format string) Archive {
if format == "zip" {
return zip.New(file)
}
return tar.New(file)
}
func nameFor(system, arch, binary string) string {
return binary + "_" + uname.FromGo(system) + "_" + uname.FromGo(arch)
}