tiltextension

package
v0.12.1 Latest Latest
Warning

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

Go to latest
Published: Feb 12, 2020 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Overview

Package extension implements Tilt extensions. This is not the internal Starkit abstraction, but the user-visible feature. In a Tiltfile, you can write `load("ext://foo", "bar")` to load the function bar from the extension foo.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ValidateName

func ValidateName(name string) error

Types

type Extension

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

func NewExtension

func NewExtension(fetcher Fetcher, store Store) *Extension

func (*Extension) LocalPath

func (e *Extension) LocalPath(t *starlark.Thread, arg string) (string, error)

func (*Extension) OnStart

func (e *Extension) OnStart(env *starkit.Environment) error

type Fetcher

type Fetcher interface {
	Fetch(ctx context.Context, moduleName string) (ModuleContents, error)
}

type GithubFetcher

type GithubFetcher struct {
}

func NewGithubFetcher

func NewGithubFetcher() *GithubFetcher

func (*GithubFetcher) Fetch

func (f *GithubFetcher) Fetch(ctx context.Context, moduleName string) (ModuleContents, error)

type LocalStore

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

func NewLocalStore

func NewLocalStore(baseDir string) *LocalStore

func (*LocalStore) ModulePath

func (s *LocalStore) ModulePath(ctx context.Context, moduleName string) (string, error)

func (*LocalStore) Write

func (s *LocalStore) Write(ctx context.Context, contents ModuleContents) (string, error)

type ModuleContents

type ModuleContents struct {
	Name              string
	TiltfileContents  string
	GitCommitHash     string
	ExtensionRegistry string
	TimeFetched       time.Time
}

TODO(dmiller): should this include an integrity hash?

type Store

type Store interface {
	// ModulePath is used to check if an extension exists before fetching it
	// Returns ErrNotExist if module doesn't exist
	ModulePath(ctx context.Context, moduleName string) (string, error)
	Write(ctx context.Context, contents ModuleContents) (string, error)
}

Jump to

Keyboard shortcuts

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