Documentation
¶
Index ¶
Constants ¶
View Source
const ( OSWindows = "windows" OSLinux = "linux" OSDarwin = "darwin" OSFreeBSD = "freebsd" OSNetBSD = "netbsd" OSIllumos = "illumos" OSSolaris = "solaris" OSOpenBSD = "openbsd" // OS Aliases OSMacOS = "macos" OSX = "osx" // Base arches ArchX8664 = "x86_64" Arch386 = "386" ArchArm = "arm" ArchArm64 = "arm64" ArchRiscV64 = "riscv64" ArchUniversal = "universal" // Not supported ArchS390X = "s390x" // IBM Z ArchPPC64LE = "ppc64le" // IBM Power (redhat naming) ArchPPC64EL = "ppc64el" // IBM Power (debian naming) ArchPPC64 = "ppc64" // Aliases ArchArmHF = "armhf" ArchArmV7 = "armv7" ArchArmV7HL = "armv7hl" ArchAarch64 = "aarch64" ArchAMD64 = "amd64" ArchX86 = "x86" ArchI686 = "i686" ArchI386 = "i386" Arch32Bit = "32bit" Arch64Bit = "64bit" ArchX64 = "x64" )
Platform constants
View Source
const ( PackageRPM = "rpm" PackageDeb = "deb" PackageApk = "apk" PackageDmg = "dmg" PackageMSI = "msi" PackageWhl = "whl" // Python wheel ArchiveZip = "zip" ArchiveTar = "tar" ArchiveBz2 = "bz2" ArchiveGz = "gz" ArchiveXz = "xz" ArchiveRar = "rar" ArchiveL7 = "l7" ArchiveTgz = "tgz" Archive7z = "7z" )
Recognized package types
Variables ¶
View Source
var ( PackageTypes = []string{PackageRPM, PackageDeb, PackageApk, PackageDmg, PackageMSI} ArchiveTypes = []string{ArchiveZip, ArchiveTar, ArchiveBz2, ArchiveGz, ArchiveXz, ArchiveRar, ArchiveL7, ArchiveTgz} )
View Source
var ArchAliases = map[string]LabelList{ ArchX8664: {ArchX8664, ArchAMD64, Arch64Bit, ArchX64, ArchX86}, ArchArm64: {ArchArm64, ArchAarch64}, ArchArm: {ArchArm, ArchArmHF, ArchArmV7, ArchArmV7HL}, Arch386: {Arch386, ArchI686, ArchI386, Arch32Bit}, ArchRiscV64: {ArchRiscV64}, ArchS390X: {ArchS390X}, ArchPPC64LE: {ArchPPC64LE, ArchPPC64EL, ArchPPC64}, }
Arch alias maps
View Source
var ArchiveExtensions = ExtensionList{ ArchiveZip: {"zip"}, ArchiveTar: {"tar"}, ArchiveBz2: {"bz2", "bz"}, ArchiveGz: {"gz"}, ArchiveXz: {"xz"}, ArchiveRar: {"rar"}, ArchiveL7: {"l7"}, ArchiveTgz: {"tar.gz", "tgz"}, Archive7z: {"7z"}, }
View Source
var (
FilenameSeparators = map[string]string{
"-": "-", "_": "_", ".": ".",
}
)
View Source
var OSAliases = map[string]LabelList{ OSLinux: {OSLinux}, OSWindows: {OSWindows}, OSDarwin: {OSDarwin, OSMacOS, OSX}, OSFreeBSD: {OSFreeBSD}, OSNetBSD: {OSNetBSD}, OSIllumos: {OSIllumos}, OSSolaris: {OSSolaris}, OSOpenBSD: {OSOpenBSD}, }
OS alias maps
View Source
var PackageExtensions = ExtensionList{ PackageRPM: {"rpm"}, PackageDeb: {"deb"}, PackageApk: {"apk"}, PackageDmg: {"dmg"}, PackageMSI: {"msi"}, PackageWhl: {"whl"}, }
Functions ¶
func GetArch ¶
GetArch returns the "official" (according to this library) arch label from a string. If it does not match one of the known aliases it returns an empty string
func GetOS ¶
GetOS returns the "official" (according to this library) Os label from a string. If it does not match one of the known aliases it returns an empty string
func MainSplitPattern ¶
func MainSplitPattern() string
MainSplitPattern dynamically builds a regex pattern with the know OS and arch patterns to split and parse filenames to deduct platform, kind and other data.
Types ¶
type ExtensionList ¶
func (*ExtensionList) GetTypeExtensionFromFile ¶
func (el *ExtensionList) GetTypeExtensionFromFile(filename string) (fileType, extension string)
func (*ExtensionList) GetTypeFromFile ¶
func (el *ExtensionList) GetTypeFromFile(filename string) string
Click to show internal directories.
Click to hide internal directories.