installer

package
v0.7.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 28, 2024 License: MIT Imports: 19 Imported by: 0

Documentation

Index

Constants

View Source
const (
	AddToPathTemporarillyEnvName string     = "VMR_ADD_TO_PATH_TEMPORARILY"
	ModeGlobally                 InvokeMode = "globally"
	ModeSessionly                InvokeMode = "sessionly"
	ModeToLock                   InvokeMode = "to-lock"
)
View Source
const (
	MinicondaSDKName string = "miniconda"
	CoursierSDKName  string = "coursier"
)
View Source
const (
	LockerFileName = ".vmr.lock"
)

Lock the version of an SDK for a project.

Variables

View Source
var CondaSearchCommand = []string{
	"conda",
	"search",
	"--override-channels",
	"--channel",
	"conda-forge",
	"--skip-flexible-search",
}

conda search --override-channels --channel conda-forge --skip-flexible-search --subdir osx-64 --full-name php

Functions

func CheckAndInstallCoursier

func CheckAndInstallCoursier()

func CheckAndInstallMiniconda

func CheckAndInstallMiniconda()

func GetCondaPlatform added in v0.6.8

func GetCondaPlatform() (platform string)
var CondaPlatformList = []string{
	"linux-64",
	"linux-aarch64",
	"win-64",
	"win-arm64",
	"osx-64",
	"osx-arm64",
}

func IsCoursierInstalled

func IsCoursierInstalled() bool

func IsMinicondaInstalled

func IsMinicondaInstalled() bool

func RemoveGlobalSDKPathTemporarily

func RemoveGlobalSDKPathTemporarily(sdkName string)

Remove the global SDK path from envs. Otherwise, it will shadow the hooked ones.

func TestCondaSearcher added in v0.6.8

func TestCondaSearcher()

Types

type CachedFileFinder

type CachedFileFinder struct {
	SDKName     string
	VersionName string
}

Handle cached files.

func NewCachedFileFinder

func NewCachedFileFinder(sdkName string, versionName ...string) *CachedFileFinder

func (*CachedFileFinder) Delete

func (cf *CachedFileFinder) Delete()

type CondaSearcher added in v0.6.8

type CondaSearcher struct {
	VersionList map[string]download.Item
	SDKName     string
	// contains filtered or unexported fields
}

search versions by Conda.

func NewCondaSearcher added in v0.6.8

func NewCondaSearcher(sdkName string) (c *CondaSearcher)

func (*CondaSearcher) FindHeader added in v0.6.8

func (c *CondaSearcher) FindHeader(content string) (header string)

func (*CondaSearcher) FindVersion added in v0.6.8

func (c *CondaSearcher) FindVersion(llist []string) string

func (*CondaSearcher) GetVersions added in v0.6.8

func (c *CondaSearcher) GetVersions() map[string]download.Item

func (*CondaSearcher) ParseSearchResult added in v0.6.8

func (c *CondaSearcher) ParseSearchResult(content string) (vlist []string)

type InstalledVersionFinder

type InstalledVersionFinder struct {
	OriginSDKName     string
	InstalledVersions []string
	CurrentVersion    string
	Installer         *Installer
}

func NewIVFinder

func NewIVFinder(sdkName string) (i *InstalledVersionFinder)

func (*InstalledVersionFinder) FindAll

func (i *InstalledVersionFinder) FindAll() (r []string, current string)

func (*InstalledVersionFinder) UninstallAllVersions

func (i *InstalledVersionFinder) UninstallAllVersions()

type Installer

type Installer struct {
	OriginSDKName string
	VersionName   string
	Version       download.Item

	Shell  shell.Sheller
	Mode   InvokeMode
	NoEnvs bool
	// contains filtered or unexported fields
}

SDK Installer.

func NewInstaller

func NewInstaller(originSDKName, versionName, intallSha256 string, version download.Item) (i *Installer)

func (*Installer) AddEnvsTemporarilly

func (i *Installer) AddEnvsTemporarilly()

func (*Installer) CollectEnvs

func (i *Installer) CollectEnvs(basePath string) map[string][]string
func (i *Installer) CreateSymlink()

func (*Installer) DisableEnvs added in v0.6.8

func (i *Installer) DisableEnvs()

func (*Installer) GetSDKInstaller

func (i *Installer) GetSDKInstaller() (si SDKInstaller)

func (*Installer) Install

func (i *Installer) Install()

func (*Installer) IsInstalled

func (i *Installer) IsInstalled() bool

func (*Installer) SetEnvGlobally

func (i *Installer) SetEnvGlobally()

func (*Installer) SetInvokeMode

func (i *Installer) SetInvokeMode(m InvokeMode)

func (*Installer) Uninstall

func (i *Installer) Uninstall()

func (*Installer) UnsetEnv

func (i *Installer) UnsetEnv()

type InvokeMode

type InvokeMode string

type SDKInstaller

type SDKInstaller interface {
	Initiate(originSDKName, versionName string, version download.Item)
	SetInstallConf(iconf download.InstallerConfig)
	FormatSDKName()
	GetInstallDir() string
	GetSymbolLinkPath() string
	Install()
}

type VersionLocker

type VersionLocker struct {
	VersionOfSDKs map[string]string
}

Lock the SDK version for a project.

func NewVLocker

func NewVLocker() (v *VersionLocker)

func (*VersionLocker) FindLockerFile

func (v *VersionLocker) FindLockerFile(dirPath ...string) string

func (*VersionLocker) HookForCdCommand

func (v *VersionLocker) HookForCdCommand()

Hook for cd command.

func (*VersionLocker) Load

func (v *VersionLocker) Load()

func (*VersionLocker) Save

func (v *VersionLocker) Save(sdkName, versionName string)

save lock info.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL