builder

package
v0.37.0 Latest Latest
Warning

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

Go to latest
Published: Oct 15, 2021 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrDeprecatedCore = errors.New("mod.Core has deprecated, you should not be used anymore and required to be set mod.GoMod instead")

ErrDeprecatedCore indicates deprecated core

View Source
var (
	// ErrGoNotFound is returned when a Go binary hasn't been found
	ErrGoNotFound = errors.New("go binary not found")
)
View Source
var ErrInvalidGoMod = errors.New("invalid gomod specification for module")

ErrInvalidGoMod indicates an invalid gomod

Functions

func Compile

func Compile(cfg Config) error

Compile generates a binary from the sources based on the configuration

func Generate

func Generate(cfg Config) error

Generate assembles a new distribution based on the given configuration

func GenerateAndCompile

func GenerateAndCompile(cfg Config) error

GenerateAndCompile will generate the source files based on the given configuration, update go mod, and will compile into a binary

func GetModules added in v0.23.0

func GetModules(cfg Config) error

GetModules retrieves the go modules, updating go.mod and go.sum in the process

Types

type Config

type Config struct {
	Logger          logr.Logger
	SkipCompilation bool

	Distribution Distribution `mapstructure:"dist"`
	Exporters    []Module     `mapstructure:"exporters"`
	Extensions   []Module     `mapstructure:"extensions"`
	Receivers    []Module     `mapstructure:"receivers"`
	Processors   []Module     `mapstructure:"processors"`
	Replaces     []string     `mapstructure:"replaces"`
	Excludes     []string     `mapstructure:"excludes"`
}

Config holds the builder's configuration

func DefaultConfig

func DefaultConfig() Config

DefaultConfig creates a new config, with default values

func (*Config) ParseModules

func (c *Config) ParseModules() error

ParseModules will parse the Modules entries and populate the missing values

func (*Config) Validate

func (c *Config) Validate() error

Validate checks whether the current configuration is valid

type Distribution

type Distribution struct {
	Module         string `mapstructure:"module"`
	ExeName        string `mapstructure:"name"`
	Go             string `mapstructure:"go"`
	LongName       string `mapstructure:"description"`
	OtelColVersion string `mapstructure:"otelcol_version"`
	IncludeCore    bool   `mapstructure:"include_core"`
	OutputPath     string `mapstructure:"output_path"`
	Version        string `mapstructure:"version"`
}

Distribution holds the parameters for the final binary

type Module

type Module struct {
	Name   string `mapstructure:"name"`   // if not specified, this is package part of the go mod (last part of the path)
	Import string `mapstructure:"import"` // if not specified, this is the path part of the go mods
	GoMod  string `mapstructure:"gomod"`  // a gomod-compatible spec for the module
	Path   string `mapstructure:"path"`   // an optional path to the local version of this module
	Core   *bool  `mapstructure:"core"`   // whether this module comes from core. For this property isn't referred from anywhere, it might be removed. please see #15.

}

Module represents a receiver, exporter, processor or extension for the distribution

Jump to

Keyboard shortcuts

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