File: Makefile

package info (click to toggle)
golang-github-docker-docker-credential-helpers 0.6.4%2Bds1-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bookworm-backports, bookworm-proposed-updates, forky, sid, trixie
  • size: 300 kB
  • sloc: ansic: 345; makefile: 82; sh: 34
file content (85 lines) | stat: -rw-r--r-- 2,261 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
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
.PHONY: all deps osxkeychain secretservice test validate wincred pass deb

TRAVIS_OS_NAME ?= linux
VERSION := $(shell grep 'const Version' credentials/version.go | awk -F'"' '{ print $$2 }')

all: test

deps:
	go get -u golang.org/x/lint/golint

clean:
	rm -rf bin
	rm -rf release

osxkeychain:
	mkdir -p bin
	go build -ldflags -s -o bin/docker-credential-osxkeychain osxkeychain/cmd/main_darwin.go

osxcodesign: osxkeychain
	$(eval SIGNINGHASH = $(shell security find-identity -v -p codesigning | grep "Developer ID Application: Docker Inc" | cut -d ' ' -f 4))
	xcrun -log codesign -s $(SIGNINGHASH) --force --verbose bin/docker-credential-osxkeychain
	xcrun codesign --verify --deep --strict --verbose=2 --display bin/docker-credential-osxkeychain

secretservice:
	mkdir -p bin
	go build -o bin/docker-credential-secretservice secretservice/cmd/main_linux.go

pass:
	mkdir -p bin
	go build -o bin/docker-credential-pass pass/cmd/main.go

wincred:
	mkdir -p bin
	go build -o bin/docker-credential-wincred.exe wincred/cmd/main_windows.go

linuxrelease:
	mkdir -p release
	cd bin && tar cvfz ../release/docker-credential-pass-v$(VERSION)-amd64.tar.gz docker-credential-pass
	cd bin && tar cvfz ../release/docker-credential-secretservice-v$(VERSION)-amd64.tar.gz docker-credential-secretservice

osxrelease:
	mkdir -p release
	cd bin && tar cvfz ../release/docker-credential-osxkeychain-v$(VERSION)-amd64.tar.gz docker-credential-osxkeychain

winrelease:
	mkdir -p release
	cd bin && zip ../release/docker-credential-wincred-v$(VERSION)-amd64.zip docker-credential-wincred.exe

test:
	# tests all packages except vendor
	go test -v `go list ./... | grep -v /vendor/`

vet: vet_$(TRAVIS_OS_NAME)
	go vet ./credentials

vet_win:
	go vet ./wincred

vet_osx:
	go vet ./osxkeychain

vet_linux:
	go vet ./secretservice

lint:
	for p in `go list ./... | grep -v /vendor/`; do \
		golint $$p ; \
	done

fmt:
	gofmt -s -l `ls **/*.go | grep -v vendor`

validate: vet lint fmt


BUILDIMG:=docker-credential-secretservice-$(VERSION)
deb:
	mkdir -p release
	docker build -f deb/Dockerfile \
		--build-arg VERSION=$(VERSION) \
		--build-arg DISTRO=xenial \
		--tag $(BUILDIMG) \
		.
	docker run --rm --net=none $(BUILDIMG) tar cf - /release | tar xf -
	docker rmi $(BUILDIMG)