| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- package main
- import (
- "flag"
- "log"
- "os"
- "time"
- "git.bazzel.dev/bmallen/helios/pkg/job"
- "github.com/kouhin/envflag"
- )
- var (
- srcdir = flag.String("d", "", "source dir")
- src = flag.String("s", "", "source url")
- ref = flag.String("r", "", "source url ref")
- f = flag.String("f", "", "file to run")
- skipcleanup = flag.Bool("skipcleanup", false, "skip auto cleanup")
- report = flag.Bool("report", false, "output report")
- timeout = flag.Duration("timeout", time.Second*10, "timeout")
- )
- func main() {
- ef := envflag.NewEnvFlag(
- flag.CommandLine, // which FlagSet to parse
- 3, // min length
- map[string]string{ // User-defined env-flag map
- "SOURCE_DIR": "d",
- },
- true, // show env variable key in usage
- true, // show env variable value in usage
- )
- if err := ef.Parse(os.Args[1:]); err != nil {
- panic(err)
- }
- j := job.New()
- j.Timeout(*timeout)
- if !*skipcleanup {
- j.AutoCleanup()
- }
- if srcdir != nil {
- if *srcdir != "" {
- j.SourceDir(*srcdir)
- }
- }
- if src != nil {
- if *src != "" {
- j.Source(*src, *ref)
- }
- }
- j.Run(*f)
- if *report {
- j.Report()
- }
- if j.Error() != nil {
- log.Fatal(j.Error())
- }
- }
|