q/src/cli/Build.go
2023-10-31 21:13:14 +01:00

42 lines
620 B
Go

package cli
import (
"strings"
"git.akyoto.dev/cli/q/src/build"
"git.akyoto.dev/cli/q/src/config"
"git.akyoto.dev/cli/q/src/log"
)
// Build builds an executable.
func Build(args []string) int {
b := build.New(".")
for i := 0; i < len(args); i++ {
switch args[i] {
case "--dry":
b.WriteExecutable = false
case "--verbose", "-v":
config.Verbose = true
default:
if strings.HasPrefix(args[i], "-") {
log.Error.Printf("Unknown parameter: %s\n", args[i])
return 2
}
b.Directory = args[i]
}
}
err := b.Run()
if err != nil {
log.Error.Println(err)
return 1
}
return 0
}