mirror of
https://github.com/goreleaser/goreleaser.git
synced 2025-01-06 03:13:48 +02:00
fe7e2123bd
* feat: replacing logs Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com> * fix: tests et al Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com> * feat: update termenv/lipgloss Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com> * wip: output Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com> * fix: pin dep Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com> * fix: update Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com> * fix: tests Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com> * fix: tests Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com> * fix: deps Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com> * fix: dep Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
57 lines
1.3 KiB
Go
57 lines
1.3 KiB
Go
package cmd
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
|
|
"github.com/caarlos0/log"
|
|
"github.com/goreleaser/goreleaser/internal/static"
|
|
"github.com/spf13/cobra"
|
|
)
|
|
|
|
type initCmd struct {
|
|
cmd *cobra.Command
|
|
config string
|
|
}
|
|
|
|
func newInitCmd() *initCmd {
|
|
root := &initCmd{}
|
|
cmd := &cobra.Command{
|
|
Use: "init",
|
|
Aliases: []string{"i"},
|
|
Short: "Generates a .goreleaser.yaml file",
|
|
SilenceUsage: true,
|
|
SilenceErrors: true,
|
|
Args: cobra.NoArgs,
|
|
RunE: func(cmd *cobra.Command, args []string) error {
|
|
conf, err := os.OpenFile(root.config, os.O_WRONLY|os.O_CREATE|os.O_TRUNC|os.O_EXCL, 0o644)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
defer conf.Close()
|
|
|
|
log.Infof(boldStyle.Render(fmt.Sprintf("Generating %s file", root.config)))
|
|
if _, err := conf.WriteString(static.ExampleConfig); err != nil {
|
|
return err
|
|
}
|
|
|
|
gitignore, err := os.OpenFile(".gitignore", os.O_WRONLY|os.O_CREATE|os.O_APPEND, 0o644)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
defer gitignore.Close()
|
|
if _, err := gitignore.WriteString("\ndist/\n"); err != nil {
|
|
return err
|
|
}
|
|
|
|
log.WithField("file", root.config).Info("config created; please edit accordingly to your needs")
|
|
return nil
|
|
},
|
|
}
|
|
|
|
cmd.Flags().StringVarP(&root.config, "config", "f", ".goreleaser.yaml", "Load configuration from file")
|
|
|
|
root.cmd = cmd
|
|
return root
|
|
}
|