Skip to content

Commit 3d23a24

Browse files
committed
feat: update config.go
1 parent a7c5e80 commit 3d23a24

File tree

1 file changed

+57
-12
lines changed

1 file changed

+57
-12
lines changed

pkg/config/config.go

+57-12
Original file line numberDiff line numberDiff line change
@@ -308,7 +308,7 @@ type Winget struct {
308308
ShortDescription string `yaml:"short_description" json:"short_description"`
309309
Description string `yaml:"description,omitempty" json:"description,omitempty"`
310310
Homepage string `yaml:"homepage,omitempty" json:"homepage,omitempty"`
311-
License string `yaml:"license" json:"license"`
311+
License string `yaml:"license,omitempty" json:"license,omitempty"`
312312
LicenseURL string `yaml:"license_url,omitempty" json:"license_url,omitempty"`
313313
ReleaseNotes string `yaml:"release_notes,omitempty" json:"release_notes,omitempty"`
314314
ReleaseNotesURL string `yaml:"release_notes_url,omitempty" json:"release_notes_url,omitempty"`
@@ -350,6 +350,8 @@ type Ko struct {
350350
WorkingDir string `yaml:"working_dir,omitempty" json:"working_dir,omitempty"`
351351
BaseImage string `yaml:"base_image,omitempty" json:"base_image,omitempty"`
352352
Labels map[string]string `yaml:"labels,omitempty" json:"labels,omitempty"`
353+
Annotations map[string]string `yaml:"annotations,omitempty" json:"annotations,omitempty"`
354+
User string `yaml:"user,omitempty" json:"user,omitempty"`
353355
Repository string `yaml:"repository,omitempty" json:"repository,omitempty"`
354356
Platforms []string `yaml:"platforms,omitempty" json:"platforms,omitempty"`
355357
Tags []string `yaml:"tags,omitempty" json:"tags,omitempty"`
@@ -402,11 +404,15 @@ type BuildHooks struct { // renamed on pro
402404

403405
// IgnoredBuild represents a build ignored by the user.
404406
type IgnoredBuild struct {
405-
Goos string `yaml:"goos,omitempty" json:"goos,omitempty"`
406-
Goarch string `yaml:"goarch,omitempty" json:"goarch,omitempty"`
407-
Goarm string `yaml:"goarm,omitempty" json:"goarm,omitempty" jsonschema:"oneof_type=string;integer"`
408-
Gomips string `yaml:"gomips,omitempty" json:"gomips,omitempty"`
409-
Goamd64 string `yaml:"goamd64,omitempty" json:"goamd64,omitempty"`
407+
Goos string `yaml:"goos,omitempty" json:"goos,omitempty"`
408+
Goarch string `yaml:"goarch,omitempty" json:"goarch,omitempty"`
409+
Goamd64 string `yaml:"goamd64,omitempty" json:"goamd64,omitempty"`
410+
Go386 string `yaml:"go386,omitempty" json:"go386,omitempty"`
411+
Goarm string `yaml:"goarm,omitempty" json:"goarm,omitempty" jsonschema:"oneof_type=string;integer"`
412+
Goarm64 string `yaml:"goarm64,omitempty" json:"goarm64,omitempty"`
413+
Gomips string `yaml:"gomips,omitempty" json:"gomips,omitempty"`
414+
Goppc64 string `yaml:"goppc64,omitempty" json:"goppc64,omitempty"`
415+
Goriscv64 string `yaml:"goriscv64,omitempty" json:"goriscv64,omitempty"`
410416
}
411417

412418
// StringArray is a wrapper for an array of strings.
@@ -450,9 +456,13 @@ type Build struct {
450456
ID string `yaml:"id,omitempty" json:"id,omitempty"`
451457
Goos []string `yaml:"goos,omitempty" json:"goos,omitempty"`
452458
Goarch []string `yaml:"goarch,omitempty" json:"goarch,omitempty"`
459+
Goamd64 []string `yaml:"goamd64,omitempty" json:"goamd64,omitempty"`
460+
Go386 []string `yaml:"go386,omitempty" json:"go386,omitempty"`
453461
Goarm []string `yaml:"goarm,omitempty" json:"goarm,omitempty"`
462+
Goarm64 []string `yaml:"goarm64,omitempty" json:"goarm64,omitempty"`
454463
Gomips []string `yaml:"gomips,omitempty" json:"gomips,omitempty"`
455-
Goamd64 []string `yaml:"goamd64,omitempty" json:"goamd64,omitempty"`
464+
Goppc64 []string `yaml:"goppc64,omitempty" json:"goppc64,omitempty"`
465+
Goriscv64 []string `yaml:"goriscv64,omitempty" json:"goriscv64,omitempty"`
456466
Targets []string `yaml:"targets,omitempty" json:"targets,omitempty"`
457467
Ignore []IgnoredBuild `yaml:"ignore,omitempty" json:"ignore,omitempty"`
458468
Dir string `yaml:"dir,omitempty" json:"dir,omitempty"`
@@ -696,6 +706,23 @@ type ExtraFile struct {
696706
NameTemplate string `yaml:"name_template,omitempty" json:"name_template,omitempty"`
697707
}
698708

709+
// UnmarshalYAML is a custom unmarshaler that wraps strings in arrays.
710+
func (f *ExtraFile) UnmarshalYAML(unmarshal func(interface{}) error) error {
711+
type t ExtraFile
712+
var str string
713+
if err := unmarshal(&str); err == nil {
714+
*f = ExtraFile{Glob: str}
715+
return nil
716+
}
717+
718+
var file t
719+
if err := unmarshal(&file); err != nil {
720+
return err
721+
}
722+
*f = ExtraFile(file)
723+
return nil
724+
}
725+
699726
// TemplatedExtraFile on a release.
700727
type TemplatedExtraFile struct {
701728
Source string `yaml:"src,omitempty" json:"src,omitempty"`
@@ -709,6 +736,7 @@ type NFPM struct {
709736

710737
ID string `yaml:"id,omitempty" json:"id,omitempty"`
711738
Builds []string `yaml:"builds,omitempty" json:"builds,omitempty"`
739+
If string `yaml:"if,omitempty" json:"if,omitempty"`
712740
Formats []string `yaml:"formats,omitempty" json:"formats,omitempty" jsonschema:"enum=apk,enum=deb,enum=rpm,enum=termux.deb,enum=archlinux,enum=ipk"`
713741
Section string `yaml:"section,omitempty" json:"section,omitempty"`
714742
Priority string `yaml:"priority,omitempty" json:"priority,omitempty"`
@@ -1160,14 +1188,30 @@ type MSI struct {
11601188
}
11611189

11621190
// pro-only
1163-
type DMG struct {
1191+
type AppBundle struct {
11641192
ID string `yaml:"id,omitempty" json:"id,omitempty"`
1165-
Name string `yaml:"name" json:"name"`
1193+
Name string `yaml:"name,omitempty" json:"name,omitempty"`
11661194
IDs []string `yaml:"ids,omitempty" json:"ids,omitempty"`
1167-
Goamd64 string `yaml:"goamd64,omitempty" json:"goamd64,omitempty"`
1168-
Files []string `yaml:"extra_files,omitempty" json:"extra_files,omitempty"`
1169-
Replace bool `yaml:"replace,omitempty" json:"replace,omitempty"`
1195+
If string `yaml:"if,omitempty" json:"if,omitempty"`
11701196
ModTimestamp string `yaml:"mod_timestamp,omitempty" json:"mod_timestamp,omitempty"`
1197+
Icon string `yaml:"icon" json:"icon"`
1198+
Bundle string `yaml:"bundle" json:"bundle"`
1199+
}
1200+
1201+
// pro-only
1202+
type DMG struct {
1203+
ID string `yaml:"id,omitempty" json:"id,omitempty"`
1204+
Name string `yaml:"name" json:"name"`
1205+
IDs []string `yaml:"ids,omitempty" json:"ids,omitempty"`
1206+
Goamd64 string `yaml:"goamd64,omitempty" json:"goamd64,omitempty"` // TODO: deprecate this
1207+
Files []ExtraFile `yaml:"extra_files,omitempty" json:"extra_files,omitempty"`
1208+
Replace bool `yaml:"replace,omitempty" json:"replace,omitempty"`
1209+
ModTimestamp string `yaml:"mod_timestamp,omitempty" json:"mod_timestamp,omitempty"`
1210+
1211+
// v2.4+
1212+
If string `yaml:"if,omitempty" json:"if,omitempty"`
1213+
Use string `yaml:"use,omitempty" json:"use,omitempty" jsonschema:"enum=enum=binary,enum=appbundle"`
1214+
TemplatedFiles []TemplatedExtraFile `yaml:"templated_extra_files,omitempty" json:"templated_extra_files,omitempty"`
11711215
}
11721216

11731217
// Blob contains config for GO CDK blob.
@@ -1260,6 +1304,7 @@ type Project struct {
12601304
Nix []Nix `yaml:"nix,omitempty" json:"nix,omitempty"`
12611305
Winget []Winget `yaml:"winget,omitempty" json:"winget,omitempty"`
12621306
MSI []MSI `yaml:"msi,omitempty" json:"msi,omitempty"`
1307+
AppBundles []AppBundle `yaml:"app_bundles,omitempty" json:"app_bundles,omitempty"`
12631308
DMG []DMG `yaml:"dmg,omitempty" json:"dmg,omitempty"`
12641309
AURs []AUR `yaml:"aurs,omitempty" json:"aurs,omitempty"`
12651310
Krews []Krew `yaml:"krews,omitempty" json:"krews,omitempty"`

0 commit comments

Comments
 (0)