@@ -2,27 +2,21 @@ INSTALL_DIR=$(shell go env GOPATH)/bin
2
2
GOOS =$(shell go env GOOS)
3
3
GOARCH =$(shell go env GOARCH)
4
4
5
- bin :
6
- goreleaser build --snapshot --rm-dist
7
- .PHONY : bin
8
-
9
- build : site/out bin
5
+ # First target is the default for `make`.
6
+ build : dist
10
7
.PHONY : build
11
8
12
9
# Runs migrations to output a dump of the database.
13
10
coderd/database/dump.sql : $(wildcard coderd/database/migrations/* .sql)
14
11
go run coderd/database/dump/main.go
15
- .PHONY : coderd/database/dump.sql
16
12
17
13
# Generates Go code for querying the database.
18
- coderd/database/generate : coderd/database/dump.sql $(wildcard coderd/database/queries/* .sql)
14
+ coderd/database/querier.go : coderd/database/dump.sql $(wildcard coderd/database/queries/* .sql)
19
15
coderd/database/generate.sh
20
- .PHONY : coderd/database/generate
21
16
22
- apitypings/generate : site/src/api/types.ts
23
- go run scripts/apitypings/main.go > site/src/api/typesGenerated.ts
24
- cd site && yarn run format:types
25
- .PHONY : apitypings/generate
17
+ # This is called "dist" to target the output directory for binaries.
18
+ dist : site/out $(find -not -path './vendor/*' -type f -name '*.go' ) go.mod go.sum
19
+ goreleaser build --snapshot --rm-dist
26
20
27
21
fmt/prettier :
28
22
@echo " --- prettier"
@@ -40,8 +34,7 @@ fmt/terraform: $(wildcard *.tf)
40
34
fmt : fmt/prettier fmt/terraform
41
35
.PHONY : fmt
42
36
43
- gen : coderd/database/generate peerbroker/proto provisionersdk/proto provisionerd/proto apitypings/generate
44
- .PHONY : gen
37
+ gen : coderd/database/querier.go peerbroker/proto/peerbroker.pb.go provisionersdk/proto/provisioner.pb.go provisionerd/proto/provisionerd.pb.go site/src/api/typesGenerated.ts
45
38
46
39
install : build
47
40
@echo " --- Copying from bin to $( INSTALL_DIR) "
@@ -53,44 +46,40 @@ lint:
53
46
golangci-lint run
54
47
.PHONY : lint
55
48
56
- peerbroker/proto : peerbroker/proto/peerbroker.proto
49
+ peerbroker/proto/peerbroker.pb.go : peerbroker/proto/peerbroker.proto
57
50
protoc \
58
51
--go_out=. \
59
52
--go_opt=paths=source_relative \
60
53
--go-drpc_out=. \
61
54
--go-drpc_opt=paths=source_relative \
62
55
./peerbroker/proto/peerbroker.proto
63
- .PHONY : peerbroker/proto
64
56
65
- provisionerd/proto : provisionerd/proto/provisionerd.proto
57
+ provisionerd/proto/provisionerd.pb.go : provisionerd/proto/provisionerd.proto
66
58
protoc \
67
59
--go_out=. \
68
60
--go_opt=paths=source_relative \
69
61
--go-drpc_out=. \
70
62
--go-drpc_opt=paths=source_relative \
71
63
./provisionerd/proto/provisionerd.proto
72
- .PHONY : provisionerd/proto
73
64
74
- provisionersdk/proto : provisionersdk/proto/provisioner.proto
65
+ provisionersdk/proto/provisioner.pb.go : provisionersdk/proto/provisioner.proto
75
66
protoc \
76
67
--go_out=. \
77
68
--go_opt=paths=source_relative \
78
69
--go-drpc_out=. \
79
70
--go-drpc_opt=paths=source_relative \
80
71
./provisionersdk/proto/provisioner.proto
81
- .PHONY : provisionersdk/proto
82
72
83
- release : site/out
84
- goreleaser release --snapshot --rm-dist --skip-sign
85
- .PHONY : release
86
-
87
- site/out :
73
+ site/out : $(shell find ./site -not -path './site/node_modules/* ' -type f -name '* .tsx') $(shell find ./site -not -path './site/node_modules/* ' -type f -name '* .ts') site/package.json
88
74
./scripts/yarn_install.sh
89
75
cd site && yarn typegen
90
76
cd site && yarn build
91
77
# Restores GITKEEP files!
92
78
git checkout HEAD site/out
93
- .PHONY : site/out
79
+
80
+ site/src/api/typesGenerated.ts : $(shell find codersdk -type f -name '* .go')
81
+ go run scripts/apitypings/main.go > site/src/api/typesGenerated.ts
82
+ cd site && yarn run format:types
94
83
95
84
test :
96
85
gotestsum -- -v -short ./...
0 commit comments