2022-06-26 22:00:05 -03:00
|
|
|
package release
|
|
|
|
|
|
|
|
import (
|
|
|
|
"fmt"
|
|
|
|
|
2024-05-26 15:02:57 -03:00
|
|
|
"github.com/goreleaser/goreleaser/v2/internal/tmpl"
|
|
|
|
"github.com/goreleaser/goreleaser/v2/pkg/context"
|
2022-06-26 22:00:05 -03:00
|
|
|
)
|
|
|
|
|
|
|
|
func setupGitHub(ctx *context.Context) error {
|
|
|
|
if ctx.Config.Release.GitHub.Name == "" {
|
|
|
|
repo, err := getRepository(ctx)
|
|
|
|
if err != nil && !ctx.Snapshot {
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
ctx.Config.Release.GitHub = repo
|
|
|
|
}
|
|
|
|
|
2023-09-29 13:37:43 -03:00
|
|
|
if err := tmpl.New(ctx).ApplyAll(
|
|
|
|
&ctx.Config.Release.GitHub.Name,
|
|
|
|
&ctx.Config.Release.GitHub.Owner,
|
|
|
|
); err != nil {
|
2022-06-26 22:00:05 -03:00
|
|
|
return err
|
|
|
|
}
|
|
|
|
|
2023-09-29 13:37:43 -03:00
|
|
|
url, err := tmpl.New(ctx).Apply(fmt.Sprintf(
|
2022-06-26 22:00:05 -03:00
|
|
|
"%s/%s/%s/releases/tag/%s",
|
|
|
|
ctx.Config.GitHubURLs.Download,
|
|
|
|
ctx.Config.Release.GitHub.Owner,
|
|
|
|
ctx.Config.Release.GitHub.Name,
|
|
|
|
ctx.Git.CurrentTag,
|
2022-09-11 14:28:50 -03:00
|
|
|
))
|
2023-09-29 13:37:43 -03:00
|
|
|
ctx.ReleaseURL = url
|
2022-09-11 14:28:50 -03:00
|
|
|
return err
|
2022-06-26 22:00:05 -03:00
|
|
|
}
|
|
|
|
|
|
|
|
func setupGitLab(ctx *context.Context) error {
|
|
|
|
if ctx.Config.Release.GitLab.Name == "" {
|
|
|
|
repo, err := getRepository(ctx)
|
|
|
|
if err != nil {
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
ctx.Config.Release.GitLab = repo
|
|
|
|
}
|
|
|
|
|
2023-09-29 13:37:43 -03:00
|
|
|
if err := tmpl.New(ctx).ApplyAll(
|
|
|
|
&ctx.Config.Release.GitLab.Name,
|
|
|
|
&ctx.Config.Release.GitLab.Owner,
|
|
|
|
); err != nil {
|
2022-06-26 22:00:05 -03:00
|
|
|
return err
|
|
|
|
}
|
|
|
|
|
2023-09-29 13:37:43 -03:00
|
|
|
url, err := tmpl.New(ctx).Apply(fmt.Sprintf(
|
2022-06-26 22:00:05 -03:00
|
|
|
"%s/%s/%s/-/releases/%s",
|
|
|
|
ctx.Config.GitLabURLs.Download,
|
|
|
|
ctx.Config.Release.GitLab.Owner,
|
|
|
|
ctx.Config.Release.GitLab.Name,
|
|
|
|
ctx.Git.CurrentTag,
|
2022-09-11 14:28:50 -03:00
|
|
|
))
|
2023-09-29 13:37:43 -03:00
|
|
|
ctx.ReleaseURL = url
|
2022-09-11 14:28:50 -03:00
|
|
|
return err
|
2022-06-26 22:00:05 -03:00
|
|
|
}
|
|
|
|
|
|
|
|
func setupGitea(ctx *context.Context) error {
|
|
|
|
if ctx.Config.Release.Gitea.Name == "" {
|
|
|
|
repo, err := getRepository(ctx)
|
|
|
|
if err != nil {
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
ctx.Config.Release.Gitea = repo
|
|
|
|
}
|
|
|
|
|
2023-09-29 13:37:43 -03:00
|
|
|
if err := tmpl.New(ctx).ApplyAll(
|
|
|
|
&ctx.Config.Release.Gitea.Name,
|
|
|
|
&ctx.Config.Release.Gitea.Owner,
|
|
|
|
); err != nil {
|
2022-06-26 22:00:05 -03:00
|
|
|
return err
|
|
|
|
}
|
|
|
|
|
2023-09-29 13:37:43 -03:00
|
|
|
url, err := tmpl.New(ctx).Apply(fmt.Sprintf(
|
2022-06-26 22:00:05 -03:00
|
|
|
"%s/%s/%s/releases/tag/%s",
|
|
|
|
ctx.Config.GiteaURLs.Download,
|
|
|
|
ctx.Config.Release.Gitea.Owner,
|
|
|
|
ctx.Config.Release.Gitea.Name,
|
|
|
|
ctx.Git.CurrentTag,
|
2022-09-11 14:28:50 -03:00
|
|
|
))
|
2023-09-29 13:37:43 -03:00
|
|
|
ctx.ReleaseURL = url
|
2022-09-11 14:28:50 -03:00
|
|
|
return err
|
2022-06-26 22:00:05 -03:00
|
|
|
}
|