1
0
mirror of https://github.com/goreleaser/goreleaser.git synced 2025-01-22 04:08:49 +02:00
Carlos Alexandro Becker b02bec962e
feat: arch user repository integration (#2838)
* feat: aur PKGBUILD integration

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>

* feat: guess install, improve formatting

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>

* fix: more deterministic

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>

* feat: binary releases, push, more tests

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>

* feat: accept key as text

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>

* feat: improvements

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>

* feat: srcinfo

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>

* fix: compile

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>

* fix: everything

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>

* fix: lint

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>

* feat: renames, docs, etc

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>

* docs: link to docs

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>

* fix: go mod tidy, title

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>

* fix: srcinfo tmpl

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>

* fix: missing close quote

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>

* fix: templates

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>

* fix: always defaults conflicts and provides

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>

* fix: ssh command

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>

* fix: maintainers can be a list

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>

* fix: ensure -bin suffix, more tests and docs

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>

* fix: this will never happen

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>

* fix: whitespaces

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>

* fix: goreleaser config

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
2022-01-20 14:59:39 -03:00

98 lines
1.9 KiB
Go

package aur
type templateData struct {
Name string
Desc string
Homepage string
Version string
License string
ReleasePackages []releasePackage
Maintainers []string
Contributors []string
Provides []string
Conflicts []string
Depends []string
OptDepends []string
Arches []string
Rel string
Package string
}
type releasePackage struct {
DownloadURL string
SHA256 string
Arch string
}
const pkgBuildTemplate = `# This file was generated by GoReleaser. DO NOT EDIT.
{{- range .Maintainers }}
# Maintainer: {{ . }}
{{- end }}
{{- range .Contributors }}
# Contributor: {{ . }}
{{- end }}
pkgname='{{ .Name }}'
pkgver={{ .Version }}
pkgrel={{ .Rel }}
pkgdesc='{{ .Desc }}'
url='{{ .Homepage }}'
arch=({{ pkgArray .Arches }})
license=('{{ .License }}')
{{- with .Provides }}
provides=({{ pkgArray . }})
{{- end }}
{{- with .Conflicts }}
conflicts=({{ pkgArray . }})
{{- end }}
{{- with .Depends }}
depends=({{ pkgArray . }})
{{- end }}
{{- with .OptDepends }}
optdepends=({{ pkgArray . }})
{{- end }}
{{ range .ReleasePackages -}}
source_{{ .Arch }}=('{{ .DownloadURL }}')
sha256sums_{{ .Arch }}=('{{ .SHA256 }}')
{{ printf "" }}
{{ end }}
{{- with .Package -}}
package() {
{{ fixLines . }}
}
{{ end }}`
const srcInfoTemplate = `pkgbase = {{ .Name }}
pkgdesc = {{ .Desc }}
pkgver = {{ .Version }}
pkgrel = {{ .Rel }}
{{ with .Homepage -}}
url = {{ . }}
{{ end -}}
{{ with .License -}}
license = {{ . }}
{{ end -}}
{{ range .OptDepends -}}
optdepends = {{ . }}
{{ end -}}
{{ range .Depends -}}
depends = {{ . }}
{{ end -}}
{{ range .Conflicts -}}
conflicts = {{ . }}
{{ end -}}
{{ range .Provides -}}
provides = {{ . }}
{{ end -}}
{{ range .ReleasePackages -}}
arch = {{ .Arch }}
source_{{ .Arch }} = {{ .DownloadURL }}
sha256sums_{{ .Arch }} = {{ .SHA256 }}
{{ end -}}
{{ printf "\n" -}}
pkgname = {{ .Name }}
`