Skip to content

Commit 07093c0

Browse files
authored
Support scala file parsing prior to gazelle runtime (#135)
1 parent 93c0159 commit 07093c0

File tree

129 files changed

+4494
-483
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

129 files changed

+4494
-483
lines changed

.github/workflows/ci.yaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,4 +49,3 @@ jobs:
4949
//cmd/mergeindex/...
5050
//language/scala/...
5151
//pkg/...
52-
//example/...

.gitignore

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,4 @@
1-
/pkg/parser/node.exe
1+
/pkg/parser/node.exe
2+
/bazel-*
3+
/.vscode/
4+
/examples/

BUILD.bazel

Lines changed: 67 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,14 @@
1+
load("@build_stack_scala_gazelle//rules:package_filegroup.bzl", "package_filegroup")
12
load("@bazel_gazelle//:def.bzl", "gazelle", "gazelle_binary")
23

34
# -- Gazelle language "walk" ---
5+
# gazelle:exclude .github
6+
# gazelle:exclude .vscode
7+
# gazelle:exclude bazel-bin
8+
# gazelle:exclude bazel-out
9+
# gazelle:exclude bazel-scala-gazelle
10+
# gazelle:exclude bazel-testlogs
11+
# gazelle:exclude bin
412
# gazelle:exclude vendor
513

614
# -- Gazelle language "resolve" ---
@@ -44,6 +52,7 @@ gazelle_binary(
4452
"@bazel_gazelle//language/go",
4553
"@bazel_gazelle//language/proto",
4654
"@build_stack_rules_proto//language/protobuf",
55+
"//language/files",
4756
],
4857
visibility = ["//visibility:public"],
4958
)
@@ -64,18 +73,69 @@ gazelle(
6473
command = "update-repos",
6574
)
6675

