38 lines
1009 B
Makefile
38 lines
1009 B
Makefile
#!make
|
|
include ~/envs/gerald.env
|
|
export
|
|
|
|
PROJECT_NAME=gerald
|
|
|
|
spec_path = ./api/$(PROJECT_NAME).yaml
|
|
models_pkg = $(PROJECT_NAME)/internal/interfaces/rest/models
|
|
|
|
build:
|
|
CGO_ENABLED=0 go build -o ./dist/$(PROJECT_NAME) $(PROJECT_NAME)/cmd
|
|
|
|
generate:
|
|
rm -rf ./internal/interfaces/rest/models/*
|
|
rm -rf ./internal/interfaces/rest/restapi/operations
|
|
# download go-swagger in not exist
|
|
go get github.com/go-swagger/go-swagger/cmd/swagger
|
|
# generate swagger models and server handlers
|
|
go run github.com/go-swagger/go-swagger/cmd/swagger generate model --spec=$(spec_path) --target=./internal/interfaces/rest
|
|
go run github.com/go-swagger/go-swagger/cmd/swagger generate server --skip-models --existing-models=$(models_pkg) --exclude-main --spec=$(spec_path) --target=./internal/interfaces/rest
|
|
# clean up the generated files
|
|
rm -rf ./gen
|
|
go mod tidy
|
|
|
|
serve:
|
|
./dist/$(PROJECT_NAME)
|
|
|
|
test:
|
|
go test -v ./...
|
|
|
|
lint:
|
|
go fmt ./...
|
|
golangci-lint run ./... --timeout 5m0s -v
|
|
|
|
run: build serve
|
|
|
|
r: build serve
|