39 lines
1.2 KiB
Go
39 lines
1.2 KiB
Go
// Copyright (c) HashiCorp, Inc.
|
|
// SPDX-License-Identifier: BUSL-1.1
|
|
|
|
package myplugin
|
|
|
|
import (
|
|
sdk "github.com/hashicorp/vagrant-plugin-sdk"
|
|
"github.com/hashicorp/vagrant-plugin-sdk/component"
|
|
"github.com/hashicorp/vagrant/builtin/myplugin/command"
|
|
"github.com/hashicorp/vagrant/builtin/myplugin/communicator"
|
|
"github.com/hashicorp/vagrant/builtin/myplugin/host"
|
|
"github.com/hashicorp/vagrant/builtin/myplugin/provider"
|
|
"github.com/hashicorp/vagrant/builtin/myplugin/push"
|
|
)
|
|
|
|
//go:generate protoc -I ../../.. --go_opt=plugins=grpc --go_out=../../.. vagrant-ruby/builtin/myplugin/proto/plugin.proto
|
|
|
|
// Locales data bundling
|
|
//go:generate go-bindata -o ./locales/locales.go -pkg locales locales/assets
|
|
|
|
// Options are the SDK options to use for instantiation.
|
|
var CommandOptions = []sdk.Option{
|
|
sdk.WithComponents(
|
|
// &Provider{},
|
|
&host.AlwaysTrueHost{},
|
|
&communicator.DummyCommunicator{},
|
|
&push.Encouragement{},
|
|
),
|
|
sdk.WithComponent(&command.Command{}, &component.CommandOptions{
|
|
// Should keep the plugin out of the default help output
|
|
Primary: false,
|
|
}),
|
|
sdk.WithComponent(&provider.Happy{}, &component.ProviderOptions{
|
|
Priority: 100,
|
|
}),
|
|
sdk.WithMappers(StructToCommunincatorOptions),
|
|
sdk.WithName("myplugin"),
|
|
}
|