pkg profiles, const Install Action
pkg profiles, const InstallerSeparator ideal-string
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, const V5 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 QualifiedProfileName(string, string) string
pkg profiles, func RegisterTargetAndEnvFlags(*flag.FlagSet, *Target)
pkg profiles, func RegisterTargetFlag(*flag.FlagSet, *Target)
pkg profiles, func RemoveTarget(Targets, *Target) Targets
pkg profiles, func SplitProfileName(string) (string, string)
pkg profiles, method (*DB) AddProfileTarget(string, string, Target) error
pkg profiles, method (*DB) EnvFromProfile(string, string, Target) []string
pkg profiles, method (*DB) InstallProfile(string, string, string) *Profile
pkg profiles, method (*DB) LookupProfile(string, string) *Profile
pkg profiles, method (*DB) LookupProfileTarget(string, string, Target) *Target
pkg profiles, method (*DB) Names() []string
pkg profiles, method (*DB) Path() string
pkg profiles, method (*DB) Profiles() []*Profile
pkg profiles, method (*DB) Read(*jiri.X, string) error
pkg profiles, method (*DB) RemoveProfileTarget(string, string, Target) bool
pkg profiles, method (*DB) SchemaVersion() Version
pkg profiles, method (*DB) UpdateProfileTarget(string, string, Target) error
pkg profiles, method (*DB) Write(*jiri.X, string, string) error
pkg profiles, method (*Environment) Get() interface{}
pkg profiles, method (*Environment) Set(string) error
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 (Environment) String() string
pkg profiles, method (Environment) Usage() 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, Installer, Name, OSPackages, 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, Installer() string
pkg profiles, type Manager interface, Name() string
pkg profiles, type Manager interface, OSPackages(*jiri.X, *DB, jiri.RelPath, Target) ([]string, error)
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
