Documentation
¶
Index ¶
- func AddGraphvizExeChecks(m map[string][]string)
- func AddPlantUMLExeChecks(m map[string][]string)
- func CheckExes(exeToRefURLs map[string][]string) (missing map[string][]string)
- func LogMissingExes(log *slog.Logger, level slog.Level, missing map[string][]string)
- func Watch(prj *gomkore.Project, chg *gomkore.Changer) error
- type Dot
- type GoDefaultGoals
- type GoModule
- func (m *GoModule) DefaultGolas(prj gomk.ProjectEd) (gs GoDefaultGoals)
- func (m *GoModule) DotGoals(prj gomk.ProjectEd) (dotSVG gomk.GoalEd)
- func (m *GoModule) Flags()
- func (m *GoModule) GoBuild() *gomk.GoBuild
- func (m *GoModule) GoGenerate() *gomk.GoGenerate
- func (m *GoModule) GoTest() *gomk.GoTest
- func (m *GoModule) GoVulncheck() *GoVulncheck
- func (m *GoModule) Make(prj *gomkore.Project) error
- type GoVulncheck
- type PlantUML
- func (puml *PlantUML) ConvertAll(prj gomk.ProjectEd, src, dst mkfs.Directory, ignoreErrors bool, ...)
- func (puml *PlantUML) Describe(*gomkore.Action, *gomkore.Env) string
- func (puml *PlantUML) Do(tr *gomkore.Trace, a *gomkore.Action, env *gomkore.Env) error
- func (puml *PlantUML) OutputFiles(source string) (res []string, err error)
- func (puml *PlantUML) WriteHash(h hash.Hash, _ *gomkore.Action, _ *gomkore.Env) (bool, error)
- type SlogTrace
- func (tr SlogTrace) CheckGoal(t *gomkore.Trace, g *gomkore.Goal)
- func (tr SlogTrace) Debug(t *gomkore.Trace, msg string, args ...any)
- func (tr SlogTrace) DoneProject(t *gomkore.Trace, p *gomkore.Project, activity string, dt time.Duration)
- func (tr SlogTrace) GoalNeedsActions(t *gomkore.Trace, g *gomkore.Goal, n int)
- func (tr SlogTrace) GoalUpToDate(t *gomkore.Trace, g *gomkore.Goal)
- func (tr SlogTrace) Info(t *gomkore.Trace, msg string, args ...any)
- func (tr SlogTrace) RemoveArtefact(t *gomkore.Trace, g *gomkore.Goal)
- func (tr SlogTrace) RunAction(t *gomkore.Trace, a *gomkore.Action)
- func (tr SlogTrace) RunImplicitAction(t *gomkore.Trace, _ *gomkore.Action)
- func (tr SlogTrace) ScheduleNotPremises(t *gomkore.Trace, a *gomkore.Action, res *gomkore.Goal)
- func (tr SlogTrace) ScheduleOutdated(t *gomkore.Trace, a *gomkore.Action, res, pre *gomkore.Goal)
- func (tr SlogTrace) SchedulePreTimeZero(t *gomkore.Trace, a *gomkore.Action, res, pre *gomkore.Goal)
- func (tr SlogTrace) ScheduleResTimeZero(t *gomkore.Trace, a *gomkore.Action, res *gomkore.Goal)
- func (tr SlogTrace) StartProject(t *gomkore.Trace, p *gomkore.Project, activity string)
- func (tr SlogTrace) Warn(t *gomkore.Trace, msg string, args ...any)
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AddGraphvizExeChecks ¶
func AddPlantUMLExeChecks ¶
func LogMissingExes ¶
Types ¶
type GoDefaultGoals ¶
type GoModule ¶
type GoModule struct {
Trace *gomkore.Trace
Env *gomkore.Env
Clean bool
DryRun bool
Install bool
WriteDot bool
NoTest bool
Watch bool
ExeChecks []func(map[string][]string)
// contains filtered or unexported fields
}
Example ¶
build := GoModule{Env: gomkore.DefaultEnv(nil)} // Set out own Env…
// …to discard stdout that breaks Go test Example output
build.Env.Out = nil
build.Flags() // Register and parse some useful flags
// The project, name is taken from current working directory
prj := gomkore.NewProject("testdata/prj")
// Now, edit project for this project's specifics
err := gomk.Edit(prj, func(prj gomk.ProjectEd) {
// Some goals: generate, govulncheck, test
goAls := build.DefaultGolas(prj)
prj.Goal(mkfs.File("yacmd")).
By(build.GoBuild(), goAls.Test, prj.Goal(mkfs.DirList{Dir: "cmd/yacmd"}))
})
if err != nil {
log.Fatal(err)
}
// Now, go for it…
err = build.Make(prj)
if err != nil {
log.Fatal(err)
}
fmt.Println("DONE") // just for Go test Example
Output: DONE
func (*GoModule) DefaultGolas ¶
func (m *GoModule) DefaultGolas(prj gomk.ProjectEd) (gs GoDefaultGoals)
func (*GoModule) GoGenerate ¶
func (m *GoModule) GoGenerate() *gomk.GoGenerate
func (*GoModule) GoVulncheck ¶
func (m *GoModule) GoVulncheck() *GoVulncheck
type PlantUML ¶
func (*PlantUML) ConvertAll ¶
func (puml *PlantUML) ConvertAll( prj gomk.ProjectEd, src, dst mkfs.Directory, ignoreErrors bool, withOutput func([]gomk.GoalEd), )
ConvertAll panics – but can only be used in gomk.Edit context.
func (*PlantUML) Do ¶
1 .puml -> 1 .img => explicit by Op 1 .puml -> n .img => set Dir + files not checked 1 .puml -> 1 Dir => set Dir + files not checked 1 .puml -> n Dir => ERROR n .puml -> 1 .img => ERROR n .puml -> n .img => ??? n .puml -> 1 Dir => set Dir + files not checked * Dir -> => ERROR (may be supported later)
func (*PlantUML) OutputFiles ¶
Example ¶
puml := PlantUML{}
ofs, err := puml.OutputFiles("testdata/dias.puml")
if err != nil {
fmt.Println(err)
return
}
for _, of := range ofs {
fmt.Printf("[%s]\n", of)
}
Output: [dias.png] [dia1.png] [dia2.png] [dias_001.png]
type SlogTrace ¶
func (SlogTrace) DoneProject ¶
func (SlogTrace) GoalNeedsActions ¶
func (SlogTrace) RemoveArtefact ¶
func (SlogTrace) RunImplicitAction ¶
func (SlogTrace) ScheduleNotPremises ¶
func (SlogTrace) ScheduleOutdated ¶
func (SlogTrace) SchedulePreTimeZero ¶
func (SlogTrace) ScheduleResTimeZero ¶
func (SlogTrace) StartProject ¶
Click to show internal directories.
Click to hide internal directories.