From 37787ffe90a22207ca7c91cb5e2d09b9d5f70ba3 Mon Sep 17 00:00:00 2001 From: David McMahon Date: Thu, 24 Mar 2016 14:30:14 -0700 Subject: [PATCH] Add --norecurse bool to allow mungedocs to process kube root. Run hack/after-build/update-generated-docs.sh on kube root with --norecurse and --skip-munges=unversioned-warning. --- cmd/mungedocs/mungedocs.go | 13 +++++++++---- hack/after-build/update-generated-docs.sh | 11 +++++++++++ 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/cmd/mungedocs/mungedocs.go b/cmd/mungedocs/mungedocs.go index 91f01bfd4de..87e8641361b 100644 --- a/cmd/mungedocs/mungedocs.go +++ b/cmd/mungedocs/mungedocs.go @@ -33,9 +33,10 @@ import ( const latestReleaseBranch = "release-1.2" var ( - verbose = flag.Bool("verbose", false, "On verification failure, emit pre-munge and post-munge versions.") - verify = flag.Bool("verify", false, "Exit with status 1 if files would have needed changes but do not change.") - rootDir = flag.String("root-dir", "", "Root directory containing documents to be processed.") + verbose = flag.Bool("verbose", false, "On verification failure, emit pre-munge and post-munge versions.") + verify = flag.Bool("verify", false, "Exit with status 1 if files would have needed changes but do not change.") + norecurse = flag.Bool("norecurse", false, "Only process the files of --root-dir.") + rootDir = flag.String("root-dir", "", "Root directory containing documents to be processed.") // "repo-root" seems like a dumb name, this is the relative path (from rootDir) to get to the repoRoot relRoot = flag.String("repo-root", "..", `Appended to --root-dir to get the repository root. It's done this way so that generally you just have to set --root-dir. @@ -155,6 +156,10 @@ func (f fileProcessor) visit(path string) error { func newWalkFunc(fp *fileProcessor, changesNeeded *bool) filepath.WalkFunc { return func(path string, info os.FileInfo, err error) error { + stat, err := os.Stat(path) + if path != *rootDir && stat.IsDir() && *norecurse { + return filepath.SkipDir + } if err := fp.visit(path); err != nil { *changesNeeded = true if err != ErrChangesNeeded { @@ -194,7 +199,7 @@ func main() { flag.Parse() if *rootDir == "" { - fmt.Fprintf(os.Stderr, "usage: %s [--verify] --root-dir \n", flag.Arg(0)) + fmt.Fprintf(os.Stderr, "usage: %s [--help] [--verify] [--norecurse] --root-dir [--skip-munges=] \n", flag.Arg(0)) os.Exit(1) } diff --git a/hack/after-build/update-generated-docs.sh b/hack/after-build/update-generated-docs.sh index 75c9894d13c..c74c7e3ba4f 100755 --- a/hack/after-build/update-generated-docs.sh +++ b/hack/after-build/update-generated-docs.sh @@ -58,4 +58,15 @@ elif [[ $ret -gt 1 ]]; then exit 1 fi +"${mungedocs}" "--skip-munges=unversioned-warning,analytics" \ + "--norecurse" \ + "--root-dir=${KUBE_ROOT}/" && ret=0 || ret=$? +if [[ $ret -eq 1 ]]; then + echo "${KUBE_ROOT}/ requires manual changes. See preceding errors." + exit 1 +elif [[ $ret -gt 1 ]]; then + echo "Error running mungedocs." + exit 1 +fi + # ex: ts=2 sw=2 et filetype=sh