bldy.build / build

Index | Files | Exmaples | Directories
go get bldy.build/build

Package build defines build target and build context structures

Index

Package Files

build.go status_string.go

Variables

var (
    HostPlatform    = label.Label("@bldy//platforms:host")
    DefaultPlatform = HostPlatform
)

type Rule

type Rule interface {
    Name() string
    Dependencies() []label.Label
    Outputs() []string
    Hash() []byte
    Build(*executor.Executor) error
    Platform() label.Label
    Workspace() workspace.Workspace
}

Rule defines the interface that rules must implement for becoming build targets.

type Status

type Status int

go:generate stringer -type=Status Status represents a nodes status.

const (
    // Success is success
    Success Status = iota
    // Fail is a failed job
    Fail
    // Pending is a pending job
    Pending
    // Started is a started job
    Started
    // Fatal is a fatal crash
    Fatal
    // Warning is a job that has warnings
    Warning
    // Building is a job that's being built
    Building
)

func (Status) String

func (i Status) String() string

type VM

type VM interface {
    GetTarget(label.Label) (Rule, error)
}

VM seperate the parsing and evauluating targets logic from rest of bldy so we can implement and use new grammars like jsonnet or go it self.

Subdirectories

builder
cmd
depset
executor
file
graph
internal
label
namespace
postprocessor
project
racy
rules
skylark
tests
workspace