Skip to content

Commit 5185efb

Browse files
committed
wip
0 parents  commit 5185efb

18 files changed

+5766
-0
lines changed

.gitignore

+37
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# Binaries for programs and plugins
2+
*.exe
3+
*.exe~
4+
*.dll
5+
*.so
6+
*.dylib
7+
8+
# Test binary, built with `go test -c`
9+
*.test
10+
11+
# Output of the go coverage tool, specifically when used with LiteIDE
12+
*.out
13+
14+
# Dependency directories (remove the comment below to include it)
15+
# vendor/
16+
17+
gcp.json
18+
*~
19+
*.#
20+
*#
21+
22+
# Goland project directory
23+
.idea
24+
25+
# Frontend ignores
26+
**/node_modules
27+
28+
# macOS ignores
29+
*.DS_Store
30+
31+
# gRPC/Protocol Buffers
32+
bin
33+
docs
34+
dist/*
35+
36+
# exclude files from `ag` search
37+
.ignore

.golangci.yaml

+72
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
service:
2+
golangci-lint-version: 1.43.x
3+
run:
4+
deadline: 600s
5+
skip-dirs:
6+
- genfiles$
7+
- gen$
8+
- vendor$
9+
- test$
10+
tests: true
11+
linters:
12+
enable-all: true
13+
disable:
14+
- cyclop
15+
- exhaustivestruct
16+
- funlen
17+
- gocognit
18+
- godox
19+
- goerr113
20+
- gochecknoglobals
21+
- gochecknoinits
22+
- gocyclo
23+
- gofmt
24+
- goimports
25+
- golint
26+
- gomnd
27+
- interfacer
28+
- ireturn
29+
- maligned
30+
- makezero
31+
- nestif
32+
- nlreturn
33+
- paralleltest
34+
- prealloc
35+
- scopelint
36+
- tagliatelle
37+
- testpackage
38+
- varnamelen
39+
- wrapcheck
40+
- wsl
41+
linters-settings:
42+
errcheck:
43+
check-blank: true
44+
gosec:
45+
excludes:
46+
- G601
47+
gci:
48+
local-prefixes: go.viam.com/api
49+
govet:
50+
enable-all: true
51+
disable:
52+
- fieldalignment
53+
- shadow
54+
lll:
55+
line-length: 140
56+
issues:
57+
exclude:
58+
- composites
59+
exclude-rules:
60+
- path: _test\.go$|^tests/|^samples/
61+
linters:
62+
- errcheck
63+
- contextcheck
64+
- exhaustive
65+
- forcetypeassert
66+
- goconst
67+
- gosec
68+
- govet
69+
- noctx
70+
exclude-use-default: false
71+
max-per-linter: 0
72+
max-same-issues: 0

Makefile

+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
PATH_WITH_TOOLS="`pwd`/bin:`pwd`/frontend/node_modules/.bin:${PATH}"
2+
3+
setup:
4+
bash etc/setup.sh
5+
6+
dist/tool-install: Makefile
7+
GOBIN=`pwd`/bin go install google.golang.org/protobuf/cmd/protoc-gen-go \
8+
github.com/bufbuild/buf/cmd/buf \
9+
github.com/bufbuild/buf/cmd/protoc-gen-buf-breaking \
10+
github.com/bufbuild/buf/cmd/protoc-gen-buf-lint \
11+
github.com/pseudomuto/protoc-gen-doc/cmd/protoc-gen-doc \
12+
google.golang.org/grpc/cmd/protoc-gen-go-grpc \
13+
github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-grpc-gateway \
14+
github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2 \
15+
github.com/srikrsna/protoc-gen-gotag \
16+
github.com/edaniels/golinters/cmd/combined \
17+
github.com/golangci/golangci-lint/cmd/golangci-lint
18+
mkdir -p dist
19+
touch dist/tool-install
20+
21+
dist/buf: dist/buf-go
22+
23+
dist/buf-go: dist/tool-install proto/robot/v1/robot.proto proto/tagger/v1/tagger.proto
24+
PATH=$(PATH_WITH_TOOLS) buf lint
25+
PATH=$(PATH_WITH_TOOLS) buf generate
26+
PATH=$(PATH_WITH_TOOLS) buf generate --template ./etc/buf.gen.tag.yaml
27+
touch dist/buf-go
28+
29+
lint: dist/tool-install
30+
PATH=$(PATH_WITH_TOOLS) buf lint
31+
export pkgs=`go list -f '{{.Dir}}' ./... | grep -v gen | grep -v proto` && echo "$$pkgs" | xargs go vet -vettool=bin/combined
32+
export pkgs=`go list -f '{{.Dir}}' ./... | grep -v gen | grep -v proto` && echo "$$pkgs" | xargs go run github.com/golangci/golangci-lint/cmd/golangci-lint run -v --fix --config=./etc/.golangci.yaml

buf.gen.yaml

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
version: v1beta1
2+
plugins:
3+
- name: go
4+
out: .
5+
opt:
6+
- paths=source_relative
7+
- name: go-grpc
8+
out: .
9+
opt:
10+
- paths=source_relative
11+
- name: grpc-gateway
12+
out: .
13+
opt:
14+
- paths=source_relative
15+
- generate_unbound_methods=true
16+
- name: doc
17+
out: docs/proto
18+
strategy: all
19+
opt:
20+
- html,index.html

buf.yaml

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
version: v1
2+
build:
3+
excludes: [node_modules]
4+
lint:
5+
use:
6+
- DEFAULT
7+
breaking:
8+
use:
9+
- FILE

etc/.golangci.yaml

+77
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
service:
2+
golangci-lint-version: 1.43.x
3+
run:
4+
deadline: 600s
5+
skip-dirs:
6+
- genfiles$
7+
- gen$
8+
- vendor$
9+
- test$
10+
tests: true
11+
linters:
12+
enable-all: true
13+
disable:
14+
- cyclop
15+
- exhaustivestruct
16+
- funlen
17+
- gocognit
18+
- godox
19+
- goerr113
20+
- gochecknoglobals
21+
- gochecknoinits
22+
- gocyclo
23+
- gofmt
24+
- goimports
25+
- golint
26+
- gomnd
27+
- interfacer
28+
- ireturn
29+
- maligned
30+
- makezero
31+
- nestif
32+
- nlreturn
33+
- paralleltest
34+
- prealloc
35+
- scopelint
36+
- tagliatelle
37+
- testpackage
38+
- varnamelen
39+
- wrapcheck
40+
- wsl
41+
linters-settings:
42+
errcheck:
43+
check-blank: true
44+
gosec:
45+
excludes:
46+
- G601
47+
gci:
48+
local-prefixes: go.viam.com/api
49+
gomoddirectives:
50+
replace-allow-list:
51+
- github.com/go-acme/lego/v4
52+
- github.com/pion/ice/v2
53+
- github.com/grandcat/zeroconf
54+
govet:
55+
enable-all: true
56+
disable:
57+
- fieldalignment
58+
- shadow
59+
lll:
60+
line-length: 140
61+
issues:
62+
exclude:
63+
- composites
64+
exclude-rules:
65+
- path: _test\.go$|^tests/|^samples/
66+
linters:
67+
- errcheck
68+
- contextcheck
69+
- exhaustive
70+
- forcetypeassert
71+
- goconst
72+
- gosec
73+
- govet
74+
- noctx
75+
exclude-use-default: false
76+
max-per-linter: 0
77+
max-same-issues: 0

etc/buf.gen.tag.yaml

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
version: v1beta1
2+
plugins:
3+
- name: gotag
4+
out: .
5+
opt:
6+
- paths=source_relative

etc/buf.web.gen.yaml

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
version: v1beta1
2+
plugins:
3+
- name: js
4+
out: dist/js
5+
opt:
6+
- import_style=commonjs
7+
- name: grpc-web
8+
out: dist/js
9+
opt:
10+
- import_style=commonjs
11+
- mode=grpcwebtext
12+
- name: ts
13+
out: dist/js
14+
opt:
15+
- service=grpc-web

0 commit comments

Comments
 (0)