Switch from Go's flag package to pflag

This commit is contained in:
2025-09-04 12:21:23 +03:00
parent 3cfb314333
commit ad691cd78e
9 changed files with 42 additions and 22 deletions
+5 -3
View File
@@ -2,8 +2,10 @@ module git.enumerated.dev/bubble-package-manager/bpm-utils/src/bpm-package
go 1.23 go 1.23
require gopkg.in/yaml.v3 v3.0.1 require (
bpm-utils-shared v1.0.0
require bpm-utils-shared v1.0.0 github.com/spf13/pflag v1.0.10
gopkg.in/yaml.v3 v3.0.1
)
replace bpm-utils-shared => ../bpm-utils-shared replace bpm-utils-shared => ../bpm-utils-shared
+2
View File
@@ -1,3 +1,5 @@
github.com/spf13/pflag v1.0.10 h1:4EBh2KAYBwaONj6b2Ye1GiHfwjqyROoF4RwYO+vPwFk=
github.com/spf13/pflag v1.0.10/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
+6 -6
View File
@@ -2,7 +2,6 @@ package main
import ( import (
bpmutilsshared "bpm-utils-shared" bpmutilsshared "bpm-utils-shared"
"flag"
"fmt" "fmt"
"io" "io"
"log" "log"
@@ -11,14 +10,15 @@ import (
"path/filepath" "path/filepath"
"strings" "strings"
flag "github.com/spf13/pflag"
"gopkg.in/yaml.v3" "gopkg.in/yaml.v3"
) )
var compile = flag.Bool("c", false, "Compile BPM source package") var compile = flag.BoolP("compile", "c", false, "Compile BPM source package")
var skipCheck = flag.Bool("s", false, "Skip 'check' function while compiling") var skipCheck = flag.BoolP("skip-checks", "s", false, "Skip 'check' function while compiling")
var installDepends = flag.Bool("d", false, "Install package dependencies for compilation") var installDepends = flag.BoolP("depends", "d", false, "Install package dependencies for compilation")
var installPackage = flag.Bool("i", false, "Install compiled BPM package after compilation finishes") var installPackage = flag.BoolP("install", "i", false, "Install compiled BPM package after compilation finishes")
var yesAll = flag.Bool("y", false, "Accept all confirmation prompts") var yesAll = flag.BoolP("yes", "y", false, "Accept all confirmation prompts")
func main() { func main() {
// Setup flags and help // Setup flags and help
+5 -1
View File
@@ -2,7 +2,11 @@ module git.enumerated.dev/bubble-package-manager/bpm-utils/src/bpm-setup
go 1.23 go 1.23
require bpm-utils-shared v1.0.0 require (
bpm-utils-shared v1.0.0
github.com/spf13/pflag v1.0.10
)
require gopkg.in/yaml.v3 v3.0.1 // indirect require gopkg.in/yaml.v3 v3.0.1 // indirect
replace bpm-utils-shared => ../bpm-utils-shared replace bpm-utils-shared => ../bpm-utils-shared
+3
View File
@@ -1,3 +1,6 @@
github.com/spf13/pflag v1.0.10 h1:4EBh2KAYBwaONj6b2Ye1GiHfwjqyROoF4RwYO+vPwFk=
github.com/spf13/pflag v1.0.10/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
+11 -9
View File
@@ -3,7 +3,6 @@ package main
import ( import (
bpmutilsshared "bpm-utils-shared" bpmutilsshared "bpm-utils-shared"
"bufio" "bufio"
"flag"
"fmt" "fmt"
"log" "log"
"os" "os"
@@ -11,16 +10,18 @@ import (
"path" "path"
"path/filepath" "path/filepath"
"strings" "strings"
flag "github.com/spf13/pflag"
) )
var directory = flag.String("D", "", "Path to package directory (required)") var directory = flag.StringP("directory", "D", "", "Path to package directory")
var name = flag.String("n", "", "Set the package name") var name = flag.StringP("name", "n", "", "Set the package name")
var description = flag.String("d", "Default Package Description", "Set the description") var description = flag.StringP("description", "d", "Default Package Description", "Set the description")
var version = flag.String("v", "1.0", "Set the package version") var version = flag.StringP("version", "v", "1.0", "Set the package version")
var url = flag.String("u", "", "Set the package URL") var url = flag.StringP("url", "u", "", "Set the package URL")
var license = flag.String("l", "", "Set the package licenses") var license = flag.StringP("license", "l", "", "Set the package licenses")
var template = flag.String("t", "gnu-configure", "Set the package template") var template = flag.StringP("template", "t", "gnu-configure", "Set the package template")
var git = flag.Bool("g", true, "Create git repository") var git = flag.BoolP("git", "g", true, "Create git repository")
func main() { func main() {
// Setup flags and help // Setup flags and help
@@ -29,6 +30,7 @@ func main() {
// Show command help if no directory name is given // Show command help if no directory name is given
if *directory == "" { if *directory == "" {
log.Println("Directory flag is required")
bpmutilsshared.ShowHelp() bpmutilsshared.ShowHelp()
os.Exit(1) os.Exit(1)
} }
+4 -1
View File
@@ -2,4 +2,7 @@ module bpm-utils-shared
go 1.23 go 1.23
require gopkg.in/yaml.v3 v3.0.1 // indirect require (
github.com/spf13/pflag v1.0.10
gopkg.in/yaml.v3 v3.0.1
)
+3
View File
@@ -1,3 +1,6 @@
github.com/spf13/pflag v1.0.10 h1:4EBh2KAYBwaONj6b2Ye1GiHfwjqyROoF4RwYO+vPwFk=
github.com/spf13/pflag v1.0.10/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
+3 -2
View File
@@ -1,10 +1,11 @@
package bpm_utils_shared package bpm_utils_shared
import ( import (
"flag"
"fmt" "fmt"
"gopkg.in/yaml.v3"
"os" "os"
flag "github.com/spf13/pflag"
"gopkg.in/yaml.v3"
) )
var usageMsg string var usageMsg string