42 lines
620 B
Go
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
|
|
}
|