Wipe metadata

This commit is contained in:
2026-05-24 08:22:32 +02:00
parent 89d2da6f11
commit 6ac18e36c8
6 changed files with 76 additions and 3 deletions
+11
View File
@@ -48,6 +48,7 @@ const (
DefaultTopDataWikiMarkerFormat = "html_comments"
DefaultTopDataWikiPageMarkerPrefix = "sow-topdata-wiki"
DefaultTopDataWikiTitlePrefixMinLength = 3
DefaultTopDataWikiStatusPages = true
DefaultTopDataWikiStatusListingScope = "all"
DefaultWikiDeployManifest = ".wiki_deploy_manifest.json"
DefaultWikiDeployEditSummary = "Auto-generated from native builder"
@@ -252,6 +253,7 @@ func (p *Project) EffectiveConfig() EffectiveConfig {
TemplatesDir: defaultString(p.Config.TopData.Wiki.TemplatesDir, DefaultTopDataWikiTemplatesDir),
ManualSectionsDir: defaultString(p.Config.TopData.Wiki.ManualSectionsDir, DefaultTopDataWikiManualSectionsDir),
TitlePrefixMinLength: defaultInt(p.Config.TopData.Wiki.TitlePrefixMinLength, DefaultTopDataWikiTitlePrefixMinLength),
StatusPages: defaultBoolPointer(p.Config.TopData.Wiki.StatusPages, DefaultTopDataWikiStatusPages),
StatusListingScope: defaultString(p.Config.TopData.Wiki.StatusListingScope, DefaultTopDataWikiStatusListingScope),
StalePages: TopDataWikiStalePagesConfig{
Default: defaultString(p.Config.TopData.Wiki.StalePages.Default, DefaultTopDataWikiStaleDefault),
@@ -490,6 +492,7 @@ func markMissingDefaults(provenance ConfigProvenance) {
"topdata.wiki.templates_dir": DefaultTopDataWikiTemplatesDir,
"topdata.wiki.manual_sections_dir": DefaultTopDataWikiManualSectionsDir,
"topdata.wiki.title_prefix_min_length": "3",
"topdata.wiki.status_pages": "true",
"topdata.wiki.status_listing_scope": DefaultTopDataWikiStatusListingScope,
"topdata.wiki.stale_pages.default": DefaultTopDataWikiStaleDefault,
"topdata.wiki.stale_pages.live_cleanup": DefaultTopDataWikiStaleLiveCleanup,
@@ -538,6 +541,14 @@ func defaultInt(value, fallback int) int {
return value
}
func defaultBoolPointer(value *bool, fallback bool) *bool {
out := fallback
if value != nil {
out = *value
}
return &out
}
func defaultStringSlice(value, fallback []string) []string {
if len(value) == 0 {
return slices.Clone(fallback)
+1
View File
@@ -233,6 +233,7 @@ type TopDataWikiConfig struct {
TemplatesDir string `json:"templates_dir" yaml:"templates_dir"`
ManualSectionsDir string `json:"manual_sections_dir" yaml:"manual_sections_dir"`
TitlePrefixMinLength int `json:"title_prefix_min_length" yaml:"title_prefix_min_length"`
StatusPages *bool `json:"status_pages,omitempty" yaml:"status_pages,omitempty"`
StatusListingScope string `json:"status_listing_scope" yaml:"status_listing_scope"`
StalePages TopDataWikiStalePagesConfig `json:"stale_pages" yaml:"stale_pages"`
ManagedRegion TopDataWikiManagedRegionConfig `json:"managed_region" yaml:"managed_region"`
+4
View File
@@ -280,6 +280,7 @@ topdata:
deploy_manifest: wiki-manifest.json
deploy_edit_summary: Custom summary
title_prefix_min_length: 4
status_pages: false
status_listing_scope: namespace
stale_pages:
default: report
@@ -367,6 +368,9 @@ autogen:
if got, want := effective.TopData.Wiki.TitlePrefixMinLength, 4; got != want {
t.Fatalf("expected wiki title prefix minimum length %d, got %d", want, got)
}
if effective.TopData.Wiki.StatusPages == nil || *effective.TopData.Wiki.StatusPages {
t.Fatalf("expected wiki status pages to be disabled, got %#v", effective.TopData.Wiki.StatusPages)
}
if got, want := effective.TopData.Wiki.StatusListingScope, "namespace"; got != want {
t.Fatalf("expected wiki status listing scope %q, got %q", want, got)
}