File: Makefile

package info (click to toggle)
golang-github-microcosm-cc-bluemonday 1.0.26-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 668 kB
  • sloc: makefile: 25
file content (48 lines) | stat: -rw-r--r-- 1,211 bytes parent folder | download
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
# Targets:
#
#   all:          Builds the code locally after testing
#
#   fmt:          Formats the source files
#   fmt-check:    Check if the source files are formated
#   build:        Builds the code locally
#   vet:          Vets the code
#   staticcheck:  Runs staticcheck over the code
#   test:         Runs the tests
#   cover:        Gives you the URL to a nice test coverage report
#
#   install:      Builds, tests and installs the code locally

GOFILES_NOVENDOR = $(shell find . -type f -name '*.go' -not -path "./vendor/*" -not -path "./.git/*")

.PHONY: all fmt build vet lint test cover install

# The first target is always the default action if `make` is called without
# args we build and install into $GOPATH so that it can just be run

all: fmt vet test install

fmt:
	@gofmt -s -w ${GOFILES_NOVENDOR}

fmt-check:
	@([ -z "$(shell gofmt -d $(GOFILES_NOVENDOR) | head)" ]) || (echo "Source is unformatted"; exit 1)

build:
	@go build

vet:
	@go vet

staticcheck:
	@staticcheck ./...

test:
	@go test -v ./...

cover: COVERAGE_FILE := coverage.out
cover:
	@go test -coverprofile=$(COVERAGE_FILE) && \
	go tool cover -html=$(COVERAGE_FILE) && rm $(COVERAGE_FILE)

install:
	@go install ./...