Documentation
¶
Index ¶
- Constants
- func XGot_ModuleF_Main(this interface{ ... })
- type BuildResult
- type Context
- type Matrix
- type ModuleDeps
- type ModuleF
- func (p *ModuleF) Defaults(options map[string]string)
- func (p *ModuleF) Filter(f func() bool)
- func (p *ModuleF) FromVer(ver string)
- func (p *ModuleF) Id(path string)
- func (p *ModuleF) OnBuild(f func(ctx *Context))
- func (p *ModuleF) OnRequire(f func(proj *Project, deps *ModuleDeps))
- func (p *ModuleF) OnTest(f func(ctx *Context))
- func (p *ModuleF) Target() matrixTarget
- type Project
Constants ¶
const (
XGoPackage = true
)
Variables ¶
This section is empty.
Functions ¶
func XGot_ModuleF_Main ¶ added in v0.3.0
XGot_ModuleF_Main is main entry of this classfile.
Types ¶
type BuildResult ¶
type BuildResult struct {
// contains filtered or unexported fields
}
BuildResult represents the result of building a project.
func (*BuildResult) Metadata ¶
func (b *BuildResult) Metadata() string
Metadata returns the build output metadata.
func (*BuildResult) SetMetadata ¶
func (b *BuildResult) SetMetadata(metadata string)
SetMetadata sets the build output metadata.
type Context ¶
type Context struct {
Proj *Project
SourceDir string
Out BuildResult
Errs errors.List
// contains filtered or unexported fields
}
Context represents the build context.
func NewContext ¶
func (*Context) AddBuildResult ¶
func (c *Context) AddBuildResult(mod module.Version, result BuildResult)
AddBuildResult stores the build result for the given module.
func (*Context) BuildResult ¶
func (c *Context) BuildResult(mod module.Version) (BuildResult, bool)
BuildResult returns the stored build result for the module, if any.
func (*Context) OutputDir__0 ¶
OutputDir__0 returns the current module's output (install) directory. In DSL: ctx.outputDir()
func (*Context) OutputDir__1 ¶
OutputDir__1 returns the output (install) directory for the given dependency. In DSL: ctx.outputDir(dep)
func (*Context) SetMetadata ¶ added in v0.3.0
SetMetadata sets the build output metadata.
type Matrix ¶
type Matrix struct {
Require map[string][]string
Options map[string][]string
DefaultOptions map[string][]string
}
func (*Matrix) CombinationCount ¶
CombinationCount returns the total number of cartesian product combinations.
func (*Matrix) Combinations ¶
Combinations returns all cartesian product combinations of the matrix. Keys are sorted alphabetically, and combinations are built layer by layer. Require fields are joined with "-", then combined with options using "|".
type ModuleDeps ¶
type ModuleDeps struct {
// contains filtered or unexported fields
}
ModuleDeps represents the dependencies of a module.
func (*ModuleDeps) Deps ¶
func (p *ModuleDeps) Deps() []module.Version
Deps returns the collected module dependencies.
func (*ModuleDeps) Require ¶
func (p *ModuleDeps) Require(path, ver string)
Require declares that the module being built depends on the specified module (by its path and version).
type ModuleF ¶
ModuleF represents the build formula of a module.
func (*ModuleF) Defaults ¶ added in v0.2.0
Defaults sets the formula's default option selections and initializes the active options exposed through target.options.
func (*ModuleF) Filter ¶ added in v0.2.0
Filter records a predicate used to reject unsupported matrix selections.
func (*ModuleF) Id ¶
Id sets the module path that this formula serves. path should be in the form of "owner/repo".
func (*ModuleF) OnRequire ¶
func (p *ModuleF) OnRequire(f func(proj *Project, deps *ModuleDeps))
OnRequire event is used to retrieve all direct dependencies of a project (module). proj is the project being built, deps is used to declare dependencies.