Add build-wiki command for isolated wiki generation
- Add BuildWikiWithOptions in native.go for building wiki from pre-existing topdata - Add runBuildWiki and parseBuildWikiArgs in app.go for CLI integration - Add --force flag to force rebuild even when output is current
This commit is contained in:
@@ -139,6 +139,41 @@ type NativeBuildOptions struct {
|
||||
BuildWiki bool
|
||||
}
|
||||
|
||||
type BuildWikiOptions struct {
|
||||
Force bool
|
||||
}
|
||||
|
||||
func BuildWikiWithOptions(p *project.Project, opts BuildWikiOptions, progress func(string)) (wikiResult, error) {
|
||||
if progress == nil {
|
||||
progress = func(string) {}
|
||||
}
|
||||
if !p.HasTopData() {
|
||||
return wikiResult{}, errors.New("topdata is not configured for this project")
|
||||
}
|
||||
|
||||
output2DA := compiled2DAOutputDir(p)
|
||||
outputTLK := compiledTLKOutputDir(p)
|
||||
if _, err := os.Stat(output2DA); os.IsNotExist(err) {
|
||||
return wikiResult{}, fmt.Errorf("topdata build output missing: run build-topdata first")
|
||||
}
|
||||
if _, err := os.Stat(outputTLK); os.IsNotExist(err) {
|
||||
return wikiResult{}, fmt.Errorf("topdata tlk output missing: run build-topdata first")
|
||||
}
|
||||
|
||||
nativeResult := BuildResult{
|
||||
Mode: "native",
|
||||
Output2DADir: output2DA,
|
||||
OutputTLKDir: outputTLK,
|
||||
}
|
||||
|
||||
wikiBuild, err := buildWiki(p, nativeResult, progress)
|
||||
if err != nil {
|
||||
return wikiResult{}, err
|
||||
}
|
||||
|
||||
return wikiBuild, nil
|
||||
}
|
||||
|
||||
func BuildNative(p *project.Project, progress func(string)) (BuildResult, error) {
|
||||
return BuildNativeWithOptions(p, NativeBuildOptions{BuildWiki: true}, progress)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user