forked from open-telemetry/opentelemetry-collector-contrib
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile
121 lines (97 loc) · 3.34 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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
include ./Makefile.Common
RUN_CONFIG=local/config.yaml
CMD?=
GIT_SHA=$(shell git rev-parse --short HEAD)
BUILD_INFO_IMPORT_PATH=github.com/open-telemetry/opentelemetry-collector-contrib/internal/version
BUILD_X1=-X $(BUILD_INFO_IMPORT_PATH).GitHash=$(GIT_SHA)
ifdef VERSION
BUILD_X2=-X $(BUILD_INFO_IMPORT_PATH).Version=$(VERSION)
endif
BUILD_X3=-X github.com/open-telemetry/opentelemetry-collector/internal/version.BuildType=$(BUILD_TYPE)
BUILD_INFO=-ldflags "${BUILD_X1} ${BUILD_X2} ${BUILD_X3}"
STATIC_CHECK=staticcheck
.DEFAULT_GOAL := all
.PHONY: all
all: common otelcontribcol
.PHONY: e2e-test
e2e-test: otelcontribcol
$(MAKE) -C testbed runtests
.PHONY: precommit
precommit:
$(MAKE) gotidy
$(MAKE) ci
.PHONY: test-with-cover
test-with-cover:
@echo Verifying that all packages have test files to count in coverage
@scripts/check-test-files.sh $(subst github.com/open-telemetry/opentelemetry-collector-contrib/,./,$(ALL_PKGS))
@echo pre-compiling tests
set -e; for dir in $(ALL_MODULES); do \
echo "go test ./... + coverage in $${dir}"; \
(cd "$${dir}" && \
$(GOTEST) $(GOTEST_OPT_WITH_COVERAGE) ./... && \
go tool cover -html=coverage.txt -o coverage.html ); \
done
.PHONY: gotidy
gotidy:
$(MAKE) for-all CMD="go mod tidy"
.PHONY: gofmt
gofmt:
$(MAKE) for-all CMD="make fmt"
.PHONY: for-all
for-all:
@$${CMD}
@set -e; for dir in $(ALL_MODULES); do \
(cd "$${dir}" && \
echo "running $${CMD} in $${dir}" && \
$${CMD} ); \
done
.PHONY: install-tools
install-tools:
go install github.com/client9/misspell/cmd/misspell
go install github.com/golangci/golangci-lint/cmd/golangci-lint
go install github.com/google/addlicense
go install honnef.co/go/tools/cmd/staticcheck
go install github.com/pavius/impi/cmd/impi
go install github.com/tcnksm/ghr
.PHONY: run
run:
GO111MODULE=on go run --race ./cmd/otelcontribcol/... --config ${RUN_CONFIG}
.PHONY: docker-component # Not intended to be used directly
docker-component: check-component
GOOS=linux GOARCH=amd64 $(MAKE) $(COMPONENT)
cp ./bin/$(COMPONENT)_linux_amd64 ./cmd/$(COMPONENT)/$(COMPONENT)
docker build -t $(COMPONENT) ./cmd/$(COMPONENT)/
rm ./cmd/$(COMPONENT)/$(COMPONENT)
.PHONY: check-component
check-component:
ifndef COMPONENT
$(error COMPONENT variable was not defined)
endif
.PHONY: docker-otelcontribcol
docker-otelcontribcol:
COMPONENT=otelcontribcol $(MAKE) docker-component
.PHONY: otelcontribcol
otelcontribcol:
GO111MODULE=on CGO_ENABLED=0 go build -o ./bin/otelcontribcol_$(GOOS)_$(GOARCH) $(BUILD_INFO) ./cmd/otelcontribcol
.PHONY: otelcontribcol-all-sys
otelcontribcol-all-sys: otelcontribcol-darwin_amd64 otelcontribcol-linux_amd64 otelcontribcol-linux_arm64 otelcontribcol-windows_amd64
.PHONY: otelcontribcol-darwin_amd64
otelcontribcol-darwin_amd64:
GOOS=darwin GOARCH=amd64 $(MAKE) otelcontribcol
.PHONY: otelcontribcol-linux_amd64
otelcontribcol-linux_amd64:
GOOS=linux GOARCH=amd64 $(MAKE) otelcontribcol
.PHONY: otelcontribcol-linux_arm64
otelcontribcol-linux_arm64:
GOOS=linux GOARCH=arm64 $(MAKE) otelcontribcol
.PHONY: otelcontribcol-windows_amd64
otelcontribcol-windows_amd64:
GOOS=windows GOARCH=amd64 $(MAKE) otelcontribcol
.PHONY: update-dep
update-dep:
$(MAKE) for-all CMD="$(PWD)/scripts/update-dep"
$(MAKE) otelcontribcol
$(MAKE) gotidy
.PHONY: update-otel
update-otel:
$(MAKE) update-dep MODULE=go.opentelemetry.io/collector VERSION=master