luci: go.chromium.org/luci/vpython/application Index | Files

package application

import "go.chromium.org/luci/vpython/application"

Index

Package Files

application.go flag.go probe.go subcommand_delete.go subcommand_install.go subcommand_verify.go support.go

Constants

const (
    // VirtualEnvRootENV is an environment variable that, if set, will be used
    // as the default VirtualEnv root.
    //
    // This value overrides the default (~/.vpython-root), but can be overridden
    // by the "-vpython-root" flag.
    //
    // Like "-vpython-root", if this value is present but empty, a tempdir will be
    // used for the VirtualEnv root.
    VirtualEnvRootENV = "VPYTHON_VIRTUALENV_ROOT"

    // DefaultSpecENV is an environment variable that, if set, will be used as the
    // default VirtualEnv spec file if none is provided or found through probing.
    DefaultSpecENV = "VPYTHON_DEFAULT_SPEC"

    // LogTraceENV is an environment variable that, if set, will set the default
    // log level to Debug.
    //
    // This is useful when debugging scripts that invoke "vpython" internally,
    // where adding the "-vpython-log-level" flag is not straightforward. The
    // flag is preferred when possible.
    LogTraceENV = "VPYTHON_LOG_TRACE"

    // ClearPythonPathENV if set instructs vpython to clear the PYTHONPATH
    // environment variable prior to launching the VirtualEnv Python interpreter.
    //
    // After initial processing, this enviornment variable will be cleared.
    //
    // TODO(iannucci): Delete this once we're satisfied that PYTHONPATH exports
    // are under control.
    ClearPythonPathENV = "VPYTHON_CLEAR_PYTHONPATH"
)

type Config Uses

type Config struct {
    // PackageLoader is the package loader to use.
    PackageLoader venv.PackageLoader

    // SpecLoader is a spec.Loader to use when loading "vpython" specifications.
    //
    // The zero value is a valid default loader. Users may specialize it by
    // populating some or all of its fields.
    SpecLoader spec.Loader

    // VENVPackage is the VirtualEnv package to use for bootstrap generation.
    VENVPackage vpythonAPI.Spec_Package

    // BaseWheels is the set of wheels to include in the spec. These will always
    // be merged into the runtime spec and normalized, such that any duplicate
    // wheels will be deduplicated.
    BaseWheels []*vpythonAPI.Spec_Package

    // RelativePathOverride is a series of forward-slash-delimited paths to
    // directories relative to the "vpython" executable that will be checked
    // for Python targets prior to checking PATH. This allows bundles (e.g., CIPD)
    // that include both the wrapper and a real implementation, to force the
    // wrapper to use the bundled implementation if present.
    //
    // See "go.chromium.org/luci/common/wrapper/prober.Probe"'s
    // RelativePathOverride member for more information.
    RelativePathOverride []string

    // PruneThreshold, if > 0, is the maximum age of a VirtualEnv before it
    // becomes candidate for pruning. If <= 0, no pruning will be performed.
    //
    // See venv.Config's PruneThreshold.
    PruneThreshold time.Duration
    // MaxPrunesPerSweep, if > 0, is the maximum number of VirtualEnv that should
    // be pruned passively. If <= 0, no limit will be applied.
    //
    // See venv.Config's MaxPrunesPerSweep.
    MaxPrunesPerSweep int

    // Bypass, if true, instructs vpython to completely bypass VirtualEnv
    // bootstrapping and execute with the local system interpreter.
    Bypass bool

    // DefaultVerificationTags is the default set of PEP425 tags to verify a
    // specification against.
    //
    // An individual specification can override this by specifying its own
    // verification tag set.
    DefaultVerificationTags []*vpythonAPI.PEP425Tag
}

Config is an application's default configuration.

func (*Config) Main Uses

func (cfg *Config) Main(c context.Context, argv []string, env environ.Env) int

Main is the main application entry point.

type VerificationFunc Uses

type VerificationFunc func(context.Context, string, venv.PackageLoader, *vpythonAPI.Environment)

VerificationFunc is a function used in environment verification.

VerificationFunc will be invoked with a PackageLoader and an Environment to use for verification.

Package application imports 25 packages (graph) and is imported by 1 packages. Updated 2018-12-16. Refresh now. Tools for package owners.