-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathMakefile
60 lines (49 loc) · 2.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
# Copyright 2021 Layotto Authors
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# All make targets should be implemented in make/*.mk
# ====================================================================================================
# Supported Targets: (Run `make help` to see more information)
# ====================================================================================================
# This file is a wrapper around `make` so that we can force on the
# --warn-undefined-variables flag. Sure, you can set
# `MAKEFLAGS += --warn-undefined-variables` from inside of a Makefile,
# but then it won't turn on until the second phase (recipe execution),
# and won't actually be on during the initial phase (parsing).
# See: https://www.gnu.org/software/make/manual/make.html#Reading-Makefiles
# Have everything-else ("%") depend on _run (which uses
# $(MAKECMDGOALS) to decide what to run), rather than having
# everything else run $(MAKE) directly, since that'd end up running
# multiple sub-Makes if you give multiple targets on the CLI.
.PHONY: test
test:
go test -count=1 \
-coverprofile=coverage.txt \
-covermode=atomic \
-timeout=10m \
-short -v `go list ./... | grep -v runtime`
.PHONY: modtidy
modtidy:
@echo "===========> Running go codes format"
go mod tidy
.PHONY: workspace
workspace: ## check if workspace is clean and committed.
workspace: go.style
.PHONY: coverage
coverage: ## Run coverage analysis.
coverage: checker.coverage
.PHONY: go.style
go.style:
@echo "===========> Running go style check"
@$(MAKE) format && git status && [[ -z `git status -s` ]] || echo -e "\n${RED}Error: there are uncommitted changes after formatting all the code. ${GREEN}\nHow to fix it:${NO_COLOR} please 'make format' and then use git to commit all those changed files. "
.PHONY: checker.coverage
checker.coverage:
@echo "===========> Coverage Analysis"
sh script/report.sh