From 4f6bedc1b7f0803357968aa7ca3f7045b552aac0 Mon Sep 17 00:00:00 2001 From: Eli Bendersky Date: Wed, 5 Jun 2019 10:15:13 -0700 Subject: [PATCH] Add VERBOSE option to tools/build and generate.go VERBOSE will be set by TRAVIS (but can also be set by user to diagnose slow builds). Using an env var so that it automatically propagates to all the sub-scripts and tools without having to pass it through tools/build explicitly. --- .travis.yml | 5 ++++- tools/build | 9 +++++++++ tools/generate.go | 13 ++++++++++++- 3 files changed, 25 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 1864bc5..54d1654 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,4 +12,7 @@ install: - go get -u github.com/russross/blackfriday script: - - 'tools/build' + - tools/build + +env: + - VERBOSE=1 diff --git a/tools/build b/tools/build index 3c07db8..b3205bb 100755 --- a/tools/build +++ b/tools/build @@ -2,7 +2,16 @@ set -e +verbose() [[ -v VERBOSE ]] + +verbose && echo "Running tests..." tools/test + +verbose && echo "Formatting code..." tools/format + +verbose && echo "Measuring line lengths..." tools/measure + +verbose && echo "Generating HTML..." tools/generate diff --git a/tools/generate.go b/tools/generate.go index 32f542c..c840169 100644 --- a/tools/generate.go +++ b/tools/generate.go @@ -19,6 +19,10 @@ var cacheDir = "/tmp/gobyexample-cache" var siteDir = "./public" var pygmentizeBin = "./vendor/pygments/pygmentize" +func verbose() bool { + return len(os.Getenv("VERBOSE")) > 0 +} + func check(err error) { if err != nil { panic(err) @@ -221,6 +225,7 @@ func parseAndRenderSegs(sourcePath string) ([]*Seg, string) { } func parseExamples() []*Example { + fmt.Println("Parsing examples") exampleNames := readLines("examples.txt") examples := make([]*Example, 0) for _, exampleName := range exampleNames { @@ -261,6 +266,9 @@ func parseExamples() []*Example { } func renderIndex(examples []*Example) { + if verbose() { + fmt.Println("Rendering index") + } indexTmpl := template.New("index") _, err := indexTmpl.Parse(mustReadFile("templates/index.tmpl")) check(err) @@ -274,7 +282,10 @@ func renderExamples(examples []*Example) { exampleTmpl := template.New("example") _, err := exampleTmpl.Parse(mustReadFile("templates/example.tmpl")) check(err) - for _, example := range examples { + for i, example := range examples { + if verbose() { + fmt.Printf("Rendering %s [%d/%d]\n", example.Name, i, len(examples)) + } exampleF, err := os.Create(siteDir + "/" + example.ID) check(err) exampleTmpl.Execute(exampleF, example)