| Index: go/src/infra/tools/cr/cmd/firstrun/firstrun.go
|
| diff --git a/go/src/infra/tools/cr/cmd/firstrun/firstrun.go b/go/src/infra/tools/cr/cmd/firstrun/firstrun.go
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..08d1c1faf695b969ab5a1e27aef5195d33c288d9
|
| --- /dev/null
|
| +++ b/go/src/infra/tools/cr/cmd/firstrun/firstrun.go
|
| @@ -0,0 +1,44 @@
|
| +// Copyright 2016 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +/*
|
| +Generally only executed once on a given machine, the firstrun command installs
|
| +the cr tool, prepares a space for it to install modules, and adds it to $PATH.
|
| +*/
|
| +
|
| +package firstrun
|
| +
|
| +import (
|
| + "flag"
|
| +
|
| + "infra/tools/cr/lib/subcommand"
|
| +)
|
| +
|
| +var (
|
| + // Package-level variables for subcommand flags.
|
| + path string
|
| +)
|
| +
|
| +var shortHelp = "Install the cr tool and intelligently add it to $PATH."
|
| +
|
| +var longHelp = `Given a path to a desired install directory, it takes ownership of that
|
| +directory, sets it up to support installation of modules, and adds the
|
| +directory to $PATH (by prompting to modify e.g. the registry or .bashrc).
|
| +
|
| +The firstrun command is intended to only be run once, when first
|
| +installing the cr tool.
|
| +
|
| +Examples:
|
| + cr firstrun -verbose -path ~/local/bin/`
|
| +
|
| +func flags(flags *flag.FlagSet) {
|
| + flags.StringVar(&path, "path", "", "the path to install 'cr' in")
|
| +}
|
| +
|
| +func run(flags *flag.FlagSet) error {
|
| + firstrunCheckNotInstalled()
|
| + return nil
|
| +}
|
| +
|
| +var FirstrunCmd = subcommand.New(shortHelp, longHelp, flags, run)
|
|
|