-
Notifications
You must be signed in to change notification settings - Fork 1
/
Makefile
56 lines (47 loc) · 1.75 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
SHELL=bash
BUILD=build
BUILD_ARCH=$(BUILD)/$(GOOS)-$(GOARCH)
BIN_DIR?=.
V4_TRANSFORMER_DIR=cmd/v4-transformer
export GOOS?=$(shell go env GOOS)
export GOARCH?=$(shell go env GOARCH)
export GRAPH_DRIVER_TYPE?=neo4j
export GRAPH_ADDR?=bolt://localhost:7687
export GRAPH_QUERY_TIMEOUT=600
BUILD_TIME=$(shell date +%s)
GIT_COMMIT=$(shell git rev-parse HEAD)
VERSION ?= $(shell git tag --points-at HEAD | grep ^v | head -n 1)
LDFLAGS=-ldflags "-w -s -X 'main.Version=${VERSION}' -X 'main.BuildTime=$(BUILD_TIME)' -X 'main.GitCommit=$(GIT_COMMIT)'"
PHONY: all
all: audit test build
PHONY: audit
audit:
go list -m all | nancy sleuth
build:
@mkdir -p $(BUILD_ARCH)/$(BIN_DIR)
go build $(LDFLAGS) -o $(BUILD_ARCH)/$(BIN_DIR)/dp-hierarchy-builder cmd/dp-hierarchy-builder/main.go
debug: build
HUMAN_LOG=1 go run $(LDFLAGS) -race cmd/dp-hierarchy-builder/main.go
test:
go test -cover -race ./...
full:
cypher-shell < "$(V4_TRANSFORMER_DIR)/output/hierarchy.cypher"
full-clean:
cypher-shell < "$(V4_TRANSFORMER_DIR)/output/hierarchy-delete.cypher"
instance-builder:
[[ -n "$(INSTANCE_ID)" ]]
HUMAN_LOG=1 go run -race cmd/builder/main.go --instance-id="$(INSTANCE_ID)"
instance:
[[ -n "$(INSTANCE_ID)" ]]
sed "s/12345/$(INSTANCE_ID)/g" < cmd/builder/build.cypher | cypher-shell
instance-clean:
[[ -n "$(INSTANCE_ID)" ]]
sed "s/12345/$(INSTANCE_ID)/g" < cmd/builder/build-delete.cypher | cypher-shell
generate-full:
HUMAN_LOG=1 go run -race cmd/hierarchy-transformer/main.go
generate-full-from-v4:
HUMAN_LOG=1 go run -race "$(V4_TRANSFORMER_DIR)/main.go"
generate-full-from-geography:
HUMAN_LOG=1 go run -race cmd/geography-transformer/main.go
clean: full-clean instance-clean
.PHONY: build debug test full instance clean full-clean instance-builder instance-clean generate-full