From 33b3c2e86587dd998358f9c5468dd063bdcafc0e Mon Sep 17 00:00:00 2001 From: Martin Abelson Sahlen Date: Thu, 23 Mar 2017 18:44:15 +0100 Subject: [PATCH] Doesn work with generation --- cmd.go | 3 +-- main.go | 57 ++++++++++++++++++++++++++++++-------------------- shim/bucket.go | 2 ++ 3 files changed, 37 insertions(+), 25 deletions(-) diff --git a/cmd.go b/cmd.go index 4772548..2345120 100644 --- a/cmd.go +++ b/cmd.go @@ -27,8 +27,7 @@ func parseTemplate(templateString string, data interface{}) (string, error) { return b.String(), nil } -var buildSh = `GOOS=linux go build -o {{.TargetDir}}/{{.ExecutableName}} -cp index.js {{.TargetDir}}` +var buildSh = `GOOS=linux go build -o {{.TargetDir}}/{{.ExecutableName}}` var deploySh = `gcloud beta functions deploy {{.FunctionName}} {{if .TriggerHTTP}}--trigger-http{{end}} --stage-bucket {{.StageBucket}} --local-path {{.TargetDir}}` var httpJs = `const spawnSync = require('child_process').spawnSync; diff --git a/main.go b/main.go index e9cdc6b..9a65e86 100644 --- a/main.go +++ b/main.go @@ -1,8 +1,8 @@ package main import ( - "io/ioutil" - "os" + "log" + "os/exec" docopt "github.com/docopt/docopt-go" ) @@ -11,11 +11,16 @@ func main() { usage := `go-cloud-fn. Usage: - go-cloud-fn init + go-cloud-fn build + go-cloud-fn build --production + go-cloud-fn build --development + go-cloud-fn deploy Options: - -h --help Show this screen. - --version Show version.` + -h --help Show this screen. + -p --production Deploy for production + -d --development Deploy for local development + --version Show version.` arguments, err := docopt.Parse(usage, nil, true, "go-cloud-fn 0.0 Pre-Alpha", false) @@ -25,6 +30,9 @@ Options: functionName := arguments[""].(string) + //build := arguments["build"].(bool) + //build := arguments["deploy"].(bool) + conf := config{ FunctionName: functionName, TargetDir: "target", @@ -37,26 +45,29 @@ Options: buildOut, err := parseTemplate(buildSh, conf) if err != nil { panic(err) - } + } /* + httpOut, err := parseTemplate(httpJs, conf) + if err != nil { + panic(err) + } - httpOut, err := parseTemplate(httpJs, conf) - if err != nil { - panic(err) - } - deployOut, err := parseTemplate(deploySh, conf) - if err != nil { - panic(err) - } - err = ioutil.WriteFile("deploy.sh", []byte(deployOut), os.ModePerm) - if err != nil { - panic(err) - } - err = ioutil.WriteFile("build.sh", []byte(buildOut), os.ModePerm) - if err != nil { - panic(err) - } - err = ioutil.WriteFile("index.js", []byte(httpOut), os.ModePerm) + deployOut, err := parseTemplate(deploySh, conf) + if err != nil { + panic(err) + }*/ + log.Println(buildOut) + out, err := exec.Command(buildOut).Output() if err != nil { panic(err) } + log.Println(out) + /* + err = ioutil.WriteFile("build.sh", []byte(buildOut), os.ModePerm) + if err != nil { + panic(err) + } + err = ioutil.WriteFile(conf.TargetDir+"/index.js", []byte(httpOut), os.ModePerm) + if err != nil { + panic(err) + }*/ } diff --git a/shim/bucket.go b/shim/bucket.go index 826208a..817d01f 100644 --- a/shim/bucket.go +++ b/shim/bucket.go @@ -1 +1,3 @@ package shim + +func HandleBucketEvent() {}