func main() { cli.ParseFlagsOrDie("plz_go_test", "5.5.0", &opts) cli.InitLogging(opts.Verbosity) coverVars, err := buildgo.FindCoverVars(opts.Dir, opts.Exclude) if err != nil { log.Fatalf("Error scanning for coverage: %s", err) } if err = buildgo.WriteTestMain(opts.Package, opts.Sources.Sources, opts.Output, coverVars); err != nil { log.Fatalf("Error writing test main: %s", err) } os.Exit(0) }
func main() { cli.ParseFlagsOrDie("Please graph differ", "5.5.0", &opts) cli.InitLogging(opts.Verbosity) before := misc.ParseGraphOrDie(opts.Before) after := misc.ParseGraphOrDie(opts.After) if len(opts.ChangedFiles.Files) == 1 && opts.ChangedFiles.Files[0] == "-" { opts.ChangedFiles.Files = readStdin() } for _, label := range misc.DiffGraphs(before, after, opts.ChangedFiles.Files, opts.Include, opts.Exclude, !opts.NoRecurse) { fmt.Printf("%s\n", label) } }
func main() { cli.ParseFlagsOrDie("please_maven", "5.5.0", &opts) cli.InitLogging(opts.Verbosity) for _, pkg := range opts.Args.Package { split := strings.Split(pkg, ":") if len(split) != 3 { log.Fatalf("Incorrect usage: argument %s must be in the form group:artifact:version\n", pkg) } pom := fetchAndParse(split[0], split[1], split[2]) process(pom, split[0], split[1], split[2]) } }
func main() { cli.ParseFlagsOrDie("Jarcat", "5.5.0", &opts) if opts.DumbMode { opts.Suffix = nil opts.ExcludeSuffix = nil opts.IncludeOther = true } cli.InitLogging(opts.Verbosity) if err := combine(opts.Out, opts.In, opts.Preamble, opts.StripPrefix, opts.MainClass, opts.ExcludeInternalPrefix, opts.ExcludeSuffix, opts.Suffix, opts.IncludeInternalPrefix, opts.Strict, opts.IncludeOther, opts.AddInitPy, !opts.NoDirEntries, opts.RenameDirs); err != nil { log.Fatalf("Error combining zip files: %s\n", err) } os.Exit(0) }
func main() { cli.ParseFlagsOrDie("Please HTTP cache server", "5.5.0", &opts) cli.InitLogging(opts.Verbosity) if opts.LogFile != "" { cli.InitFileLogging(opts.LogFile, opts.Verbosity) } log.Notice("Initialising cache server...") cache := server.NewCache(opts.Dir, time.Duration(opts.CleanFlags.CleanFrequency), time.Duration(opts.CleanFlags.MaxArtifactAge), uint64(opts.CleanFlags.LowWaterMark), uint64(opts.CleanFlags.HighWaterMark)) log.Notice("Starting up http cache server on port %d...", opts.Port) router := server.BuildRouter(cache) http.Handle("/", router) http.ListenAndServe(fmt.Sprintf(":%d", opts.Port), router) }
func main() { cli.ParseFlagsOrDie("Please RPC cache server", "5.5.0", &opts) cli.InitLogging(opts.Verbosity) if opts.LogFile != "" { cli.InitFileLogging(opts.LogFile, opts.Verbosity) } if (opts.TLSFlags.KeyFile == "") != (opts.TLSFlags.CertFile == "") { log.Fatalf("Must pass both --key_file and --cert_file if you pass one") } else if opts.TLSFlags.KeyFile == "" && (opts.TLSFlags.WritableCerts != "" || opts.TLSFlags.ReadonlyCerts != "") { log.Fatalf("You can only use --writable_certs / --readonly_certs with https (--key_file and --cert_file)") } log.Notice("Scanning existing cache directory %s...", opts.Dir) cache := server.NewCache(opts.Dir, time.Duration(opts.CleanFlags.CleanFrequency), time.Duration(opts.CleanFlags.MaxArtifactAge), uint64(opts.CleanFlags.LowWaterMark), uint64(opts.CleanFlags.HighWaterMark)) log.Notice("Starting up RPC cache server on port %d...", opts.Port) server.ServeGrpcForever(opts.Port, cache, opts.TLSFlags.KeyFile, opts.TLSFlags.CertFile, opts.TLSFlags.CACertFile, opts.TLSFlags.ReadonlyCerts, opts.TLSFlags.WritableCerts) }
func main() { cli.ParseFlagsOrDie("Please directory cache cleaner", "5.5.0", &opts) cli.InitLogging(opts.Verbosity) start(opts.Directory, int64(opts.HighWaterMark), int64(opts.LowWaterMark)) os.Exit(0) }
func main() { parser, extraArgs, flagsErr := cli.ParseFlags("Please", &opts, os.Args) // Note that we must leave flagsErr for later, because it may be affected by aliases. if opts.OutputFlags.Version { fmt.Printf("Please version %s\n", core.PleaseVersion) os.Exit(0) // Ignore other errors if --version was passed. } if opts.OutputFlags.Colour { output.SetColouredOutput(true) } else if opts.OutputFlags.NoColour { output.SetColouredOutput(false) } if opts.OutputFlags.ShowAllOutput { opts.OutputFlags.PlainOutput = true } // Init logging, but don't do file output until we've chdir'd. cli.InitLogging(opts.OutputFlags.Verbosity) command := activeCommand(parser) if command == "init" { if flagsErr != nil { // This error otherwise doesn't get checked until later. cli.ParseFlagsFromArgsOrDie("Please", core.PleaseVersion.String(), &opts, os.Args) } // If we're running plz init then we obviously don't expect to read a config file. utils.InitConfig(opts.Init.Dir, opts.Init.BazelCompatibility) os.Exit(0) } if opts.BuildFlags.RepoRoot == "" { core.FindRepoRoot(true) log.Debug("Found repo root at %s", core.RepoRoot) } else { core.RepoRoot = opts.BuildFlags.RepoRoot } // Please always runs from the repo root, so move there now. if err := os.Chdir(core.RepoRoot); err != nil { log.Fatalf("%s", err) } // Reset this now we're at the repo root. if opts.OutputFlags.LogFile != "" { cli.InitFileLogging(path.Join(core.RepoRoot, opts.OutputFlags.LogFile), opts.OutputFlags.LogFileLevel) } config = readConfig(command == "update") // Set this in case anything wants to use it soon core.NewBuildState(config.Please.NumThreads, nil, opts.OutputFlags.Verbosity, config) // Now we've read the config file, we may need to re-run the parser; the aliases in the config // can affect how we parse otherwise illegal flag combinations. if flagsErr != nil || len(extraArgs) > 0 { argv := strings.Join(os.Args, " ") for k, v := range config.Aliases { argv = strings.Replace(argv, k, v, 1) } parser = cli.ParseFlagsFromArgsOrDie("Please", core.PleaseVersion.String(), &opts, strings.Fields(argv)) command = activeCommand(parser) } if !buildFunctions[command]() { os.Exit(7) // Something distinctive, is sometimes useful to identify this externally. } }