build

package
v0.4.6 Latest Latest
Warning

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

Go to latest
Published: Mar 8, 2024 License: Apache-2.0 Imports: 24 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrNoGo     = errors.New("go not found in PATH. Please install go: https://golang.org/doc/install")
	ErrNoTinyGo = errors.New("tinygo not found in PATH. Please install tinygo: https://tinygo.org/getting-started/")

	ErrNoSignatureDependencyGoMod      = errors.New("signature dependency not found in go.mod file")
	ErrInvalidSignatureDependencyGoMod = errors.New("unable to parse signature dependency in go.mod file")
)
View Source
var (
	ErrNoCargo = errors.New("cargo not found in PATH. Please install cargo: https://doc.rust-lang.org/cargo/getting-started/installation.html")

	ErrNoSignatureDependencyCargoToml      = errors.New("signature dependency not found in Cargo.toml file")
	ErrInvalidSignatureDependencyCargoToml = errors.New("unable to parse signature dependency in Cargo.toml file")
)
View Source
var (
	ErrNoNPM = errors.New("npm not found in PATH. Please install npm: https://docs.npmjs.com/downloading-and-installing-node-js-and-npm")
)

Functions

func LocalGolang

func LocalGolang(options *LocalGolangOptions) (*scalefunc.V1BetaSchema, error)

func LocalRust

func LocalRust(options *LocalRustOptions) (*scalefunc.V1BetaSchema, error)

func LocalTypescript

func LocalTypescript(options *LocalTypescriptOptions) (*scalefunc.V1BetaSchema, error)

Types

type LocalGolangOptions

type LocalGolangOptions struct {
	// Stdout is the output writer for the various build commands
	Stdout io.Writer

	// Scalefile is the scalefile to be built
	Scalefile *scalefile.Schema

	// SignatureSchema is the schema of the signature
	//
	// Note: The SignatureSchema is only used to embed type information into the scale function,
	// and not as part of the build process
	SignatureSchema *signature.Schema

	// ExtensionSchemas are the schemas of the extensions. The array must be in the same order as the extensions
	// are defined in the scalefile
	//
	// Note: The ExtensionSchemas are only used to embed extension information into the scale function,
	// and not as part of the build process
	ExtensionSchemas []*extension.Schema

	// SourceDirectory is the directory where the source code is located
	SourceDirectory string

	// Storage is the storage handler to use for the build
	Storage *storage.BuildStorage

	// Release is whether to build in release mode
	Release bool

	// Target is the target to build for
	Target Target

	// GoBin is the optional path to the go binary
	GoBin string

	// TinyGoBin is the optional path to the tinygo binary
	TinyGoBin string

	// Args are the optional arguments to pass to the compiler
	Args []string

	Extensions []extension.Info
}

type LocalRustOptions

type LocalRustOptions struct {
	// Stdout is the output writer for the various build commands
	Stdout io.Writer

	// Scalefile is the scalefile to be built
	Scalefile *scalefile.Schema

	// SignatureSchema is the schema of the signature
	//
	// Note: The SignatureSchema is only used to embed type information into the scale function,
	// and not as part of the build process
	SignatureSchema *signature.Schema

	// ExtensionSchemas are the schemas of the extensions. The array must be in the same order as the extensions
	// are defined in the scalefile
	//
	// Note: The ExtensionSchemas are only used to embed extension information into the scale function,
	// and not as part of the build process
	ExtensionSchemas []*extension.Schema

	// SourceDirectory is the directory where the source code is located
	SourceDirectory string

	// Storage is the storage handler to use for the build
	Storage *storage.BuildStorage

	// Release is whether to build in release mode
	Release bool

	// Target is the target to build for
	Target Target

	// CargoBin is the optional path to the cargo binary
	CargoBin string

	// Args are the optional arguments to pass to the compiler
	Args []string
}

type LocalTypescriptOptions

type LocalTypescriptOptions struct {
	// Stdout is the output writer for the various build commands
	Stdout io.Writer

	// Scalefile is the scalefile to be built
	Scalefile *scalefile.Schema

	// SignatureSchema is the schema of the signature
	//
	// Note: The SignatureSchema is only used to embed type information into the scale function,
	// and not as part of the build process
	SignatureSchema *signature.Schema

	// ExtensionSchemas are the schemas of the extensions. The array must be in the same order as the extensions
	// are defined in the scalefile
	//
	// Note: The ExtensionSchemas are only used to embed extension information into the scale function,
	// and not as part of the build process
	ExtensionSchemas []*extension.Schema

	// SourceDirectory is the directory where the source code is located
	SourceDirectory string

	// Storage is the storage handler to use for the build
	Storage *storage.BuildStorage

	// Release is whether to build in release mode
	Release bool

	// Target is the target to build for
	Target Target

	// NPMBin is the optional path to the npm binary
	NPMBin string
}

type Target

type Target int
const (
	WASITarget Target = iota
	WASMTarget
)

Jump to

Keyboard shortcuts

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