unibuild

package module
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Jun 15, 2019 License: MPL-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrWrongVersion  = errors.New("wrong version")
	ErrCannotSatisfy = errors.New("cannot satisfy")
)

Functions

func NewDependencyCycleError

func NewDependencyCycleError(cycle []Project) error

func Satisfies

func Satisfies(reqver RequirementVersion, req Requirement) bool

Types

type DependencyCycleError

type DependencyCycleError struct {
	// contains filtered or unexported fields
}

func (*DependencyCycleError) DependencyCycle

func (err *DependencyCycleError) DependencyCycle() []Project

func (*DependencyCycleError) Error

func (err *DependencyCycleError) Error() string

type Filter

type Filter interface {
	Filter([]Project, graph.Directed, []bool)
}

func Exactly

func Exactly(prjName string) Filter

func Exclude

func Exclude(prjName string) Filter

func WithDependents

func WithDependents(prjName string) Filter

func WithDeps

func WithDeps(prjName string) Filter

type FilteredProjectSuite

type FilteredProjectSuite struct {
	// contains filtered or unexported fields
}

func (FilteredProjectSuite) Order

func (fps FilteredProjectSuite) Order() []Project

type OrderedProjectSuite

type OrderedProjectSuite struct {
	// contains filtered or unexported fields
}

func (OrderedProjectSuite) Filter

func (OrderedProjectSuite) Order

func (ops OrderedProjectSuite) Order() []Project

type Project

type Project interface {
	Info() ProjectInfo
	Uses() []Requirement
	Builds() []RequirementVersion
	Build(ctx context.Context, logTo io.Writer) error
}

type ProjectInfo

type ProjectInfo struct {
	Name    string
	Version string
}

type ProjectSuite

type ProjectSuite struct {
	// contains filtered or unexported fields
}

func NewProjectSuite

func NewProjectSuite(projects ...Project) *ProjectSuite

func (*ProjectSuite) ResolveOrder

func (ps *ProjectSuite) ResolveOrder() (OrderedProjectSuite, error)

type Requirement

type Requirement interface {
	ID() RequirementIdentity
}

type RequirementIdentity

type RequirementIdentity struct {
	// TODO: To handle multi-ecosystem builds.
	// Ecosystem string
	Name string
}

type RequirementVersion

type RequirementVersion struct {
	ID RequirementIdentity
}

Directories

Path Synopsis
cmd
Package maven provides bare-bones utilities for analysing maven projects.
Package maven provides bare-bones utilities for analysing maven projects.
Package prefixio implements code for doing I/O with line prefixes.
Package prefixio implements code for doing I/O with line prefixes.

Jump to

Keyboard shortcuts

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