github.com/microsoft/fabrikate@v1.0.0-alpha.1.0.20210115014322-dc09194d0885/scripts/build (about) 1 #!/bin/bash 2 3 if [ $# -lt 1 ]; then 4 echo "$0: takes at least one argument: 'get-deps', 'clean', 'build fab' or 'build release <version_number>'" 5 exit 1 6 fi 7 8 # cleans test directories helm_repos 9 function clean() { 10 echo "cleaning testdata files" 11 echo "cleaning testdata/fixtures/install/infra/components" 12 rm -rf testdata/fixtures/install/infra/components 13 14 echo "cleaning testdata/fixtures/install/infra/helm_repos" 15 rm -rf testdata/fixtures/install/infra/helm_repos 16 17 echo "cleaning testdata/fixtures/install-yaml/components" 18 rm -rf testdata/fixtures/install-yaml/components 19 20 echo "cleaning testdata/fixtures/install-yaml/helm_repos" 21 rm -rf testdata/fixtures/install-yaml/helm_repos 22 } 23 24 # runs go get ./... 25 function get-deps() { 26 clean 27 echo "go mod download" 28 go mod download 29 30 echo "get-deps finished" 31 } 32 33 if [ $1 == "get-deps" ]; then 34 get-deps 35 fi 36 37 if [ $1 == "clean" ]; then 38 clean 39 fi 40 41 if [ $1 == "build" ]; then 42 43 # build fabrikate 44 if [ $2 == "fab" ]; then 45 get-deps 46 echo "go build -o fab cmd/fab/main.go" 47 go build -o fab cmd/fab/main.go 48 echo "finished building fab" 49 fi 50 51 # gets fabrikate dependencies and builds fabrikate release 52 if [ $2 == "release" ]; then 53 if [ $# -ne 3 ]; then 54 echo "Error: build release takes one argument: the version number of the release." 55 exit 1 56 fi 57 58 get-deps 59 60 rm -rf releases/$3 61 mkdir -p releases/$3 62 63 echo "Building for Mac" 64 GOOS=darwin GOARCH=amd64 go build -o fab cmd/fab/main.go 65 zip releases/$3/fab-v$3-darwin-amd64.zip fab 66 67 echo "Building for Linux" 68 GOOS=linux GOARCH=amd64 go build -o fab cmd/fab/main.go 69 zip releases/$3/fab-v$3-linux-amd64.zip fab 70 71 echo "Release zip files can be found in releases/$3" 72 fi 73 fi