github.com/jgrancell/metasync@v0.0.0-20220105143315-c43793d9d9c1/Makefile (about)

     1  TEST?=$$(go list ./... | grep -v vendor)
     2  WORKDIR=$$(pwd)
     3  BINARY=$$(pwd | xargs basename)
     4  VERSION=$$(grep version main.go | head -n1 | cut -d\" -f2)
     5  GOBIN=${GOPATH}/bin
     6  
     7  default: build
     8  
     9  build:
    10  	go build -o ${BINARY}
    11  	chmod +x ${BINARY}
    12  
    13  install: build
    14  	mkdir -p ${GOBIN}
    15  	mv ${BINARY} ${GOPATH}/bin/${BINARY}
    16  
    17  binaries: build
    18  	rm -rf packaging/binaries
    19  	mkdir -p packaging/binaries
    20  	bash packaging/generate-binaries.sh ${BINARY} ${WORKDIR}
    21  
    22  package: binaries
    23  	bash packaging/generate-containers.sh ${WORKDIR}/packaging
    24  
    25  test:
    26  	rm -f coverage.txt profile.out
    27  	rm -f gosec-report.json
    28  	/bin/sh go.test.sh
    29  
    30  test-sonarqube: test
    31  	gosec --no-fail -fmt=sonarqube -out gosec-report.json ./...
    32  	/opt/sonar-scanner/bin/sonar-scanner
    33  
    34  test-view: test
    35  	go tool cover -html=coverage.txt
    36  
    37  clean:
    38  	rm -rf packaging/binaries
    39  	rm -rf packaging/workdir