/
food_template.go
56 lines (51 loc) · 1.37 KB
/
food_template.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
package gofish
type templateData struct {
Name string
Desc string
Homepage string
Version string
License string
ReleasePackages []releasePackage
}
type releasePackage struct {
DownloadURL string
SHA256 string
OS string
Arch string
Binaries []binary
}
type binary struct {
Name, Target string
}
const foodTemplate = `local name = "{{ .Name }}"
local version = "{{ .Version }}"
food = {
name = name,
description = "{{ .Desc }}",
license = "{{ .License }}",
homepage = "{{ .Homepage }}",
version = version,
packages = {
{{- range $element := .ReleasePackages}}
{{- if ne $element.OS ""}}
{
os = "{{ $element.OS }}",
arch = "{{ $element.Arch }}",
url = "{{ $element.DownloadURL }}",
sha256 = "{{ $element.SHA256 }}",
resources = {
{{- range $binary := $element.Binaries }}
{
path = "{{ $binary.Name }}",
installpath = {{if ne $element.OS "windows"}}"bin/{{ $binary.Target }}"{{else}}"bin\\{{ $binary.Target }}"{{end}},
{{- if ne $element.OS "windows"}}
executable = true
{{- end }}
},
{{- end }}
}
},
{{- end }}
{{- end}}
}
}`