Documentation ¶
Index ¶
Constants ¶
View Source
const (
Directory = "mixins"
)
Variables ¶
View Source
var ExampleMixinName = "testmixin"
hoist these into variables so tests can reference them safely
View Source
var ExampleMixinSemver = semver.New(0, 1, 0, "", "")
Functions ¶
func IsCoreMixinCommand ¶
Types ¶
type InstallOptions ¶
type InstallOptions struct {
pkgmgmt.InstallOptions
}
func (*InstallOptions) Validate ¶
func (o *InstallOptions) Validate(args []string) error
type MixinProvider ¶
type MixinProvider interface { pkgmgmt.PackageManager // GetSchema requests the manifest schema from the mixin. GetSchema(ctx context.Context, name string) (string, error) }
MixinProvider manages Porter's mixins: installing, listing, upgrading and general communication.
type PackageManager ¶
type PackageManager struct {
*client.FileSystem
}
PackageManager handles package management for mixins.
func NewPackageManager ¶
func NewPackageManager(c *config.Config) *PackageManager
func (*PackageManager) PreRunMixinCommandHandler ¶
func (c *PackageManager) PreRunMixinCommandHandler(command string, cmd *exec.Cmd)
type TestMixinProvider ¶
type TestMixinProvider struct { client.TestPackageManager // LintResults allows you to provide linter.Results for your unit tests. // It isn't of type linter.Results directly to avoid package cycles LintResults interface{} // ReturnBuildError will force the TestMixinProvider to return a build error // if set to true ReturnBuildError bool }
func NewTestMixinProvider ¶
func NewTestMixinProvider() *TestMixinProvider
NewTestMixinProvider helps us test Porter.Mixins in our unit tests without actually hitting any real plugins on the file system.
func (*TestMixinProvider) PrintMixinOutput ¶ added in v1.0.3
func (p *TestMixinProvider) PrintMixinOutput(pkgContext *portercontext.Context, name string, commandOpts pkgmgmt.CommandOptions) error
Click to show internal directories.
Click to hide internal directories.