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