generated from TBD54566975/tbd-project-template
-
Notifications
You must be signed in to change notification settings - Fork 7
/
.go-arch-lint.yml
106 lines (102 loc) · 2.4 KB
/
.go-arch-lint.yml
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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
# yaml-language-server: $schema=./.go-arch-lint-schema.json
version: 3
workdir: .
components:
controller: { in: backend/controller/** }
ftl-controller-cmd: { in: cmd/ftl-controller/** }
common: { in: common/** }
internal: { in: internal/** }
dal: { in: backend/dal/** }
protos: { in: backend/protos/** }
schema: { in: internal/schema/** }
ftl: { in: . }
ftl-cmd: { in: frontend/cli/ftl/** }
go-runtime: { in: go-runtime/** }
jvm-runtime: { in: jvm-runtime/** }
runner: { in: backend/runner/** }
ftl-runner-cmd: { in: cmd/ftl-runner/** }
frontend: { in: frontend/console/** }
ftl-gen-lsp-cmd: { in: cmd/ftl-gen-lsp/** }
ftl-initdb-cmd: { in: cmd/ftl-initdb/** }
go2proto: { in: cmd/go2proto/** }
lint-commit-or-rollback-cmd: { in: cmd/lint-commit-or-rollback/** }
databasetesting: { in: backend/controller/sql/databasetesting/** }
sql: { in: backend/controller/sql/** }
# TODO: Nothing outside of the go-runtime package should depend on reflection.
reflection: { in: go-runtime/ftl/reflection/** }
# TODO: Nothing outside of the go-runtime package should depend on reflection.
encoding: { in: go-runtime/encoding/** }
leases: { in: backend/controller/leases/** }
excludeFiles:
- ".*/testdata/.*"
- ".*/\\.ftl/.*"
- "/examples/.*"
- "/jvm-runtime/.*"
allow:
depOnAnyVendor: true
commonComponents:
- common
- internal
- dal
- protos
- schema
- ftl
deps:
controller:
mayDependOn:
- controller
- frontend
runner:
mayDependOn:
- common
- internal
- runner
go-runtime:
mayDependOn:
- common
- internal
- go-runtime
ftl-cmd:
mayDependOn:
- controller
- common
- internal
- dal
- protos
- schema
- ftl
- jvm-runtime # TODO: When we decouple runtimes, this should be removed.
- go-runtime # TODO: When we decouple runtimes, this should be removed.
ftl-controller-cmd:
mayDependOn:
- controller
- common
- internal
- dal
- protos
- schema
- ftl
ftl-runner-cmd:
mayDependOn:
- common
- internal
- runner
ftl-initdb-cmd:
mayDependOn:
- databasetesting
databasetesting:
mayDependOn:
- common
- internal
- dal
- sql
sql:
mayDependOn:
- common
- internal
- sql
- leases
encoding:
mayDependOn:
- common
- internal