Documentation
¶
Index ¶
- func OutputLanguagesToProtoLanguages(languages []string) ([]registryv1alpha1.PluginLanguage, error)
- func PluginIdentityToProtoCuratedPluginReference(identity bufpluginref.PluginIdentity) *registryv1alpha1.CuratedPluginReference
- func PluginReferenceToProtoCuratedPluginReference(reference bufpluginref.PluginReference) *registryv1alpha1.CuratedPluginReference
- func PluginReferencesToCuratedProtoPluginReferences(references []bufpluginref.PluginReference) []*registryv1alpha1.CuratedPluginReference
- func PluginRegistryToProtoRegistryConfig(pluginRegistry *bufpluginconfig.RegistryConfig) *registryv1alpha1.RegistryConfig
- func PluginToProtoPluginRegistryType(plugin Plugin) registryv1alpha1.PluginRegistryType
- func ProtoRegistryConfigToPluginRegistry(config *registryv1alpha1.RegistryConfig) *bufpluginconfig.RegistryConfig
- type Plugin
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func OutputLanguagesToProtoLanguages ¶ added in v1.8.0
func OutputLanguagesToProtoLanguages(languages []string) ([]registryv1alpha1.PluginLanguage, error)
OutputLanguagesToProtoLanguages determines the appropriate registryv1alpha1.PluginRegistryType for the plugin.
func PluginIdentityToProtoCuratedPluginReference ¶ added in v1.8.0
func PluginIdentityToProtoCuratedPluginReference(identity bufpluginref.PluginIdentity) *registryv1alpha1.CuratedPluginReference
PluginIdentityToProtoCuratedPluginReference converts a bufpluginref.PluginIdentity to a registryv1alpha1.CuratedPluginReference.
The returned CuratedPluginReference contains no Version/Revision information.
func PluginReferenceToProtoCuratedPluginReference ¶ added in v1.7.0
func PluginReferenceToProtoCuratedPluginReference(reference bufpluginref.PluginReference) *registryv1alpha1.CuratedPluginReference
PluginReferenceToProtoCuratedPluginReference converts a bufpluginref.PluginReference to a registryv1alpha1.CuratedPluginReference.
func PluginReferencesToCuratedProtoPluginReferences ¶ added in v1.7.0
func PluginReferencesToCuratedProtoPluginReferences(references []bufpluginref.PluginReference) []*registryv1alpha1.CuratedPluginReference
PluginReferencesToCuratedProtoPluginReferences converts a slice of bufpluginref.PluginReference to a slice of registryv1alpha1.CuratedPluginReference.
func PluginRegistryToProtoRegistryConfig ¶ added in v1.8.0
func PluginRegistryToProtoRegistryConfig(pluginRegistry *bufpluginconfig.RegistryConfig) *registryv1alpha1.RegistryConfig
PluginRegistryToProtoRegistryConfig converts a bufpluginconfig.RegistryConfig to a registryv1alpha1.RegistryConfig.
func PluginToProtoPluginRegistryType ¶ added in v1.8.0
func PluginToProtoPluginRegistryType(plugin Plugin) registryv1alpha1.PluginRegistryType
PluginToProtoPluginRegistryType determines the appropriate registryv1alpha1.PluginRegistryType for the plugin.
func ProtoRegistryConfigToPluginRegistry ¶ added in v1.8.0
func ProtoRegistryConfigToPluginRegistry(config *registryv1alpha1.RegistryConfig) *bufpluginconfig.RegistryConfig
ProtoRegistryConfigToPluginRegistry converts a registryv1alpha1.RegistryConfig to a bufpluginconfig.RegistryConfig .
Types ¶
type Plugin ¶ added in v1.7.0
type Plugin interface {
// Version is the version of the plugin's implementation
// (e.g the protoc-gen-connect-go implementation is v0.2.0).
Version() string
// SourceURL is an optional attribute used to specify where the source
// for the plugin can be found.
SourceURL() string
// Description is an optional attribute to provide a more detailed
// description for the plugin.
Description() string
// Dependencies are the dependencies this plugin has on other plugins.
//
// An example of a dependency might be a 'protoc-gen-go-grpc' plugin
// which depends on the 'protoc-gen-go' generated code.
Dependencies() []bufpluginref.PluginReference
// DefaultOptions is the set of default options passed to the plugin.
//
// For now, all options are string values. This could eventually
// support other types (like JSON Schema and Terraform variables),
// where strings are the default value unless otherwise specified.
//
// Note that some legacy plugins don't always express their options
// as key value pairs. For example, protoc-gen-java has an option
// that can be passed like so:
//
// java_opt=annotate_code
//
// In those cases, the option value in this map will be set to
// the empty string, and the option will be propagated to the
// compiler without the '=' delimiter.
DefaultOptions() map[string]string
// Registry is the registry configuration, which lets the user specify
// registry dependencies, and other metadata that applies to a specific
// remote generation registry (e.g. the Go module proxy, NPM registry,
// etc).
Registry() *bufpluginconfig.RegistryConfig
// ContainerImageDigest returns the plugin's source image digest.
//
// For now we only support docker image sources, but this
// might evolve to support others later on.
ContainerImageDigest() string
}
Plugin represents a plugin defined by a buf.plugin.yaml.
func NewPlugin ¶ added in v1.7.0
func NewPlugin( version string, dependencies []bufpluginref.PluginReference, defaultOptions map[string]string, registryConfig *bufpluginconfig.RegistryConfig, imageDigest string, sourceURL string, description string, ) (Plugin, error)
NewPlugin creates a new plugin from the given configuration and image digest.
Directories
¶
| Path | Synopsis |
|---|---|
|
Package bufpluginconfig defines the buf.plugin.yaml file.
|
Package bufpluginconfig defines the buf.plugin.yaml file. |
|
Package bufplugindocker contains utilities for building Buf plugins using the Docker API.
|
Package bufplugindocker contains utilities for building Buf plugins using the Docker API. |