67-
# ----------------------------------------------------
68-
# Test-Related
69-
# ----------------------------------------------------
70-
71-
filegroup(
72-
name = "all_files",
76+
package_filegroup(
77+
name = "filegroup",
7378
srcs = [
79+
".bazelrc",
80+
".bazelversion",
81+
".gitignore",
7482
"BUILD.bazel",
83+
"LICENSE",
84+
"Makefile",
85+
"README.md",
7586
"WORKSPACE",
87+
"go.mod",
88+
"go.sum",
7689
"go_repos.bzl",
90+
"maven_install.json",
7791
"workspace_deps.bzl",
78-
"//language/scala:all_files",
7992
],
8093
visibility = ["//visibility:public"],
94+
deps = [
95+
"//blaze/worker:filegroup",
96+
"//build/stack/gazelle/scala/autokeep:filegroup",
97+
"//build/stack/gazelle/scala/cache:filegroup",
98+
"//build/stack/gazelle/scala/jarindex:filegroup",
99+
"//build/stack/gazelle/scala/parse:filegroup",
100+
"//cmd/autokeep:filegroup",
101+
"//cmd/jarindexer:filegroup",
102+
"//cmd/mergeindex:filegroup",
103+
"//cmd/scalafileextract:filegroup",
104+
"//cmd/scalafilemerge:filegroup",
105+
"//cmd/semanticdbextract:filegroup",
106+
"//cmd/semanticdbmerge:filegroup",
107+
"//cmd/wildcardimportfixer:filegroup",
108+
"//docs/architecture:filegroup",
109+
"//examples:filegroup",
110+
"//examples/java_index:filegroup",
111+
"//examples/protobuf_index:filegroup",
112+
"//language/files:filegroup",
113+
"//language/scala:filegroup",
114+
"//pkg/autokeep:filegroup",
115+
"//pkg/bazel:filegroup",
116+
"//pkg/collections:filegroup",
117+
"//pkg/glob:filegroup",
118+
"//pkg/jarindex:filegroup",
119+
"//pkg/maven:filegroup",
120+
"//pkg/parser:filegroup",
121+
"//pkg/parser/mocks:filegroup",
122+
"//pkg/procutil:filegroup",
123+
"//pkg/protobuf:filegroup",
124+
"//pkg/provider:filegroup",
125+
"//pkg/resolver:filegroup",
126+
"//pkg/resolver/mocks:filegroup",
127+
"//pkg/scalaconfig:filegroup",
128+
"//pkg/scalafiles:filegroup",
129+
"//pkg/scalarule:filegroup",
130+
"//pkg/scalarule/mocks:filegroup",
131+
"//pkg/semanticdb:filegroup",
132+
"//pkg/starlarkeval:filegroup",
133+
"//pkg/testutil:filegroup",
134+
"//pkg/wildcardimport:filegroup",
135+
"//rules:filegroup",
136+
"//scala/meta/semanticdb:filegroup",
137+
"//scalapb:filegroup",
138+
"//third_party/bazelbuild/bazel-gazelle:filegroup",
139+
"//tools/plantuml:filegroup",
140+
],
81141
)

Makefile

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,14 @@ autokeep_protos:
4343
mv build/stack/gazelle/scala/autokeep/build/stack/gazelle/scala/autokeep/autokeep.pb.go build/stack/gazelle/scala/autokeep/autokeep.pb.go
4444
rm -rf build/stack/gazelle/scala/autokeep/build
4545

46+
.PHONY: worker_protos
47+
worker_protos:
48+
bazel run //blaze/worker:worker_protocol_go_compiled_sources.update
49+
mv blaze/worker/blaze/worker/worker_protocol.pb.go blaze/worker/worker_protocol.pb.go
50+
rm -rf blaze/worker/blaze
51+
4652
.PHONY: protos
47-
protos: jarindex_protos parser_protos scalacache_protos scalapb_protos semanticdb_protos autokeep_protos
53+
protos: jarindex_protos parser_protos scalacache_protos scalapb_protos semanticdb_protos autokeep_protos worker_protos
4854
echo "Done."
4955

5056
.PHONY: docs
@@ -82,6 +88,5 @@ gen: mocks protos
8288
.PHONY: goldens
8389
goldens:
8490
bazel run //pkg/semanticdb:semanticdb_test -- -update
85-
86-
update_provider_test_golden_files:
8791
bazel run pkg/provider:provider_test -- -update
92+
bazel run pkg/parser:parser_test -- -update

blaze/worker/BUILD.bazel

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
load("@build_stack_scala_gazelle//rules:package_filegroup.bzl", "package_filegroup")
2+
load("@io_bazel_rules_go//go:def.bzl", "go_library")
3+
load("@rules_proto//proto:defs.bzl", "proto_library")
4+
load("@build_stack_rules_proto//rules:proto_compiled_sources.bzl", "proto_compiled_sources")
5+
6+
proto_library(
7+
name = "worker_protocol_proto",
8+
srcs = ["worker_protocol.proto"],
9+
visibility = ["//visibility:public"],
10+
)
11+
12+
proto_compiled_sources(
13+
name = "worker_protocol_go_compiled_sources",
14+
srcs = ["worker_protocol.pb.go"],
15+
output_mappings = ["worker_protocol.pb.go=github.com/stackb/scala-gazelle/blaze/worker/worker_protocol/worker_protocol.pb.go"],
16+
plugins = ["@build_stack_rules_proto//plugin/golang/protobuf:protoc-gen-go"],
17+
proto = "worker_protocol_proto",
18+
)
19+
20+
go_library(
21+
name = "worker",
22+
srcs = ["worker_protocol.pb.go"],
23+
importpath = "github.com/stackb/scala-gazelle/blaze/worker",
24+
visibility = ["//visibility:public"],
25+
deps = [
26+
"@org_golang_google_protobuf//reflect/protoreflect",
27+
"@org_golang_google_protobuf//runtime/protoimpl",
28+
],
29+
)
30+
31+
package_filegroup(
32+
name = "filegroup",
33+
srcs = [
34+
"BUILD.bazel",
35+
"worker_protocol.pb.go",
36+
"worker_protocol.proto",
37+
],
38+
visibility = ["//visibility:public"],
39+
)

0 commit comments

Comments
 (0)