Skip to content

Commit 5c79713

Browse files
authored
Add release dir arg to CLI (#5)
Now we can call like (new option `-d`): ``` $ /tmp/pkger.dev -a minio-enterprise \ -r RELEASE.2024-11-19T18-31-43Z \ -d minio-release/release ```
1 parent ee3c2d3 commit 5c79713

File tree

1 file changed

+18
-23
lines changed

1 file changed

+18
-23
lines changed

main.go

+18-23
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,8 @@ var (
6161
Default("deb,rpm,apk").
6262
Short('p').
6363
Enum("deb", "rpm", "apk", "deb,rpm,apk")
64+
releaseDir = app.Flag("releaseDir", "Release directory (that contains os-arch specific dirs) to pick up binaries to package, defaults to `appName+\"-release\"`").
65+
Short('d').String()
6466
)
6567

6668
const tmpl = `name: "{{ .App }}"
@@ -76,7 +78,7 @@ license: "AGPLv3"
7678
rpm:
7779
group: Applications/File
7880
contents:
79-
- src: {{ .ReleaseDir }}-release/{{ .OS }}-{{ .Arch }}/{{ .Binary }}.{{ .Release }}
81+
- src: {{ .ReleaseDir }}/{{ .OS }}-{{ .Arch }}/{{ .Binary }}.{{ .Release }}
8082
dst: /usr/local/bin/{{ .App }}
8183
{{if eq .Binary "minio" }}
8284
- src: minio.service
@@ -369,6 +371,17 @@ C:\mc.exe alias set myminio/ http://MINIO-SERVER MYUSER MYPASSWORD`, winArch),
369371
return d
370372
}
371373

374+
func releaseDirName() string {
375+
if *releaseDir != "" {
376+
return *releaseDir
377+
}
378+
name := *appName
379+
if *appName == "minio-enterprise" {
380+
name = "minio"
381+
}
382+
return name + "-release"
383+
}
384+
372385
func main() {
373386
app.Version(version)
374387
app.VersionFlag.Short('v')
@@ -377,14 +390,6 @@ func main() {
377390
kingpin.Fatalf(err.Error())
378391
}
379392

380-
releasePath := func() string {
381-
if *appName == "minio-enterprise" {
382-
return "aistor"
383-
}
384-
return *appName
385-
}() + "-release"
386-
os.MkdirAll(releasePath, 0o755)
387-
388393
semVerTag := semVerRelease(*release)
389394
if err := doPackage(*appName, *release, *packager); err != nil {
390395
if !*ignoreMissingArch {
@@ -407,9 +412,9 @@ func main() {
407412
kingpin.Fatalf(err.Error())
408413
}
409414

410-
os.WriteFile(filepath.Join(releasePath, "downloads-"+*appName+".json"), buf, 0o644)
415+
os.WriteFile(filepath.Join(releaseDirName(), "downloads-"+*appName+".json"), buf, 0o644)
411416

412-
fmt.Println("Generated downloads metadata at", filepath.Join(releasePath, "downloads-"+*appName+".json"))
417+
fmt.Println("Generated downloads metadata at", filepath.Join(releaseDirName(), "downloads-"+*appName+".json"))
413418
}
414419

415420
type releaseTmpl struct {
@@ -484,12 +489,7 @@ func doPackage(appName, release, packager string) error {
484489
}
485490
return appName
486491
}(),
487-
ReleaseDir: func() string {
488-
if appName == "minio-enterprise" {
489-
return "aistor"
490-
}
491-
return appName
492-
}(),
492+
ReleaseDir: releaseDirName(),
493493
Binary: func() string {
494494
if appName == "minio-enterprise" {
495495
return "minio"
@@ -547,12 +547,7 @@ func doPackage(appName, release, packager string) error {
547547
}
548548

549549
releasePkg := pkg.ConventionalFileName(info)
550-
tgtPath := filepath.Join(func() string {
551-
if appName == "minio-enterprise" {
552-
return "aistor"
553-
}
554-
return appName
555-
}()+"-release", "linux-"+arch, releasePkg)
550+
tgtPath := filepath.Join(releaseDirName(), "linux-"+arch, releasePkg)
556551
f, err := os.Create(tgtPath)
557552
if err != nil {
558553
return err

0 commit comments

Comments
 (0)