factory method

This commit is contained in:
Carlos Alexandro Becker committed 2017-01-09 12:46:20 -02:00
1 parent b786217025
commit 1a7f5d9daf
1 file changed
+8 -6
+8 -6
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)
}