2018-10-26 11:03:55 -03:00
|
|
|
// Package defaults make the list of Defaulter implementations available
|
|
|
|
// so projects extending GoReleaser are able to use it, namely, GoDownloader.
|
|
|
|
package defaults
|
|
|
|
|
|
|
|
import (
|
|
|
|
"fmt"
|
|
|
|
|
|
|
|
"github.com/goreleaser/goreleaser/internal/pipe/archive"
|
|
|
|
"github.com/goreleaser/goreleaser/internal/pipe/artifactory"
|
2022-01-20 14:59:39 -03:00
|
|
|
"github.com/goreleaser/goreleaser/internal/pipe/aur"
|
2019-06-05 15:51:01 +02:00
|
|
|
"github.com/goreleaser/goreleaser/internal/pipe/blob"
|
2018-10-26 11:03:55 -03:00
|
|
|
"github.com/goreleaser/goreleaser/internal/pipe/brew"
|
|
|
|
"github.com/goreleaser/goreleaser/internal/pipe/build"
|
|
|
|
"github.com/goreleaser/goreleaser/internal/pipe/checksums"
|
feat: chocolatey support (#3509)
This PR adds support for generating the structure used to pack and push
Chocolatey Packages. And will solve the #3154
Is not ready for merge yet, but has the main structure, and ready for
comments.
Accordingly to Chocolatey, in order to build a package, it's necessary a
`.nuspec` and `chocolateyinstall.ps1` files at least, having these ones,
we could pack and distribute without adding the binary inside the final
package and that was implemented here.
To complete, will be necessary to define the package build and
distribute, however will be required to have Chocolatey installed
(Windows Only). One of alternatives that I thought was, publish the
files like Scoop and Brew in a separate repository, and there we could
use `chocolatey` through
[crazy-max/ghaction-chocolatey](https://github.com/crazy-max/ghaction-chocolatey).
Chocolatey has a lot of good examples of repositories:
https://github.com/chocolatey-community/chocolatey-packages/tree/master/automatic/curl
A final compilation of the missing parts:
- [x] How to pack and push (chocolatey)
- [x] Documentation
Sorry for the long description😄
All feedback very welcome!
Co-authored-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2022-11-12 03:52:32 +01:00
|
|
|
"github.com/goreleaser/goreleaser/internal/pipe/chocolatey"
|
2021-09-11 14:36:40 -03:00
|
|
|
"github.com/goreleaser/goreleaser/internal/pipe/discord"
|
2018-10-26 11:03:55 -03:00
|
|
|
"github.com/goreleaser/goreleaser/internal/pipe/docker"
|
2021-03-30 21:06:25 -03:00
|
|
|
"github.com/goreleaser/goreleaser/internal/pipe/gomod"
|
2023-01-16 22:34:49 -03:00
|
|
|
"github.com/goreleaser/goreleaser/internal/pipe/ko"
|
2021-11-11 09:37:58 -03:00
|
|
|
"github.com/goreleaser/goreleaser/internal/pipe/krew"
|
2021-11-06 21:05:04 -03:00
|
|
|
"github.com/goreleaser/goreleaser/internal/pipe/linkedin"
|
2022-11-17 17:40:00 -06:00
|
|
|
"github.com/goreleaser/goreleaser/internal/pipe/mastodon"
|
2021-09-29 01:18:35 +02:00
|
|
|
"github.com/goreleaser/goreleaser/internal/pipe/mattermost"
|
2020-07-09 16:40:37 -04:00
|
|
|
"github.com/goreleaser/goreleaser/internal/pipe/milestone"
|
2018-10-26 11:03:55 -03:00
|
|
|
"github.com/goreleaser/goreleaser/internal/pipe/nfpm"
|
2023-02-09 06:11:47 -06:00
|
|
|
"github.com/goreleaser/goreleaser/internal/pipe/opencollective"
|
2018-10-26 11:03:55 -03:00
|
|
|
"github.com/goreleaser/goreleaser/internal/pipe/project"
|
2021-08-31 10:49:22 -03:00
|
|
|
"github.com/goreleaser/goreleaser/internal/pipe/reddit"
|
2018-10-26 11:03:55 -03:00
|
|
|
"github.com/goreleaser/goreleaser/internal/pipe/release"
|
2021-12-11 22:21:51 -05:00
|
|
|
"github.com/goreleaser/goreleaser/internal/pipe/sbom"
|
2018-10-26 11:03:55 -03:00
|
|
|
"github.com/goreleaser/goreleaser/internal/pipe/scoop"
|
|
|
|
"github.com/goreleaser/goreleaser/internal/pipe/sign"
|
2021-09-01 16:47:53 -03:00
|
|
|
"github.com/goreleaser/goreleaser/internal/pipe/slack"
|
2021-09-15 21:38:58 +03:00
|
|
|
"github.com/goreleaser/goreleaser/internal/pipe/smtp"
|
2018-10-26 11:03:55 -03:00
|
|
|
"github.com/goreleaser/goreleaser/internal/pipe/snapcraft"
|
|
|
|
"github.com/goreleaser/goreleaser/internal/pipe/snapshot"
|
2020-04-12 11:47:46 -03:00
|
|
|
"github.com/goreleaser/goreleaser/internal/pipe/sourcearchive"
|
2021-09-12 19:59:26 -03:00
|
|
|
"github.com/goreleaser/goreleaser/internal/pipe/teams"
|
2021-10-07 15:01:31 +02:00
|
|
|
"github.com/goreleaser/goreleaser/internal/pipe/telegram"
|
2021-05-25 00:19:06 -03:00
|
|
|
"github.com/goreleaser/goreleaser/internal/pipe/twitter"
|
2021-10-12 14:55:43 -03:00
|
|
|
"github.com/goreleaser/goreleaser/internal/pipe/universalbinary"
|
2023-04-28 01:10:27 +00:00
|
|
|
"github.com/goreleaser/goreleaser/internal/pipe/upload"
|
2022-01-08 18:46:27 +01:00
|
|
|
"github.com/goreleaser/goreleaser/internal/pipe/webhook"
|
2018-10-26 11:03:55 -03:00
|
|
|
"github.com/goreleaser/goreleaser/pkg/context"
|
|
|
|
)
|
|
|
|
|
|
|
|
// Defaulter can be implemented by a Piper to set default values for its
|
|
|
|
// configuration.
|
|
|
|
type Defaulter interface {
|
|
|
|
fmt.Stringer
|
|
|
|
|
|
|
|
// Default sets the configuration defaults
|
|
|
|
Default(ctx *context.Context) error
|
|
|
|
}
|
|
|
|
|
2020-11-27 02:16:08 +00:00
|
|
|
// Defaulters is the list of defaulters.
|
2018-11-07 22:04:49 -02:00
|
|
|
// nolint: gochecknoglobals
|
2018-10-26 11:03:55 -03:00
|
|
|
var Defaulters = []Defaulter{
|
|
|
|
snapshot.Pipe{},
|
|
|
|
release.Pipe{},
|
|
|
|
project.Pipe{},
|
2021-03-30 21:06:25 -03:00
|
|
|
gomod.Pipe{},
|
2018-10-26 11:03:55 -03:00
|
|
|
build.Pipe{},
|
2021-10-12 14:55:43 -03:00
|
|
|
universalbinary.Pipe{},
|
2020-04-12 11:47:46 -03:00
|
|
|
sourcearchive.Pipe{},
|
2019-04-16 10:19:15 -03:00
|
|
|
archive.Pipe{},
|
2018-10-26 11:03:55 -03:00
|
|
|
nfpm.Pipe{},
|
|
|
|
snapcraft.Pipe{},
|
|
|
|
checksums.Pipe{},
|
|
|
|
sign.Pipe{},
|
2021-08-24 11:22:09 -03:00
|
|
|
sign.DockerPipe{},
|
2021-12-11 22:21:51 -05:00
|
|
|
sbom.Pipe{},
|
2018-10-26 11:03:55 -03:00
|
|
|
docker.Pipe{},
|
2021-07-03 23:00:42 +00:00
|
|
|
docker.ManifestPipe{},
|
2018-10-26 11:03:55 -03:00
|
|
|
artifactory.Pipe{},
|
2019-06-05 15:51:01 +02:00
|
|
|
blob.Pipe{},
|
2023-04-28 01:10:27 +00:00
|
|
|
upload.Pipe{},
|
2022-01-20 14:59:39 -03:00
|
|
|
aur.Pipe{},
|
2018-10-26 11:03:55 -03:00
|
|
|
brew.Pipe{},
|
2021-11-11 09:37:58 -03:00
|
|
|
krew.Pipe{},
|
2023-01-16 22:34:49 -03:00
|
|
|
ko.Pipe{},
|
2018-10-26 11:03:55 -03:00
|
|
|
scoop.Pipe{},
|
2021-09-11 14:36:40 -03:00
|
|
|
discord.Pipe{},
|
2021-08-31 16:48:45 +03:00
|
|
|
reddit.Pipe{},
|
2021-09-01 22:46:25 +03:00
|
|
|
slack.Pipe{},
|
2021-09-12 19:59:26 -03:00
|
|
|
teams.Pipe{},
|
2021-09-11 14:36:40 -03:00
|
|
|
twitter.Pipe{},
|
2021-09-15 21:38:58 +03:00
|
|
|
smtp.Pipe{},
|
2022-11-17 17:40:00 -06:00
|
|
|
mastodon.Pipe{},
|
2021-09-29 01:18:35 +02:00
|
|
|
mattermost.Pipe{},
|
2020-07-09 16:40:37 -04:00
|
|
|
milestone.Pipe{},
|
2021-11-07 03:04:08 +03:00
|
|
|
linkedin.Pipe{},
|
2021-10-07 15:01:31 +02:00
|
|
|
telegram.Pipe{},
|
2022-01-08 18:46:27 +01:00
|
|
|
webhook.Pipe{},
|
feat: chocolatey support (#3509)
This PR adds support for generating the structure used to pack and push
Chocolatey Packages. And will solve the #3154
Is not ready for merge yet, but has the main structure, and ready for
comments.
Accordingly to Chocolatey, in order to build a package, it's necessary a
`.nuspec` and `chocolateyinstall.ps1` files at least, having these ones,
we could pack and distribute without adding the binary inside the final
package and that was implemented here.
To complete, will be necessary to define the package build and
distribute, however will be required to have Chocolatey installed
(Windows Only). One of alternatives that I thought was, publish the
files like Scoop and Brew in a separate repository, and there we could
use `chocolatey` through
[crazy-max/ghaction-chocolatey](https://github.com/crazy-max/ghaction-chocolatey).
Chocolatey has a lot of good examples of repositories:
https://github.com/chocolatey-community/chocolatey-packages/tree/master/automatic/curl
A final compilation of the missing parts:
- [x] How to pack and push (chocolatey)
- [x] Documentation
Sorry for the long description😄
All feedback very welcome!
Co-authored-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2022-11-12 03:52:32 +01:00
|
|
|
chocolatey.Pipe{},
|
2023-02-09 06:11:47 -06:00
|
|
|
opencollective.Pipe{},
|
2018-10-26 11:03:55 -03:00
|
|
|
}
|