75 lines
2.0 KiB
Makefile
75 lines
2.0 KiB
Makefile
# useful paths
|
|
MKFILE_PATH := $(abspath $(lastword $(MAKEFILE_LIST)))
|
|
PROJECT_PATH := $(patsubst %/,%,$(dir $(MKFILE_PATH)))
|
|
PROJECT_BIN := $(PROJECT_PATH)/bin
|
|
|
|
# add tools bin directory
|
|
PATH := $(PROJECT_BIN):$(PATH)
|
|
model-registry: build
|
|
|
|
internal/ml_metadata/proto/%.pb.go: api/grpc/ml_metadata/proto/%.proto
|
|
protoc -I./api/grpc --go_out=./internal --go_opt=paths=source_relative \
|
|
--go-grpc_out=./internal --go-grpc_opt=paths=source_relative $<
|
|
|
|
.PHONY: gen/grpc
|
|
gen/grpc: internal/ml_metadata/proto/metadata_store.pb.go internal/ml_metadata/proto/metadata_store_service.pb.go
|
|
|
|
.PHONY: gen/graph
|
|
gen/graph: internal/model/graph/models_gen.go
|
|
|
|
internal/model/graph/models_gen.go: api/graphql/*.graphqls gqlgen.yml
|
|
go run github.com/99designs/gqlgen generate
|
|
|
|
.PHONY: vet
|
|
vet:
|
|
go vet ./...
|
|
|
|
.PHONY: clean
|
|
clean:
|
|
rm -Rf ./model-registry internal/ml_metadata/proto/*.go internal/model/graph/models_gen.go
|
|
|
|
.PHONY: deps
|
|
deps:
|
|
curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(PROJECT_BIN) v1.54.2
|
|
GOBIN=$(PROJECT_BIN) go install github.com/99designs/gqlgen@v0.17.36
|
|
GOBIN=$(PROJECT_BIN) go install github.com/searKing/golang/tools/go-enum@v1.2.97
|
|
GOBIN=$(PROJECT_BIN) go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.31.0
|
|
GOBIN=$(PROJECT_BIN) go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.3.0
|
|
|
|
.PHONY: vendor
|
|
vendor:
|
|
go mod vendor
|
|
|
|
.PHONY: build
|
|
build: gen vet lint
|
|
go build
|
|
|
|
.PHONY: gen
|
|
gen: gen/grpc gen/graph
|
|
go generate ./...
|
|
|
|
.PHONY: lint
|
|
lint: gen
|
|
golangci-lint run main.go
|
|
golangci-lint run cmd/... internal/...
|
|
|
|
.PHONY: run/migrate
|
|
run/migrate: gen
|
|
go run main.go migrate --logtostderr=true -m config/metadata-library
|
|
|
|
metadata.sqlite.db: run/migrate
|
|
|
|
.PHONY: run/server
|
|
run/server: gen metadata.sqlite.db
|
|
go run main.go serve --logtostderr=true
|
|
|
|
.PHONY: run/client
|
|
run/client: gen
|
|
python test/python/test_mlmetadata.py
|
|
|
|
.PHONY: serve
|
|
serve: build
|
|
./model-registry serve --logtostderr=true
|
|
|
|
all: model-registry
|