1
0
mirror of https://github.com/goreleaser/goreleaser.git synced 2025-03-19 20:57:53 +02:00

small improvements

This commit is contained in:
Carlos Alexandro Becker 2017-08-02 09:06:28 -03:00
parent e45c4a9cb7
commit 377b800c9b
No known key found for this signature in database
GPG Key ID: E61E2F7DC14AB940

View File

@ -3,6 +3,7 @@ package snapcraft
import ( import (
"errors" "errors"
"fmt"
"io/ioutil" "io/ioutil"
"os" "os"
"os/exec" "os/exec"
@ -120,7 +121,9 @@ func create(ctx *context.Context, folder, arch string, binaries []context.Binary
metadata.Apps[binary.Name] = AppsMetadata{Command: binary.Name} metadata.Apps[binary.Name] = AppsMetadata{Command: binary.Name}
destBinaryPath := filepath.Join(primeDir, filepath.Base(binary.Path)) destBinaryPath := filepath.Join(primeDir, filepath.Base(binary.Path))
os.Link(binary.Path, destBinaryPath) if err := os.Link(binary.Path, destBinaryPath); err != nil {
return err
}
} }
out, err := yaml.Marshal(metadata) out, err := yaml.Marshal(metadata)
if err != nil { if err != nil {
@ -131,11 +134,14 @@ func create(ctx *context.Context, folder, arch string, binaries []context.Binary
return err return err
} }
snap := metadata.Name + "_" + metadata.Version + "_" + arch + ".snap" snap := filepath.Join(
ctx.Config.Dist,
metadata.Name+"_"+metadata.Version+"_"+arch+".snap",
)
cmd := exec.Command("snapcraft", "snap", "prime", "--output", snap) cmd := exec.Command("snapcraft", "snap", "prime", "--output", snap)
cmd.Dir = folderDir cmd.Dir = folderDir
if out, err = cmd.CombinedOutput(); err != nil { if out, err = cmd.CombinedOutput(); err != nil {
return errors.New(string(out)) return fmt.Errorf("failed to generate snap package: %s", string(out))
} }
ctx.AddArtifact(filepath.Join(folderDir, snap)) ctx.AddArtifact(filepath.Join(folderDir, snap))
return nil return nil