Documentation ¶
Index ¶
- Constants
- Variables
- func GetJRESelector() (selector string)
- func SelectKeyringBackend(selectFunc SelectBackendFunc) (keyring.BackendType, error)
- type Argument
- type Arguments
- type Artifact
- type AspectRatio
- type Asset
- type AssetIndex
- type AssetIndexDescriptor
- type AssetPathResolver
- type AssetsMappingMethod
- type CleanError
- type Download
- type DownloadUnavailableError
- type ExtractOptions
- type Feature
- type FileDownload
- type FileState
- type IllegalDimensionValueError
- type IllegalDimensionsNumberError
- type Instance
- func (w *Instance) AssetIndexPath(id string) string
- func (w *Instance) AssetsObjectsPath() string
- func (w *Instance) AssetsVirtualPath(id string) string
- func (w *Instance) Close() error
- func (w *Instance) DefaultAssetsObjectResolver() AssetPathResolver
- func (w *Instance) DownloadAssetIndex(descriptor AssetIndexDescriptor) error
- func (w *Instance) DownloadAssets(index AssetIndex) error
- func (w *Instance) DownloadLibraries(libraries []Library) error
- func (w *Instance) DownloadLibrary(library *Library) error
- func (w *Instance) DownloadLogConfig(logConfig LoggingConfiguration) error
- func (w *Instance) DownloadVersion(versionFile Version) error
- func (w *Instance) DownloadVersionFile(descriptor VersionDescriptor) error
- func (w *Instance) ExtractNatives(v Version) (string, error)
- func (w *Instance) FetchJREs(force bool) (runtimes *JavaRuntimesMap, err error)
- func (w *Instance) FetchVersions(force bool) (manifest *VersionsManifest, err error)
- func (w *Instance) GetTempValue(key any) any
- func (w *Instance) IndexVersions() VersionRepository
- func (w *Instance) InstallJRE(runtimes JavaRuntimesMap, version string) error
- func (w *Instance) JREPath(version string, selector string) string
- func (w *Instance) Launch(version Version, options LaunchOptions) (*LaunchResult, error)
- func (w *Instance) LibrariesPath() string
- func (w *Instance) LibraryPath(coords maven.Coordinates) string
- func (w *Instance) LogConfigPath(logConfig LoggingConfiguration) string
- func (w *Instance) OpenAccountsStore() (*accounts.StoreFile, error)
- func (w *Instance) OpenKeyring(opts KeyringOpenOptions) (keyring.Keyring, error)
- func (w *Instance) OpenSettings() (*SettingsFile, error)
- func (w *Instance) ReadAssetIndex(id string) (i *AssetIndex, err error)
- func (w *Instance) ReadJREs() (runtimes *JavaRuntimesMap, err error)
- func (w *Instance) ReadOrCreateProfiles() (profiles *Profiles, err error)
- func (w *Instance) ReadProfiles() (profiles *Profiles, err error)
- func (w *Instance) ReadVersionFile(id string) (v *Version, err error)
- func (w *Instance) ReadVersionWithInherits(id string) (*Version, error)
- func (w *Instance) ReadVersions() (manifest *VersionsManifest, err error)
- func (w *Instance) SetTempValue(key any, v any)
- func (w *Instance) VersionFilePath(id string, ext string) (string, error)
- func (w *Instance) VersionFolderPath(id string) (string, error)
- func (w *Instance) WriteProfiles(profiles *Profiles) (err error)
- type JREInstallation
- type JREObject
- type JavaFile
- type JavaManifest
- type JavaRuntimesMap
- type JavaUnavailableError
- type JavaVersion
- type JavaVersionDescriptor
- type JavaVersionDescriptors
- type JavaVersionRecommendation
- type JavaVersionsMap
- type KeyringOpenOptions
- type LatestVersions
- type LaunchOptions
- type LaunchResult
- type Library
- type LibraryDownloads
- type Log4JEvent
- type Log4JEventConsumer
- type Log4JMessage
- type Log4JWriter
- type LoggingConfiguration
- type ManifestCache
- type OS
- type PostValidationError
- type Profile
- type Profiles
- type Resolution
- type ResolutionParseError
- type Rule
- type RuleAction
- type Rules
- type SelectBackendFunc
- type Settings
- type SettingsFile
- type Version
- type VersionDescriptor
- type VersionRepository
- type Versioned
- type VersionsManifest
Constants ¶
const ( ErrSystemUnsupported javaUnavailableErrno = iota )
const ( LatestSnapshotID = "latest-snapshot" LatestReleaseID = "latest-release" )
const DefaultJVMArgs = "" /* 149-byte string literal not displayed */
Variables ¶
var LauncherIcons = []string{
"Bedrock",
"Bookshelf",
"Brick",
"Cake",
"Carved_Pumpkin",
"Chest",
"Clay",
"Coal_Block",
"Coal_Ore",
"Cobblestone",
"Crafting_Table",
"Creeper_Head",
"Diamond_Block",
"Diamond_Ore",
"Dirt",
"Dirt_Podzol",
"Dirt_Snow",
"Emerald_Block",
"Emerald_Ore",
"Enchanting_Table",
"End_Stone",
"Farmland",
"Furnace",
"Furnace_On",
"Glass",
"Glazed_Terracotta_Light_Blue",
"Glazed_Terracotta_Orange",
"Glazed_Terracotta_White",
"Glowstone",
"Gold_Block",
"Gold_Ore",
"Grass",
"Gravel",
"Hardened_Clay",
"Ice_Packed",
"Iron_Block",
"Iron_Ore",
"Lapis_Ore",
"Leaves_Birch",
"Leaves_Jungle",
"Leaves_Oak",
"Leaves_Spruce",
"Lectern_Book",
"Log_Acacia",
"Log_Birch",
"Log_DarkOak",
"Log_Jungle",
"Log_Oak",
"Log_Spruce",
"Mycelium",
"Nether_Brick",
"Netherrack",
"Obsidian",
"Planks_Acacia",
"Planks_Birch",
"Planks_DarkOak",
"Planks_Jungle",
"Planks_Oak",
"Planks_Spruce",
"Quartz_Ore",
"Red_Sand",
"Red_Sandstone",
"Redstone_Block",
"Redstone_Ore",
"Sand",
"Sandstone",
"Skeleton_Skull",
"Snow",
"Soul_Sand",
"Stone",
"Stone_Andesite",
"Stone_Diorite",
"Stone_Granite",
"TNT",
"Water",
"Wool",
}
Functions ¶
func GetJRESelector ¶
func GetJRESelector() (selector string)
GetJRESelector returns a selector, representing operating system and architecture to select the most appropriate JRE version in JavaRuntimesMap. It is used internally by GetMatching function.
func SelectKeyringBackend ¶
func SelectKeyringBackend(selectFunc SelectBackendFunc) (keyring.BackendType, error)
Types ¶
type AspectRatio ¶
type AssetIndex ¶
type AssetIndex struct { MapToResources *bool `json:"map_to_resources,omitempty"` // Whether the assets should be virtualized into the ${game_dir}/resources directory. Objects map[string]Asset `json:"objects"` // All asset objects mapped under their file paths. Virtual *bool `json:"virtual,omitempty"` // Whether the assets should be virtualized into the ${root}/assets/virtual directory. }
func (*AssetIndex) GetMappingMethod ¶
func (i *AssetIndex) GetMappingMethod() AssetsMappingMethod
func (*AssetIndex) Virtualize ¶
func (i *AssetIndex) Virtualize(pr AssetPathResolver, virtualPath string, method AssetsMappingMethod) error
type AssetIndexDescriptor ¶
type AssetPathResolver ¶
type AssetsMappingMethod ¶
type AssetsMappingMethod byte
const ( NoMapping AssetsMappingMethod = iota // Assets should not be mapped, game reads assets manually. AsCopies // Assets should be mapped in game directory, in resources folder. AsLinks // Assets should be mapped to virtual assets directory. )
type CleanError ¶
type CleanError struct {
Suppressed []error
}
func (*CleanError) Error ¶
func (e *CleanError) Error() string
type DownloadUnavailableError ¶
type DownloadUnavailableError struct {
}func (*DownloadUnavailableError) Error ¶
func (d *DownloadUnavailableError) Error() string
func (*DownloadUnavailableError) Is ¶
func (d *DownloadUnavailableError) Is(target error) bool
type ExtractOptions ¶
type ExtractOptions struct {
Exclude []string `json:"exclude,omitempty"`
}
func (*ExtractOptions) Include ¶
func (e *ExtractOptions) Include(name string) bool
type FileDownload ¶
type FileDownload struct { ID string `json:"id"` // contains filtered or unexported fields }
type FileState ¶
type FileState int
FileState represents the state of a file.
const ( FileStateUnknown FileState = iota // File has not yet been checked. FileStateNotDownloaded // File has not yet been downloaded. FileStateCorrupted // File is corrupted and must be deleted. FileStateDownloaded // File is downloaded and ready to be mapped. FileStateReady // File is mapped and ready. )
type IllegalDimensionValueError ¶
type IllegalDimensionValueError struct { Value string // Value that cannot be processed Dimension string // Either "width" or "height" Err error // Parsing error, if any }
IllegalDimensionValueError is an error that is reported when value for specific dimension is incorrect.
func (*IllegalDimensionValueError) Error ¶
func (e *IllegalDimensionValueError) Error() string
func (*IllegalDimensionValueError) Is ¶
func (e *IllegalDimensionValueError) Is(target error) bool
func (*IllegalDimensionValueError) Unwrap ¶
func (e *IllegalDimensionValueError) Unwrap() error
type IllegalDimensionsNumberError ¶
type IllegalDimensionsNumberError struct {
Count int // The number of dimensions found, or -1 if none
}
IllegalDimensionsNumberError is an error that is reported when the dimensions number does not meet or exceeds allowed range (that is 2 dimensions - width and height).
func (*IllegalDimensionsNumberError) Error ¶
func (e *IllegalDimensionsNumberError) Error() string
func (*IllegalDimensionsNumberError) Is ¶
func (e *IllegalDimensionsNumberError) Is(target error) bool
type Instance ¶
type Instance struct { // Path to the instance directory Path string TemporalData map[any]any // contains filtered or unexported fields }
func OpenInstance ¶
func (*Instance) AssetIndexPath ¶
func (*Instance) AssetsObjectsPath ¶
func (*Instance) AssetsVirtualPath ¶
func (*Instance) DefaultAssetsObjectResolver ¶
func (w *Instance) DefaultAssetsObjectResolver() AssetPathResolver
func (*Instance) DownloadAssetIndex ¶
func (w *Instance) DownloadAssetIndex(descriptor AssetIndexDescriptor) error
func (*Instance) DownloadAssets ¶
func (w *Instance) DownloadAssets(index AssetIndex) error
func (*Instance) DownloadLibraries ¶
func (*Instance) DownloadLibrary ¶
func (*Instance) DownloadLogConfig ¶
func (w *Instance) DownloadLogConfig(logConfig LoggingConfiguration) error
func (*Instance) DownloadVersion ¶
func (*Instance) DownloadVersionFile ¶
func (w *Instance) DownloadVersionFile(descriptor VersionDescriptor) error
func (*Instance) FetchJREs ¶
func (w *Instance) FetchJREs(force bool) (runtimes *JavaRuntimesMap, err error)
FetchJREs checks whether existing Java Runtimes manifest file is not too old, then, if it is old, fetches anew, or otherwise, re-uses existing file, unless force argument is set to true.
func (*Instance) FetchVersions ¶
func (w *Instance) FetchVersions(force bool) (manifest *VersionsManifest, err error)
func (*Instance) GetTempValue ¶
func (*Instance) IndexVersions ¶
func (w *Instance) IndexVersions() VersionRepository
IndexVersions tries to read all the versions in the versions' directory.
func (*Instance) InstallJRE ¶
func (w *Instance) InstallJRE(runtimes JavaRuntimesMap, version string) error
func (*Instance) Launch ¶
func (w *Instance) Launch(version Version, options LaunchOptions) (*LaunchResult, error)
func (*Instance) LibrariesPath ¶
LibrariesPath returns expected path for the libraries to be placed in.
func (*Instance) LibraryPath ¶
func (w *Instance) LibraryPath(coords maven.Coordinates) string
LibraryPath returns expected path for the library to be placed in.
func (*Instance) LogConfigPath ¶
func (w *Instance) LogConfigPath(logConfig LoggingConfiguration) string
func (*Instance) OpenAccountsStore ¶
func (*Instance) OpenKeyring ¶
func (w *Instance) OpenKeyring(opts KeyringOpenOptions) (keyring.Keyring, error)
func (*Instance) OpenSettings ¶
func (w *Instance) OpenSettings() (*SettingsFile, error)
func (*Instance) ReadAssetIndex ¶
func (w *Instance) ReadAssetIndex(id string) (i *AssetIndex, err error)
func (*Instance) ReadJREs ¶
func (w *Instance) ReadJREs() (runtimes *JavaRuntimesMap, err error)
ReadJREs tries to read existing Java Runtimes manifest file
func (*Instance) ReadOrCreateProfiles ¶
func (*Instance) ReadProfiles ¶
func (*Instance) ReadVersionFile ¶
func (*Instance) ReadVersionWithInherits ¶
func (*Instance) ReadVersions ¶
func (w *Instance) ReadVersions() (manifest *VersionsManifest, err error)
func (*Instance) SetTempValue ¶
func (*Instance) VersionFilePath ¶
func (*Instance) VersionFolderPath ¶
func (*Instance) WriteProfiles ¶
type JREInstallation ¶
type JREInstallation struct { Classifier string Selector string Descriptor *JavaVersionDescriptor Manifest *JavaManifest Path string // Root path of the installation // contains filtered or unexported fields }
func NewInstallation ¶
func NewInstallation(classifier string, selector string, descriptor *JavaVersionDescriptor, path string) *JREInstallation
func (*JREInstallation) Install ¶
func (i *JREInstallation) Install() error
type JavaFile ¶
type JavaFile struct { Downloads map[string]Download `json:"downloads"` // Map of downloads per type (lzma, raw) Executable bool `json:"executable"` // Whether this file must be granted executable permission on Linux Type java.FileType `json:"type"` // File type Target string `json:"target"` // If file is a link, target to where it links to }
type JavaManifest ¶
type JavaRuntimesMap ¶
type JavaRuntimesMap map[string]JavaVersionsMap
JavaRuntimesMap acts just like a normal map, fetched manifest from Mojang site is unmarshalled into this type. It contains maps of JRE versions mapped under the keys for different operating systems. For easy access method GetMatching method is provided, that will return needed map for current operating system.
func (JavaRuntimesMap) GetMatching ¶
func (m JavaRuntimesMap) GetMatching() (versions JavaVersionsMap, selector string)
GetMatching returns a map of versions matching the current operating system (if any), as well as the selector reported by GetJRESelector function for when there's a need in those (e.g. logging or debugging).
type JavaUnavailableError ¶
type JavaUnavailableError struct {}
func (*JavaUnavailableError) Error ¶
func (j *JavaUnavailableError) Error() (text string)
func (*JavaUnavailableError) Is ¶
func (j *JavaUnavailableError) Is(target error) bool
type JavaVersion ¶
type JavaVersion struct { Name string `json:"name"` // Full version of the JRE Released sdtypes.RFC3339Time `json:"released"` // Time when the version was released }
type JavaVersionDescriptor ¶
type JavaVersionDescriptor struct { Manifest Download `json:"manifest"` // Download for the JavaManifest file Version JavaVersion `json:"version"` // Represents Java version and release time }
type JavaVersionDescriptors ¶
type JavaVersionDescriptors []*JavaVersionDescriptor
JavaVersionDescriptors acts like a normal array of Java versions, but provides helpful method MostRecent to retrieve the most recent version from the array (if more than one).
func (JavaVersionDescriptors) Get ¶
func (a JavaVersionDescriptors) Get(version string) *JavaVersionDescriptor
func (JavaVersionDescriptors) MostRecent ¶
func (a JavaVersionDescriptors) MostRecent() (newest *JavaVersionDescriptor)
MostRecent returns most recently released Java version from the JavaVersionDescriptors array
type JavaVersionsMap ¶
type JavaVersionsMap map[string]JavaVersionDescriptors
JavaVersionsMap acts like a normal map of Java versions arrays, under the Mojang's identifiers.
type KeyringOpenOptions ¶
type KeyringOpenOptions struct { Backend keyring.BackendType // Keyring backend to use. PromptFunc keyring.PromptFunc // PromptFunc is a function that is called when the keyring needs a password to unlock. PassCmd string PassDir string }
type LatestVersions ¶
type LaunchOptions ¶
type LaunchOptions struct { Background bool // Whether to launch the game in background with attacking it a child. JavaPath string // Path to javaw executable. JavaArgs *string // User JVM arguments. Resolution *Resolution // Custom resolution. Authorization accounts.Authorization // Authorization. GameDirectory string // Directory where game stores its files like resource packs. }
type LaunchResult ¶
func (*LaunchResult) Clean ¶
func (r *LaunchResult) Clean() error
type Library ¶
type Library struct { Downloads *LibraryDownloads `json:"downloads,omitempty"` Coordinates maven.Coordinates `json:"name"` URL *string `json:"url,omitempty"` Rules Rules `json:"rules,omitempty"` Extract *ExtractOptions `json:"extract,omitempty"` Natives map[string]string `json:"natives,omitempty"` }
func (*Library) GetMatchingNatives ¶
GetMatchingNatives returns the natives matching the current running OS and arch.
type LibraryDownloads ¶
type Log4JEvent ¶
type Log4JEvent struct { XMLName xml.Name `xml:"Event"` Logger string `xml:"logger,attr"` Timestamp sdtypes.EpochTimeMillis `xml:"timestamp,attr"` Level string `xml:"level,attr"` Thread string `xml:"thread,attr"` Message Log4JMessage `xml:"Message"` }
type Log4JEventConsumer ¶
type Log4JEventConsumer func(event Log4JEvent)
type Log4JMessage ¶
type Log4JWriter ¶
type Log4JWriter struct {
Consumer Log4JEventConsumer
}
type LoggingConfiguration ¶
type LoggingConfiguration struct { Argument string `json:"argument"` File FileDownload `json:"file"` Type string `json:"type"` }
type ManifestCache ¶
type ManifestCache struct { CachedManifest VersionsManifest CachedAt time.Time }
type OS ¶
type PostValidationError ¶
type PostValidationError struct {
BadObjects []JREObject
}
func (*PostValidationError) Error ¶
func (p *PostValidationError) Error() string
type Profile ¶
type Profile struct { // Date and time when the profile is created // // MCL compatibility: MCL does not care if this field is absent or null Created *sdtypes.ISOTime `json:"created,omitempty"` // Icon used for the profile: either launcher asset name or data:// URI // // MCL compatibility: MCL does not care if this field is absent or null (uses Furnace instead) Icon *string `json:"icon,omitempty"` // Date and time when this profile was last used // // MCL compatibility: MCL will reset this field if absent or null LastUsed sdtypes.ISOTime `json:"lastUsed"` // Version used by this profile // // MCL compatibility: MCL will ignore and delete profile if this field is absent or null LastVersionID string `json:"lastVersionId,omitempty"` // Profile name // // MCL compatibility: if this field is empty, MCL will just display "<unnamed installation>" Name string `json:"name"` // Profile type // // MCL compatibility: MCL does not care if this field is absent or null. It, however, does care if this is set to // "latest-release" or "latest-snapshot" in which case it will prevent user from changing the version and icon, // which will be set to grass block or crafting table depending on the type. Attempting to launch such version // also results in launching the latest release/snapshot, not the version specified in profile. Type string `json:"type"` // Arguments passed to JVM when launching this profile JavaArgs *string `json:"javaArgs,omitempty"` // Path to JavaW executable // // By unknown reason this is called JavaDir in JSON, but it expects path to JavaW executable. If this field is // omitted, the bundled version will be used instead. JavaPath *string `json:"javaDir,omitempty"` // Minecraft's resolution (size of the window) when launching this profile Resolution *Resolution `json:"resolution,omitempty"` // Directory where game files like resource packs and mods are stored. GameDir string `json:"gameDir,omitempty"` }
type Profiles ¶
type Profiles struct { Profiles map[string]Profile `json:"profiles"` // All profiles saved in launcher Version *int `json:"version"` // Version of the file SelectedProfile *string `json:"selectedProfile,omitempty"` // Selected profile. Unknown j2n.UnknownFields `json:"-"` // Support fields from Minecraft Launcher }
type Resolution ¶
func ParseResolution ¶
func ParseResolution(v string) (*Resolution, error)
ParseResolution parses resolution in format WIDTHxHEIGHT or HEIGHTp, which returns LauncherProfileResolution with width and height fields set accordingly. Height is optional and can be omitted.
For value "auto" this function will return nothing (neither resolution, nor error).
func (*Resolution) CalculateMissingSides ¶
func (r *Resolution) CalculateMissingSides(ratio AspectRatio) (res Resolution)
CalculateMissingSides calculates sizes for missing sides of resolution given the aspect ratio. If both sides are missing, then returns the initial value.
func (*Resolution) MarshalJSON ¶
func (r *Resolution) MarshalJSON() ([]byte, error)
func (*Resolution) Max ¶
func (r *Resolution) Max(c Resolution) (res Resolution)
func (*Resolution) Min ¶
func (r *Resolution) Min(c Resolution) (res Resolution)
func (*Resolution) UnmarshalJSON ¶
func (r *Resolution) UnmarshalJSON(data []byte) error
type ResolutionParseError ¶
ResolutionParseError is an error that is reported when resolution cannot be parsed from string
func (*ResolutionParseError) Error ¶
func (e *ResolutionParseError) Error() string
func (*ResolutionParseError) Is ¶
func (e *ResolutionParseError) Is(target error) bool
func (*ResolutionParseError) Unwrap ¶
func (e *ResolutionParseError) Unwrap() error
type Rule ¶
type Rule struct { Action RuleAction `json:"action"` OS *OS `json:"os,omitempty"` Features *map[Feature]bool `json:"features,omitempty"` }
func (*Rule) Decide ¶
func (r *Rule) Decide() RuleAction
Decide decides the action to take based on basic rules. It does not take features into account, for this DecideExtensively must be used.
func (*Rule) DecideExtensively ¶
func (r *Rule) DecideExtensively(featSet map[Feature]bool) RuleAction
DecideExtensively decides the action to take based on the rules. It does check basic rules, so it is pointless to call Decide together with it.
type RuleAction ¶
type RuleAction string
const ( Allow RuleAction = "allow" Disallow RuleAction = "disallow" )
func (*RuleAction) Invert ¶
func (r *RuleAction) Invert() RuleAction
func (*RuleAction) IsValid ¶
func (r *RuleAction) IsValid() error
func (*RuleAction) MarshalJSON ¶
func (r *RuleAction) MarshalJSON() ([]byte, error)
func (*RuleAction) String ¶
func (r *RuleAction) String() (string, error)
func (*RuleAction) UnmarshalJSON ¶
func (r *RuleAction) UnmarshalJSON(i []byte) error
type SelectBackendFunc ¶
type SelectBackendFunc func(backends []keyring.BackendType) (keyring.BackendType, error)
type Settings ¶
type Settings struct { Versioned `mapstructure:",squash"` Keyring struct { Backend *keyring.BackendType `mapstructure:"backend"` PassCmd string `mapstructure:"pass-cmd"` PassDir string `mapstructure:"pass-dir"` } `mapstructure:"keyring"` }
type SettingsFile ¶
type SettingsFile struct { Settings // Actual settings. // contains filtered or unexported fields }
func NewSettings ¶
func NewSettings(name string) *SettingsFile
func (*SettingsFile) Read ¶
func (s *SettingsFile) Read() (err error)
func (*SettingsFile) Save ¶
func (s *SettingsFile) Save() error
type Version ¶
type Version struct { Arguments *Arguments `json:"arguments,omitempty"` AssetIndex *AssetIndexDescriptor `json:"assetIndex,omitempty"` Assets *string `json:"assets,omitempty"` ComplianceLevel *int `json:"complianceLevel,omitempty"` Downloads map[string]Download `json:"downloads,omitempty"` ID string `json:"id"` JavaVersion *JavaVersionRecommendation `json:"javaVersion,omitempty"` Libraries []Library `json:"libraries"` Logging map[string]LoggingConfiguration `json:"logging,omitempty"` MainClass string `json:"mainClass"` MinimumLauncherVersion int `json:"minimumLauncherVersion"` ReleaseTime *sdtypes.ISOTime `json:"releaseTime"` Time *sdtypes.ISOTime `json:"time"` Type *string `json:"type"` InheritsFrom *string `json:"inheritsFrom,omitempty"` MinecraftArguments *string `json:"minecraftArguments,omitempty"` }
func MergeVersions ¶
type VersionDescriptor ¶
type VersionDescriptor struct { ID string `json:"id"` Type string `json:"type"` URL string `json:"url"` Time sdtypes.RFC3339Time `json:"time"` ReleaseTime sdtypes.RFC3339Time `json:"releaseTime"` SHA1 string `json:"sha1"` ComplianceLevel int `json:"complianceLevel"` }
type VersionRepository ¶
type VersionsManifest ¶
type VersionsManifest struct { Latest LatestVersions `json:"latest"` Versions []VersionDescriptor `json:"versions"` }
func (*VersionsManifest) GetVersion ¶
func (v *VersionsManifest) GetVersion(id string) *VersionDescriptor
Source Files ¶
- accounts.go
- accounts_consts.go
- arguments.go
- assets.go
- assets_consts.go
- assets_types.go
- auth.go
- consts.go
- instance.go
- jre.go
- jre_consts.go
- jre_errors.go
- jre_installation.go
- jre_types.go
- launching.go
- libraries.go
- libraries_consts.go
- libraries_types.go
- log4j_logproc.go
- logger_reader.go
- logging.go
- logging_types.go
- merger.go
- natives.go
- os.go
- profiles.go
- profiles_consts.go
- profiles_errors.go
- profiles_types.go
- resolution.go
- resources.go
- rules.go
- settings.go
- temporal_data.go
- utils.go
- versions.go
- versions_consts.go
- versions_errors.go
- versions_manifest.go
- versions_repo.go
- versions_types.go