toold

package module
v0.1.4 Latest Latest
Warning

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

Go to latest
Published: Sep 29, 2024 License: MIT Imports: 18 Imported by: 0

README

toold

A installation script server for various toolchains

Credits

GUO YANKE, MIT License

Documentation

Index

Constants

View Source
const (
	Darwin = "darwin"
	Linux  = "linux"

	Amd64 = "amd64"
	Arm64 = "arm64"
)
View Source
const (
	BackendCOS = "cos"
)

Variables

View Source
var (
	SupportedOS   = []string{Linux, Darwin}
	SupportedArch = []string{Amd64, Arm64}
)

Functions

func CreateRegexpVersionExtractor added in v0.1.4

func CreateRegexpVersionExtractor(layout string) (fn numver.VersionExtractor, err error)

CreateRegexpVersionExtractor creates a version extractor from a regexp layout

func ResolvePlatform

func ResolvePlatform(s string, m map[string]string) string

Types

type Adapter

type Adapter interface {
	Build(ctx context.Context, opts AdapterOptions) (err error)
}

type AdapterOptions

type AdapterOptions struct {
	Storage *Storage
	Script  *ScriptBuilder
	OS      string
	Arch    string
	Name    string
	Version string
	Force   bool
}

type App

type App struct {
	// contains filtered or unexported fields
}

func NewApp

func NewApp(storage *Storage, adapters map[string]Adapter) *App

func (*App) ServeHTTP

func (h *App) ServeHTTP(rw http.ResponseWriter, r *http.Request)

type Manifest

type Manifest struct {
	OS    string
	Arch  string
	Tools []ManifestTool
}

func ParseManifest

func ParseManifest(u string) (m Manifest)

func (Manifest) String

func (m Manifest) String() string

type ManifestTool

type ManifestTool struct {
	Name    string
	Version string
	Force   bool
}

type Options

type Options struct {
	Verbose bool   `yaml:"verbose"`
	Listen  string `yaml:"listen"`
	Backend string `yaml:"backend"`
	COS     struct {
		BucketURL string `yaml:"bucket_url"`
		SecretID  string `yaml:"secret_id"`
		SecretKey string `yaml:"secret_key"`
	} `yaml:"cos"`
}

func LoadOptions

func LoadOptions() (opts Options, err error)

type ScriptBuilder

type ScriptBuilder struct {
	// contains filtered or unexported fields
}

func NewScriptBuilder

func NewScriptBuilder() *ScriptBuilder

func (*ScriptBuilder) Add

func (sb *ScriptBuilder) Add(s string)

func (*ScriptBuilder) AddDownloadAndExtract

func (sb *ScriptBuilder) AddDownloadAndExtract(opts ScriptDownloadAndExtractOptions)

func (*ScriptBuilder) AddScriptGlobalNodePackageOptions

func (sb *ScriptBuilder) AddScriptGlobalNodePackageOptions(opts ScriptGlobalNodePackageOptions)

func (*ScriptBuilder) AddTemplate

func (sb *ScriptBuilder) AddTemplate(layout string, data map[string]any)

func (*ScriptBuilder) AddWarning

func (sb *ScriptBuilder) AddWarning(s string)

func (*ScriptBuilder) Concat

func (sb *ScriptBuilder) Concat(sub *ScriptBuilder)

func (*ScriptBuilder) Reset

func (sb *ScriptBuilder) Reset()

func (*ScriptBuilder) WriteTo

func (sb *ScriptBuilder) WriteTo(rw http.ResponseWriter)

type ScriptDownloadAndExtractOptions

type ScriptDownloadAndExtractOptions struct {
	URL             string
	Dir             string
	StripComponents int
	EnvPrependPath  []string
	Env             map[string]string
}

type ScriptGlobalNodePackageOptions

type ScriptGlobalNodePackageOptions struct {
	Command  string
	Package  string
	Registry string
	Version  string
	Force    bool
}

type Storage

type Storage struct {
	// contains filtered or unexported fields
}

func NewStorage

func NewStorage(opts Options) (st *Storage, err error)

func (*Storage) CreateSignedURL

func (s *Storage) CreateSignedURL(ctx context.Context, file string, ttl time.Duration) (u string, err error)

func (*Storage) ListFiles

func (s *Storage) ListFiles(ctx context.Context, dir string) (files []string, err error)

Directories

Path Synopsis
adapters
jdk
cmd

Jump to

Keyboard shortcuts

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