github.com/tickoalcantara12/micro/v3@v3.0.0-20221007104245-9d75b9bcbab9/Makefile (about)

     1  NAME=micro
     2  IMAGE_NAME=micro/$(NAME)
     3  GIT_COMMIT=$(shell git rev-parse --short HEAD)
     4  GIT_TAG=$(shell git describe --abbrev=0 --tags --always --match "v*")
     5  GIT_IMPORT=github.com/tickoalcantara12/micro/v3/cmd
     6  CGO_ENABLED=0
     7  BUILD_DATE=$(shell date +%s)
     8  LDFLAGS=-X $(GIT_IMPORT).BuildDate=$(BUILD_DATE) -X $(GIT_IMPORT).GitCommit=$(GIT_COMMIT) -X $(GIT_IMPORT).GitTag=$(GIT_TAG)
     9  IMAGE_TAG=$(GIT_TAG)-$(GIT_COMMIT)
    10  PROTO_FLAGS=--go_opt=paths=source_relative --micro_opt=paths=source_relative
    11  PROTO_PATH=$(GOPATH)/src:.
    12  SRC_DIR=$(GOPATH)/src
    13  
    14  all: build
    15  
    16  .PHONY: api
    17  api:
    18  	find proto/ -name '*.proto' -exec protoc --proto_path=$(PROTO_PATH) --openapi_out=${SRC_DIR} {} \;
    19  
    20  vendor:
    21  	go mod vendor
    22  
    23  build:
    24  	go build -a -installsuffix cgo -ldflags "-s -w ${LDFLAGS}" -o $(NAME)
    25  
    26  docker:
    27  	docker buildx build --platform linux/amd64 --platform linux/arm64 --tag $(IMAGE_NAME):$(IMAGE_TAG) --tag $(IMAGE_NAME):latest --push .
    28  
    29  .PHONY: proto
    30  proto:
    31  	find proto/ -name '*.proto' -exec protoc --proto_path=$(PROTO_PATH) $(PROTO_FLAGS) --micro_out=$(SRC_DIR) --go_out=plugins=grpc:$(SRC_DIR) {} \;
    32  
    33  
    34  vet:
    35  	go vet ./...
    36  
    37  test: vet
    38  	go test -v ./...
    39  
    40  clean:
    41  	rm -rf ./micro
    42  
    43  .PHONY: build clean vet test docker