pkg profiles, const Install Action
pkg profiles, const Original Version
pkg profiles, const Uninstall Action
pkg profiles, const V2 Version
pkg profiles, const V3 Version
pkg profiles, const V4 Version
pkg profiles, func DefaultTarget() Target
pkg profiles, func FindTarget(Targets, *Target) *Target
pkg profiles, func FindTargetWithDefault(Targets, *Target) *Target
pkg profiles, func InsertTarget(Targets, *Target) Targets
pkg profiles, func NativeTarget() Target
pkg profiles, func NewDB() *DB
pkg profiles, func NewTarget(string, ...string) (Target, error)
pkg profiles, func NewVersionInfo(string, map[string]interface{}, string) *VersionInfo
pkg profiles, func RegisterProfilesFlag(*flag.FlagSet, *string)
pkg profiles, func RegisterTargetAndEnvFlags(*flag.FlagSet, *Target)
pkg profiles, func RegisterTargetFlag(*flag.FlagSet, *Target)
pkg profiles, func RemoveTarget(Targets, *Target) Targets
pkg profiles, method (*DB) AddProfileTarget(string, Target) error
pkg profiles, method (*DB) EnvFromProfile(string, Target) []string
pkg profiles, method (*DB) Filename() string
pkg profiles, method (*DB) InstallProfile(string, string) *Profile
pkg profiles, method (*DB) LookupProfile(string) *Profile
pkg profiles, method (*DB) LookupProfileTarget(string, Target) *Target
pkg profiles, method (*DB) Names() []string
pkg profiles, method (*DB) Profiles() []*Profile
pkg profiles, method (*DB) Read(*jiri.X, string) error
pkg profiles, method (*DB) RemoveProfileTarget(string, Target) bool
pkg profiles, method (*DB) SchemaVersion() Version
pkg profiles, method (*DB) UpdateProfileTarget(string, Target) error
pkg profiles, method (*DB) Write(*jiri.X, string) error
pkg profiles, method (*Environment) Get() interface{}
pkg profiles, method (*Environment) Set(string) error
pkg profiles, method (*Environment) String() string
pkg profiles, method (*Environment) Usage() string
pkg profiles, method (*Profile) Name() string
pkg profiles, method (*Profile) Root() string
pkg profiles, method (*Profile) Targets() Targets
pkg profiles, method (*Target) Arch() string
pkg profiles, method (*Target) Less(*Target) bool
pkg profiles, method (*Target) OS() string
pkg profiles, method (*Target) Set(string) error
pkg profiles, method (*Target) SetVersion(string)
pkg profiles, method (*Target) TargetSpecificDirname() string
pkg profiles, method (*Target) Usage() string
pkg profiles, method (*Target) UseCommandLineEnv()
pkg profiles, method (*Target) Version() string
pkg profiles, method (*VersionInfo) Default() string
pkg profiles, method (*VersionInfo) IsTargetNewerThanDefault(string) bool
pkg profiles, method (*VersionInfo) IsTargetOlderThanDefault(string) bool
pkg profiles, method (*VersionInfo) Lookup(string, interface{}) error
pkg profiles, method (*VersionInfo) Select(string) (string, error)
pkg profiles, method (*VersionInfo) String() string
pkg profiles, method (*VersionInfo) Supported() []string
pkg profiles, method (Target) CommandLineEnv() Environment
pkg profiles, method (Target) CrossCompiling() bool
pkg profiles, method (Target) DebugString() string
pkg profiles, method (Target) Get() interface{}
pkg profiles, method (Target) IsSet() bool
pkg profiles, method (Target) Match(*Target) bool
pkg profiles, method (Target) String() string
pkg profiles, method (Targets) Len() int
pkg profiles, method (Targets) Less(int, int) bool
pkg profiles, method (Targets) Sort()
pkg profiles, method (Targets) Swap(int, int)
pkg profiles, type Action int
pkg profiles, type DB struct
pkg profiles, type Environment struct
pkg profiles, type Environment struct, Vars []string
pkg profiles, type Manager interface { AddFlags, Info, Install, Name, String, Uninstall, VersionInfo }
pkg profiles, type Manager interface, AddFlags(*flag.FlagSet, Action)
pkg profiles, type Manager interface, Info() string
pkg profiles, type Manager interface, Install(*jiri.X, *DB, jiri.RelPath, Target) error
pkg profiles, type Manager interface, Name() string
pkg profiles, type Manager interface, String() string
pkg profiles, type Manager interface, Uninstall(*jiri.X, *DB, jiri.RelPath, Target) error
pkg profiles, type Manager interface, VersionInfo() *VersionInfo
pkg profiles, type Profile struct
pkg profiles, type Target struct
pkg profiles, type Target struct, Env Environment
pkg profiles, type Target struct, InstallationDir string
pkg profiles, type Target struct, UpdateTime time.Time
pkg profiles, type Targets []*Target
pkg profiles, type Version int
pkg profiles, type VersionInfo struct
