github.com/technosophos/deis@v1.7.1-0.20150915173815-f9005256004b/builder/src/generate-buildhook.go (about)

     1  package main
     2  
     3  import (
     4  	"encoding/json"
     5  	"fmt"
     6  	"os"
     7  
     8  	"github.com/deis/deis/builder"
     9  )
    10  
    11  func assert(err error) {
    12  	if err != nil {
    13  		fmt.Println(err)
    14  		os.Exit(1)
    15  	}
    16  }
    17  
    18  func usage(s string) {
    19  	fmt.Printf("Usage: %s <sha> <receive_user> <receive_repo> <image> <procfile> <dockerfile>\n", s)
    20  }
    21  
    22  func main() {
    23  	if len(os.Args) != 7 {
    24  		usage(os.Args[0])
    25  		os.Exit(1)
    26  	}
    27  
    28  	var procfile builder.ProcessType
    29  	assert(json.Unmarshal([]byte(os.Args[5]), &procfile))
    30  
    31  	var dockerfile = os.Args[6]
    32  	if dockerfile == "false" {
    33  		dockerfile = ""
    34  	}
    35  
    36  	buildHook := builder.BuildHook{
    37  		Sha:         os.Args[1],
    38  		ReceiveUser: os.Args[2],
    39  		ReceiveRepo: os.Args[3],
    40  		Image:       os.Args[4],
    41  		Procfile:    procfile,
    42  		Dockerfile:  dockerfile,
    43  	}
    44  
    45  	b, err := json.Marshal(buildHook)
    46  	assert(err)
    47  
    48  	fmt.Println(string(b))
    49  }