Documentation
¶
Index ¶
Constants ¶
View Source
const (
LinuxRedistTypeHosted = "hosted"
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type LinuxRedistType ¶
type LinuxRedistType string
type LinuxSanityCheck ¶
type RedistEntry ¶
type RedistEntry struct {
// FullName is the human-readable name for a redistributable
FullName string `json:"fullName"`
// Which platforms this redist is available for
Platforms []string `json:"platforms"`
// Version is the version of the redistributable we're distributing
Version string `json:"version"`
// Arch is the architecture of the redist in question
Arch string `json:"arch"`
// Windows-specific fields
Windows *RedistEntryWindows `json:"windows,omitempty"`
// Linux-specific fields
Linux *RedistEntryLinux `json:"linux,omitempty"`
// macOS-specific fields
OSX *RedistEntryOSX `json:"osx,omitempty"`
// Command is the exe/msi to fire up to install the redist
Command string `json:"command"`
// Elevate is true if the exe/msi needs administrative rights
Elevate bool `json:"elevate"`
// Args are passed to the Command
Args []string `json:"args,omitempty"`
// RegistryKeys hint that the redist might already be installed, if present
RegistryKeys []string `json:"registryKeys,omitempty"`
// DLLs hint that the redist might already be installed, if we can load them
DLLs []string `json:"dlls,omitempty"`
// ExitCodes let prereqs installation succeed in case of non-zero exit codes
// that mean something like "this is already installed"
ExitCodes []*ExitCode `json:"exitCodes,omitempty"`
}
type RedistEntryLinux ¶
type RedistEntryLinux struct {
// Is it something we download from the CDN and unpack ourselves or
// do we use the system's package manager?
Type LinuxRedistType `json:"type"`
// List of files to `chmod +x`, relative to the prereqs destination folder
EnsureExecutable []string `json:"ensureExecutable,omitempty"`
// List of files to `chmod +x`, relative to the prereqs destination folder
EnsureSuidRoot []string `json:"ensureSuidRoot,omitempty"`
// Sanity checks to ensure that the redist is properly installed
SanityChecks []*LinuxSanityCheck `json:"sanityChecks,omitempty"`
}
type RedistEntryOSX ¶
type RedistEntryOSX struct {
}
type RedistEntryWindows ¶
type RedistEntryWindows struct {
// Command is the exe/msi to fire up to install the redist
Command string `json:"command"`
// Elevate is true if the exe/msi needs administrative rights
Elevate bool `json:"elevate"`
// Args are passed to the Command
Args []string `json:"args"`
// RegistryKeys hint that the redist might already be installed, if present
RegistryKeys []string `json:"registryKeys,omitempty"`
// DLLs hint that the redist might already be installed, if we can load them
DLLs []string `json:"dlls,omitempty"`
// ExitCodes let prereqs installation succeed in case of non-zero exit codes
// that mean something like "this is already installed"
ExitCodes []*ExitCode `json:"exitCodes,omitempty"`
}
type RedistRegistry ¶
type RedistRegistry struct {
Entries map[string]*RedistEntry `json:"entries"`
}
Click to show internal directories.
Click to hide internal directories.