You've already forked goreleaser
mirror of
https://github.com/goreleaser/goreleaser.git
synced 2025-09-16 09:26:52 +02:00
fixing more errors
This commit is contained in:
@@ -58,9 +58,11 @@ func create(ctx *context.Context, platform, name string) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
var binary = ctx.Config.Build.Binary + ext.For(platform)
|
for _, build := range ctx.Config.Builds {
|
||||||
if err := archive.Add(binary, filepath.Join(folder, binary)); err != nil {
|
var binary = build.Binary + ext.For(platform)
|
||||||
return err
|
if err := archive.Add(binary, filepath.Join(folder, binary)); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
}
|
}
|
||||||
ctx.AddArtifact(file.Name())
|
ctx.AddArtifact(file.Name())
|
||||||
return nil
|
return nil
|
||||||
|
@@ -69,7 +69,6 @@ type templateData struct {
|
|||||||
Repo config.Repo // FIXME: will not work for anything but github right now.
|
Repo config.Repo // FIXME: will not work for anything but github right now.
|
||||||
Tag string
|
Tag string
|
||||||
Version string
|
Version string
|
||||||
Binary string
|
|
||||||
Caveats string
|
Caveats string
|
||||||
File string
|
File string
|
||||||
Format string
|
Format string
|
||||||
@@ -127,7 +126,7 @@ func buildFormula(ctx *context.Context, client client.Client) (bytes.Buffer, err
|
|||||||
|
|
||||||
func doBuildFormula(data templateData) (bytes.Buffer, error) {
|
func doBuildFormula(data templateData) (bytes.Buffer, error) {
|
||||||
var out bytes.Buffer
|
var out bytes.Buffer
|
||||||
tmpl, err := template.New(data.Binary).Parse(formula)
|
tmpl, err := template.New(data.Name).Parse(formula)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return out, err
|
return out, err
|
||||||
}
|
}
|
||||||
@@ -150,13 +149,12 @@ func dataFor(ctx *context.Context, client client.Client) (result templateData, e
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
return templateData{
|
return templateData{
|
||||||
Name: formulaNameFor(ctx.Config.Build.Binary),
|
Name: formulaNameFor(ctx.Config.Name),
|
||||||
Desc: ctx.Config.Brew.Description,
|
Desc: ctx.Config.Brew.Description,
|
||||||
Homepage: ctx.Config.Brew.Homepage,
|
Homepage: ctx.Config.Brew.Homepage,
|
||||||
Repo: ctx.Config.Release.GitHub,
|
Repo: ctx.Config.Release.GitHub,
|
||||||
Tag: ctx.Git.CurrentTag,
|
Tag: ctx.Git.CurrentTag,
|
||||||
Version: ctx.Version,
|
Version: ctx.Version,
|
||||||
Binary: ctx.Config.Build.Binary,
|
|
||||||
Caveats: ctx.Config.Brew.Caveats,
|
Caveats: ctx.Config.Brew.Caveats,
|
||||||
File: file,
|
File: file,
|
||||||
Format: ctx.Config.Archive.Format, // TODO this can be broken by format_overrides
|
Format: ctx.Config.Archive.Format, // TODO this can be broken by format_overrides
|
||||||
|
@@ -27,6 +27,7 @@ func (Pipe) Description() string {
|
|||||||
// Run the pipe
|
// Run the pipe
|
||||||
func (Pipe) Run(ctx *context.Context) error {
|
func (Pipe) Run(ctx *context.Context) error {
|
||||||
for _, build := range ctx.Config.Builds {
|
for _, build := range ctx.Config.Builds {
|
||||||
|
log.WithField("build", build).Debug("building")
|
||||||
if err := runPipeOnBuild(ctx, build); err != nil {
|
if err := runPipeOnBuild(ctx, build); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@@ -41,11 +42,11 @@ func runPipeOnBuild(ctx *context.Context, build config.Build) error {
|
|||||||
sem := make(chan bool, 4)
|
sem := make(chan bool, 4)
|
||||||
var g errgroup.Group
|
var g errgroup.Group
|
||||||
for _, target := range buildTargets(build) {
|
for _, target := range buildTargets(build) {
|
||||||
name, err := nameFor(ctx, target)
|
name, err := nameFor(ctx, build, target)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
ctx.Archives[target.String()] = name
|
ctx.Archives[build.Binary+target.String()] = name
|
||||||
|
|
||||||
sem <- true
|
sem <- true
|
||||||
target := target
|
target := target
|
||||||
@@ -78,7 +79,7 @@ func doBuild(ctx *context.Context, build config.Build, name string, target build
|
|||||||
if build.Flags != "" {
|
if build.Flags != "" {
|
||||||
cmd = append(cmd, strings.Fields(build.Flags)...)
|
cmd = append(cmd, strings.Fields(build.Flags)...)
|
||||||
}
|
}
|
||||||
flags, err := ldflags(ctx)
|
flags, err := ldflags(ctx, build)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@@ -5,6 +5,7 @@ import (
|
|||||||
"text/template"
|
"text/template"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
"github.com/goreleaser/goreleaser/config"
|
||||||
"github.com/goreleaser/goreleaser/context"
|
"github.com/goreleaser/goreleaser/context"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -15,7 +16,7 @@ type ldflagsData struct {
|
|||||||
Version string
|
Version string
|
||||||
}
|
}
|
||||||
|
|
||||||
func ldflags(ctx *context.Context) (string, error) {
|
func ldflags(ctx *context.Context, build config.Build) (string, error) {
|
||||||
var data = ldflagsData{
|
var data = ldflagsData{
|
||||||
Commit: ctx.Git.Commit,
|
Commit: ctx.Git.Commit,
|
||||||
Tag: ctx.Git.CurrentTag,
|
Tag: ctx.Git.CurrentTag,
|
||||||
@@ -23,7 +24,7 @@ func ldflags(ctx *context.Context) (string, error) {
|
|||||||
Date: time.Now().UTC().Format(time.RFC3339),
|
Date: time.Now().UTC().Format(time.RFC3339),
|
||||||
}
|
}
|
||||||
var out bytes.Buffer
|
var out bytes.Buffer
|
||||||
t, err := template.New("ldflags").Parse(ctx.Config.Build.Ldflags)
|
t, err := template.New("ldflags").Parse(build.Ldflags)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
|
@@ -4,6 +4,7 @@ import (
|
|||||||
"bytes"
|
"bytes"
|
||||||
"text/template"
|
"text/template"
|
||||||
|
|
||||||
|
"github.com/goreleaser/goreleaser/config"
|
||||||
"github.com/goreleaser/goreleaser/context"
|
"github.com/goreleaser/goreleaser/context"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -16,14 +17,14 @@ type nameData struct {
|
|||||||
Binary string
|
Binary string
|
||||||
}
|
}
|
||||||
|
|
||||||
func nameFor(ctx *context.Context, target buildTarget) (string, error) {
|
func nameFor(ctx *context.Context, build config.Build, target buildTarget) (string, error) {
|
||||||
var data = nameData{
|
var data = nameData{
|
||||||
Os: replace(ctx.Config.Archive.Replacements, target.goos),
|
Os: replace(ctx.Config.Archive.Replacements, target.goos),
|
||||||
Arch: replace(ctx.Config.Archive.Replacements, target.goarch),
|
Arch: replace(ctx.Config.Archive.Replacements, target.goarch),
|
||||||
Arm: replace(ctx.Config.Archive.Replacements, target.goarm),
|
Arm: replace(ctx.Config.Archive.Replacements, target.goarm),
|
||||||
Version: ctx.Version,
|
Version: ctx.Version,
|
||||||
Tag: ctx.Git.CurrentTag,
|
Tag: ctx.Git.CurrentTag,
|
||||||
Binary: ctx.Config.Build.Binary,
|
Binary: build.Binary,
|
||||||
}
|
}
|
||||||
|
|
||||||
var out bytes.Buffer
|
var out bytes.Buffer
|
||||||
|
@@ -26,7 +26,7 @@ func (Pipe) Run(ctx *context.Context) (err error) {
|
|||||||
file, err := os.OpenFile(
|
file, err := os.OpenFile(
|
||||||
filepath.Join(
|
filepath.Join(
|
||||||
ctx.Config.Dist,
|
ctx.Config.Dist,
|
||||||
fmt.Sprintf("%v_checksums.txt", ctx.Config.Build.Binary),
|
fmt.Sprintf("%v_checksums.txt", ctx.Config.Name),
|
||||||
),
|
),
|
||||||
os.O_APPEND|os.O_WRONLY|os.O_CREATE|os.O_TRUNC,
|
os.O_APPEND|os.O_WRONLY|os.O_CREATE|os.O_TRUNC,
|
||||||
0644,
|
0644,
|
||||||
|
@@ -66,10 +66,6 @@ func setReleaseDefaults(ctx *context.Context) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func setBuildDefaults(ctx *context.Context) {
|
func setBuildDefaults(ctx *context.Context) {
|
||||||
if len(ctx.Config.Builds) == 0 {
|
|
||||||
ctx.Config.Builds = append(ctx.Config.Builds, ctx.Config.Build)
|
|
||||||
}
|
|
||||||
ctx.Config.Build = config.Build{}
|
|
||||||
for i, build := range ctx.Config.Builds {
|
for i, build := range ctx.Config.Builds {
|
||||||
ctx.Config.Builds[i] = buildWithDefaults(ctx, build)
|
ctx.Config.Builds[i] = buildWithDefaults(ctx, build)
|
||||||
}
|
}
|
||||||
|
@@ -3,6 +3,7 @@ package fpm
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"errors"
|
"errors"
|
||||||
|
"fmt"
|
||||||
"os/exec"
|
"os/exec"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
|
|
||||||
@@ -40,16 +41,19 @@ func (Pipe) Run(ctx *context.Context) error {
|
|||||||
|
|
||||||
var g errgroup.Group
|
var g errgroup.Group
|
||||||
for _, format := range ctx.Config.FPM.Formats {
|
for _, format := range ctx.Config.FPM.Formats {
|
||||||
format := format
|
for _, build := range ctx.Config.Builds {
|
||||||
for _, goarch := range ctx.Config.Build.Goarch {
|
for _, goarch := range build.Goarch {
|
||||||
if ctx.Archives["linux"+goarch] == "" {
|
var key = build.Binary + "linux" + goarch
|
||||||
continue
|
if ctx.Archives[key] == "" {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
format := format
|
||||||
|
archive := ctx.Archives[key]
|
||||||
|
arch := goarchToUnix[goarch]
|
||||||
|
g.Go(func() error {
|
||||||
|
return create(ctx, format, archive, arch)
|
||||||
|
})
|
||||||
}
|
}
|
||||||
archive := ctx.Archives["linux"+goarch]
|
|
||||||
arch := goarchToUnix[goarch]
|
|
||||||
g.Go(func() error {
|
|
||||||
return create(ctx, format, archive, arch)
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return g.Wait()
|
return g.Wait()
|
||||||
@@ -58,13 +62,12 @@ func (Pipe) Run(ctx *context.Context) error {
|
|||||||
func create(ctx *context.Context, format, archive, arch string) error {
|
func create(ctx *context.Context, format, archive, arch string) error {
|
||||||
var path = filepath.Join(ctx.Config.Dist, archive)
|
var path = filepath.Join(ctx.Config.Dist, archive)
|
||||||
var file = path + "." + format
|
var file = path + "." + format
|
||||||
var name = ctx.Config.Build.Binary
|
|
||||||
log.WithField("file", file).Info("Creating")
|
log.WithField("file", file).Info("Creating")
|
||||||
|
|
||||||
var options = []string{
|
var options = []string{
|
||||||
"--input-type", "dir",
|
"--input-type", "dir",
|
||||||
"--output-type", format,
|
"--output-type", format,
|
||||||
"--name", name,
|
"--name", ctx.Config.Name,
|
||||||
"--version", ctx.Version,
|
"--version", ctx.Version,
|
||||||
"--architecture", arch,
|
"--architecture", arch,
|
||||||
"--chdir", path,
|
"--chdir", path,
|
||||||
@@ -94,9 +97,15 @@ func create(ctx *context.Context, format, archive, arch string) error {
|
|||||||
options = append(options, "--conflicts", conflict)
|
options = append(options, "--conflicts", conflict)
|
||||||
}
|
}
|
||||||
|
|
||||||
// This basically tells fpm to put the binary in the /usr/local/bin
|
for _, build := range ctx.Config.Builds {
|
||||||
// binary=/usr/local/bin/binary
|
// This basically tells fpm to put the binary in the /usr/local/bin
|
||||||
options = append(options, name+"="+filepath.Join("/usr/local/bin", name))
|
// binary=/usr/local/bin/binary
|
||||||
|
options = append(options, fmt.Sprintf(
|
||||||
|
"%s=%s",
|
||||||
|
build.Binary,
|
||||||
|
filepath.Join("/usr/local/bin", build.Binary),
|
||||||
|
))
|
||||||
|
}
|
||||||
|
|
||||||
if out, err := exec.Command("fpm", options...).CombinedOutput(); err != nil {
|
if out, err := exec.Command("fpm", options...).CombinedOutput(); err != nil {
|
||||||
return errors.New(string(out))
|
return errors.New(string(out))
|
||||||
|
Reference in New Issue
Block a user