cmd/aedeploy: add verbose logging
Updates #35
Change-Id: I34991b5dca3d11f016f8272729591450695e25ff
diff --git a/cmd/aedeploy/aedeploy.go b/cmd/aedeploy/aedeploy.go
index aa35b0c..95b9f49 100644
--- a/cmd/aedeploy/aedeploy.go
+++ b/cmd/aedeploy/aedeploy.go
@@ -19,6 +19,7 @@
"go/build"
"io"
"io/ioutil"
+ "log"
"os"
"os/exec"
"path/filepath"
@@ -39,7 +40,18 @@
fmt.Fprintf(os.Stderr, "\t%s gcloud --verbosity debug app deploy --version myversion ./app.yaml\tDeploy app to production\n", os.Args[0])
}
+var verbose bool
+
+// vlogf logs to stderr if the "-v" flag is provided.
+func vlogf(f string, v ...interface{}) {
+ if !verbose {
+ return
+ }
+ log.Printf("[aedeploy] "+f, v...)
+}
+
func main() {
+ flag.BoolVar(&verbose, "v", false, "Verbose logging.")
flag.Usage = usage
flag.Parse()
if flag.NArg() < 1 {
@@ -76,6 +88,7 @@
// deploy calls the provided command to deploy the app from the temporary directory.
func deploy() error {
+ vlogf("Running command %v", flag.Args())
cmd := exec.Command(flag.Arg(0), flag.Args()[1:]...)
cmd.Stdin, cmd.Stdout, cmd.Stderr = os.Stdin, os.Stdout, os.Stderr
if err := cmd.Run(); err != nil {
@@ -93,6 +106,7 @@
// app files, and a map of full directory import names to original import names.
func analyze(tags []string) (*app, error) {
ctxt := buildContext(tags)
+ vlogf("Using build context %#v", ctxt)
appFiles, err := appFiles(ctxt)
if err != nil {
return nil, err
@@ -185,6 +199,7 @@
continue
}
+ vlogf("Located %q (imported from %q) -> %q", i.path, i.fromDir, pkg.Dir)
result[pkg.Dir] = i.path
for _, v := range pkg.Imports {
@@ -200,6 +215,7 @@
// copyTree copies srcDir to dstDir relative to dstRoot, ignoring skipFiles.
func copyTree(dstRoot, dstDir, srcDir string) error {
+ vlogf("Copying %q to %q", srcDir, dstDir)
d := filepath.Join(dstRoot, dstDir)
if err := os.MkdirAll(d, 0755); err != nil {
return fmt.Errorf("unable to create directory %q: %v", d, err)
@@ -272,5 +288,6 @@
n := filepath.Join(".", f)
appFiles = append(appFiles, n)
}
+ vlogf("Found application files %v", appFiles)
return appFiles, nil
}