Documentation
¶
Index ¶
- Constants
- func Gopt_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, proj *Project, out *BuildResult))
- func (p *ModuleF) OnRequire(f func(proj *Project, deps *ModuleDeps))
- func (p *ModuleF) OnTest(f func(ctx *Context, proj *Project, out *TestResult))
- func (p *ModuleF) Target() matrixTarget
- type Project
- type TestResult
Constants ¶
const GopPackage = true
Variables ¶
This section is empty.
Functions ¶
func Gopt_ModuleF_Main ¶
Gopt_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) Errs ¶
func (b *BuildResult) Errs() []error
Errs returns all errors collected during build.
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 {
SourceDir string
// contains filtered or unexported fields
}
Context represents the build context.
func NewContext ¶
func NewContext(sourceDir, installDir, matrixStr string, getOutputDir func(string, module.Version) (string, error)) *Context
NewContext creates a Context with build-internal fields.
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()
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) OnBuild ¶
func (p *ModuleF) OnBuild(f func(ctx *Context, proj *Project, out *BuildResult))
OnBuild event is used to instruct the Formula to compile a project.
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.
func (*ModuleF) OnTest ¶ added in v0.2.0
func (p *ModuleF) OnTest(f func(ctx *Context, proj *Project, out *TestResult))
OnTest event is used to run post-build verification for a project. It fires after OnBuild has completed successfully, reusing the same build context so tests can locate built artifacts via ctx.OutputDir.
type Project ¶
type Project struct {
Deps []module.Version
SourceFS fs.ReadFileFS
}
Project represents a project (module) being built.
type TestResult ¶ added in v0.2.0
type TestResult struct {
// contains filtered or unexported fields
}
TestResult represents the outcome of a formula's onTest hook. Unlike BuildResult it has no metadata field: a test's job is to verify the build, not to emit additional pkg-config-style flags. Future extensions (pass/fail counts, skip markers, captured logs) should be added here without polluting BuildResult.
func (*TestResult) AddErr ¶ added in v0.2.0
func (t *TestResult) AddErr(err error)
AddErr records a test failure.
func (*TestResult) Errs ¶ added in v0.2.0
func (t *TestResult) Errs() []error
Errs returns all errors collected during the test hook.