Skip to content

Commit ea9a1ef

Browse files
committed
migrate to aspect-build rules_js/rules_ts
1 parent 202f4eb commit ea9a1ef

Some content is hidden

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

44 files changed

+4356
-4628
lines changed

.bazelignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
docs/
22
node_modules
33
plugin/stephenh/ts-proto/node_modules
4-
rules/ts/node_modules
4+
rules/ts/node_modules

.bazelrc

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,7 @@ build:bazelci --deleted_packages=docs
1313

1414
# workaround for scala
1515
build --incompatible_java_common_parameters=false
16+
17+
# HOME appears to be required by //pkg/plugin/grpc/grpc:grpc_test
18+
# (for github.com/bazelbuild/rules_go/go/tools/bazel_testing)
19+
test --action_env=HOME

.npmrc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
hoist=false

Makefile

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,3 +31,7 @@ get:
3131
$(BAZEL) run @go_sdk//:bin/go -- get github.com/bazelbuild/[email protected]
3232
$(BAZEL) run @go_sdk//:bin/go -- mod download github.com/bazelbuild/buildtools
3333
$(BAZEL) run @go_sdk//:bin/go -- mod vendor
34+
35+
update_pnpm_lock:
36+
# nvm use 18
37+
pnpm install --lockfile-only

WORKSPACE

Lines changed: 22 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -114,21 +114,23 @@ load(
114114
"IO_GRPC_GRPC_JAVA_OVERRIDE_TARGETS",
115115
"grpc_java_repositories",
116116
)
117+
load("@com_google_protobuf//:protobuf_deps.bzl", "PROTOBUF_MAVEN_ARTIFACTS", "protobuf_deps")
118+
119+
protobuf_deps()
117120

118121
maven_install(
119-
artifacts = IO_GRPC_GRPC_JAVA_ARTIFACTS,
122+
name = "maven",
123+
artifacts = IO_GRPC_GRPC_JAVA_ARTIFACTS + PROTOBUF_MAVEN_ARTIFACTS,
120124
generate_compat_repositories = True,
121-
maven_install_json = "//:maven_install.json",
125+
# TODO(pcj): why does pinning of this repository cause such problems?
126+
# example: no such package '@com_google_errorprone_error_prone_annotations_2_18_0//file': The repository '@com_google_errorprone_error_prone_annotations_2_18_0' could not be resolved: Repository '@com_google_errorprone_error_prone_annotations_2_18_0' is not defined and referenced by '@maven//:com_google_errorprone_error_prone_annotations_2_18_0_extension'
127+
# maven_install_json = "//:maven_install.json",
122128
override_targets = IO_GRPC_GRPC_JAVA_OVERRIDE_TARGETS,
123-
repositories = [
124-
"https://repo.maven.apache.org/maven2/",
125-
],
129+
repositories = ["https://repo.maven.apache.org/maven2/"],
130+
strict_visibility = True,
126131
)
127132

128-
load(
129-
"@maven//:compat.bzl",
130-
"compat_repositories",
131-
)
133+
load("@maven//:compat.bzl", "compat_repositories")
132134

133135
compat_repositories()
134136

@@ -219,6 +221,10 @@ rules_closure_dependencies()
219221
# NodeJS
220222
# ----------------------------------------------------
221223

224+
load("@build_bazel_rules_nodejs//:repositories.bzl", "build_bazel_rules_nodejs_dependencies")
225+
226+
build_bazel_rules_nodejs_dependencies()
227+
222228
load("@build_bazel_rules_nodejs//:index.bzl", "node_repositories")
223229

224230
node_repositories()
@@ -232,7 +238,7 @@ load("//:proto_repositories.bzl", "proto_repositories")
232238
proto_repositories()
233239

234240
# ----------------------------------------------------
235-
# Typescript
241+
# @aspect_rules_ts
236242
# ----------------------------------------------------
237243
load("@aspect_rules_ts//ts:repositories.bzl", "rules_ts_dependencies")
238244

@@ -241,7 +247,10 @@ rules_ts_dependencies(
241247
ts_version_from = "//:package.json",
242248
)
243249

244-
# Fetch and register node, if you haven't already
250+
# ----------------------------------------------------
251+
# @rules_nodejs
252+
# ----------------------------------------------------
253+
245254
load("@rules_nodejs//nodejs:repositories.bzl", "DEFAULT_NODE_VERSION", "nodejs_register_toolchains")
246255

247256
nodejs_register_toolchains(
@@ -259,7 +268,6 @@ npm_translate_lock(
259268
verify_node_modules_ignored = "//:.bazelignore",
260269
)
261270

262-
load("@npm_ts_proto//:repositories.bzl", "npm_repositories")
271+
load("@npm_ts_proto//:repositories.bzl", npm_ts_proto_repositories = "npm_repositories")
263272

264-
# Declares npm_import rules from the pnpm-lock.yaml file
265-
npm_repositories()
273+
npm_ts_proto_repositories()

deps/BUILD.bazel

Lines changed: 21 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -46,9 +46,7 @@ depsgen(
4646

4747
depsgen(
4848
name = "ts_proto",
49-
deps = [
50-
":aspect_rules_ts",
51-
],
49+
deps = [":aspect_rules_ts"],
5250
)
5351

5452
depsgen(
@@ -277,32 +275,33 @@ proto_dependency(
277275
urls = ["https://github.com/bazelbuild/rules_swift/archive/dadd12190182530cf6f91ca7f9e70391644ce502.tar.gz"],
278276
)
279277

280-
# Release: v1.35.0
281-
# Commit: master
282-
# Date: 2021-01-12 23:05:49 +0000 UTC
283-
# URL: https://github.com/grpc/grpc-java/releases/tag/v1.35.0
284-
# Branch: master
285-
# Commit: 7f7821c616598ce4e33d2045c5641b2348728cb8
286-
# Date: 2021-02-10 00:56:26 +0000 UTC
287-
# URL: https://github.com/grpc/grpc-java/commit/7f7821c616598ce4e33d2045c5641b2348728cb8
288-
#
289-
# interop-testing: add fake altsHandshakerService for test (#7847)
290-
# Size: 2337953 (2.3 MB)
278+
# Release: v1.57.1
279+
# TargetCommitish: master
280+
# Date: 2023-08-01 17:05:26 +0000 UTC
281+
# URL: https://github.com/grpc/grpc-java/releases/tag/v1.57.1
282+
# Size: 2962849 (3.0 MB)
291283
proto_dependency(
292284
name = "io_grpc_grpc_java",
293285
repository_rule = "http_archive",
294-
sha256 = "82b3cf09f98a5932e1b55175aaec91b2a3f424eec811e47b2a3be533044d9afb",
295-
strip_prefix = "grpc-java-7f7821c616598ce4e33d2045c5641b2348728cb8",
296-
urls = ["https://github.com/grpc/grpc-java/archive/7f7821c616598ce4e33d2045c5641b2348728cb8.tar.gz"],
286+
sha256 = "4a021ea9ebb96f5841a135c168209cf2413587a0f8ce71a2bf37b3aad847b0d0",
287+
strip_prefix = "grpc-java-1.57.1",
288+
urls = ["https://github.com/grpc/grpc-java/archive/v1.57.1.tar.gz"],
297289
deps = [":rules_jvm_external"],
298290
)
299291

292+
# Branch: 5.3
293+
# Commit: e6c1ff21e002bf97a7b1c07d63edd508a8dc9659
294+
# Date: 2023-06-23 14:48:11 +0000 UTC
295+
# URL: https://github.com/bazelbuild/rules_jvm_external/commit/e6c1ff21e002bf97a7b1c07d63edd508a8dc9659
296+
#
297+
# Prepare for 5.3 release (#922)
298+
# Size: 6964597 (7.0 MB)
300299
proto_dependency(
301300
name = "rules_jvm_external",
302301
repository_rule = "http_archive",
303-
sha256 = "31701ad93dbfe544d597dbe62c9a1fdd76d81d8a9150c2bf1ecf928ecdf97169",
304-
strip_prefix = "rules_jvm_external-4.0",
305-
urls = ["https://github.com/bazelbuild/rules_jvm_external/archive/4.0.zip"],
302+
sha256 = "1ce86ffee65725300dc1f0017b7df89715c832de550137432dc1985d60a13155",
303+
strip_prefix = "rules_jvm_external-e6c1ff21e002bf97a7b1c07d63edd508a8dc9659",
304+
urls = ["https://github.com/bazelbuild/rules_jvm_external/archive/e6c1ff21e002bf97a7b1c07d63edd508a8dc9659.tar.gz"],
306305
)
307306

308307
proto_dependency(
@@ -435,9 +434,8 @@ proto_dependency(
435434
proto_dependency(
436435
name = "rules_nodejs",
437436
repository_rule = "http_archive",
438-
sha256 = "a833b08fc846e27a73ac2b7062e4f48cace0e72a072c6c3fa756847dc44246dd",
439-
strip_prefix = "rules_nodejs-6.0.0",
440-
urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/v6.0.0/rules_nodejs-v6.0.0.tar.gz"],
437+
sha256 = "08337d4fffc78f7fe648a93be12ea2fc4e8eb9795a4e6aa48595b66b34555626",
438+
urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/5.8.0/rules_nodejs-core-5.8.0.tar.gz"],
441439
)
442440

443441
proto_dependency(
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
"""
2+
GENERATED FILE - DO NOT EDIT (created via @build_stack_rules_proto//cmd/depsgen)
3+
"""
4+
5+
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
6+
load("@build_bazel_rules_nodejs//:index.bzl", "npm_install")
7+
8+
def _maybe(repo_rule, name, **kwargs):
9+
if name not in native.existing_rules():
10+
repo_rule(name = name, **kwargs)
11+
12+
def example_routeguide_nodejs_deps():
13+
"""example_routeguide_nodejs dependency macro
14+
"""
15+
build_bazel_rules_nodejs() # via npm_example_routeguide_nodejs
16+
npm_example_routeguide_nodejs() # via <TOP>
17+
18+
def build_bazel_rules_nodejs():
19+
_maybe(
20+
http_archive,
21+
name = "build_bazel_rules_nodejs",
22+
sha256 = "4501158976b9da216295ac65d872b1be51e3eeb805273e68c516d2eb36ae1fbb",
23+
urls = [
24+
"https://github.com/bazelbuild/rules_nodejs/releases/download/4.4.1/rules_nodejs-4.4.1.tar.gz",
25+
],
26+
)
27+
28+
def npm_example_routeguide_nodejs():
29+
_maybe(
30+
npm_install,
31+
name = "npm_example_routeguide_nodejs",
32+
package_json = "//example/routeguide/nodejs:package.json",
33+
package_lock_json = "//example/routeguide/nodejs:package-lock.json",
34+
symlink_node_modules = False,
35+
)

deps/grpc_core_deps.bzl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -111,10 +111,10 @@ def rules_jvm_external():
111111
_maybe(
112112
http_archive,
113113
name = "rules_jvm_external",
114-
sha256 = "31701ad93dbfe544d597dbe62c9a1fdd76d81d8a9150c2bf1ecf928ecdf97169",
115-
strip_prefix = "rules_jvm_external-4.0",
114+
sha256 = "1ce86ffee65725300dc1f0017b7df89715c832de550137432dc1985d60a13155",
115+
strip_prefix = "rules_jvm_external-e6c1ff21e002bf97a7b1c07d63edd508a8dc9659",
116116
urls = [
117-
"https://github.com/bazelbuild/rules_jvm_external/archive/4.0.zip",
117+
"https://github.com/bazelbuild/rules_jvm_external/archive/e6c1ff21e002bf97a7b1c07d63edd508a8dc9659.tar.gz",
118118
],
119119
)
120120

deps/grpc_java_deps.bzl

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,20 +18,20 @@ def rules_jvm_external():
1818
_maybe(
1919
http_archive,
2020
name = "rules_jvm_external",
21-
sha256 = "31701ad93dbfe544d597dbe62c9a1fdd76d81d8a9150c2bf1ecf928ecdf97169",
22-
strip_prefix = "rules_jvm_external-4.0",
21+
sha256 = "1ce86ffee65725300dc1f0017b7df89715c832de550137432dc1985d60a13155",
22+
strip_prefix = "rules_jvm_external-e6c1ff21e002bf97a7b1c07d63edd508a8dc9659",
2323
urls = [
24-
"https://github.com/bazelbuild/rules_jvm_external/archive/4.0.zip",
24+
"https://github.com/bazelbuild/rules_jvm_external/archive/e6c1ff21e002bf97a7b1c07d63edd508a8dc9659.tar.gz",
2525
],
2626
)
2727

2828
def io_grpc_grpc_java():
2929
_maybe(
3030
http_archive,
3131
name = "io_grpc_grpc_java",
32-
sha256 = "82b3cf09f98a5932e1b55175aaec91b2a3f424eec811e47b2a3be533044d9afb",
33-
strip_prefix = "grpc-java-7f7821c616598ce4e33d2045c5641b2348728cb8",
32+
sha256 = "4a021ea9ebb96f5841a135c168209cf2413587a0f8ce71a2bf37b3aad847b0d0",
33+
strip_prefix = "grpc-java-1.57.1",
3434
urls = [
35-
"https://github.com/grpc/grpc-java/archive/7f7821c616598ce4e33d2045c5641b2348728cb8.tar.gz",
35+
"https://github.com/grpc/grpc-java/archive/v1.57.1.tar.gz",
3636
],
3737
)

deps/grpc_node_deps.bzl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -112,10 +112,10 @@ def rules_jvm_external():
112112
_maybe(
113113
http_archive,
114114
name = "rules_jvm_external",
115-
sha256 = "31701ad93dbfe544d597dbe62c9a1fdd76d81d8a9150c2bf1ecf928ecdf97169",
116-
strip_prefix = "rules_jvm_external-4.0",
115+
sha256 = "1ce86ffee65725300dc1f0017b7df89715c832de550137432dc1985d60a13155",
116+
strip_prefix = "rules_jvm_external-e6c1ff21e002bf97a7b1c07d63edd508a8dc9659",
117117
urls = [
118-
"https://github.com/bazelbuild/rules_jvm_external/archive/4.0.zip",
118+
"https://github.com/bazelbuild/rules_jvm_external/archive/e6c1ff21e002bf97a7b1c07d63edd508a8dc9659.tar.gz",
119119
],
120120
)
121121

deps/nodejs_deps.bzl

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,25 @@ def _maybe(repo_rule, name, **kwargs):
1111
def nodejs_deps():
1212
"""nodejs dependency macro
1313
"""
14+
rules_nodejs() # via build_bazel_rules_nodejs
1415
build_bazel_rules_nodejs() # via <TOP>
1516

17+
def rules_nodejs():
18+
_maybe(
19+
http_archive,
20+
name = "rules_nodejs",
21+
sha256 = "08337d4fffc78f7fe648a93be12ea2fc4e8eb9795a4e6aa48595b66b34555626",
22+
urls = [
23+
"https://github.com/bazelbuild/rules_nodejs/releases/download/5.8.0/rules_nodejs-core-5.8.0.tar.gz",
24+
],
25+
)
26+
1627
def build_bazel_rules_nodejs():
1728
_maybe(
1829
http_archive,
1930
name = "build_bazel_rules_nodejs",
20-
sha256 = "4501158976b9da216295ac65d872b1be51e3eeb805273e68c516d2eb36ae1fbb",
31+
sha256 = "dcc55f810142b6cf46a44d0180a5a7fb923c04a5061e2e8d8eb05ccccc60864b",
2132
urls = [
22-
"https://github.com/bazelbuild/rules_nodejs/releases/download/4.4.1/rules_nodejs-4.4.1.tar.gz",
33+
"https://github.com/bazelbuild/rules_nodejs/releases/download/5.8.0/rules_nodejs-5.8.0.tar.gz",
2334
],
2435
)

deps/scala_deps.bzl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,10 @@ def rules_jvm_external():
1919
_maybe(
2020
http_archive,
2121
name = "rules_jvm_external",
22-
sha256 = "31701ad93dbfe544d597dbe62c9a1fdd76d81d8a9150c2bf1ecf928ecdf97169",
23-
strip_prefix = "rules_jvm_external-4.0",
22+
sha256 = "1ce86ffee65725300dc1f0017b7df89715c832de550137432dc1985d60a13155",
23+
strip_prefix = "rules_jvm_external-e6c1ff21e002bf97a7b1c07d63edd508a8dc9659",
2424
urls = [
25-
"https://github.com/bazelbuild/rules_jvm_external/archive/4.0.zip",
25+
"https://github.com/bazelbuild/rules_jvm_external/archive/e6c1ff21e002bf97a7b1c07d63edd508a8dc9659.tar.gz",
2626
],
2727
)
2828

deps/ts_proto_deps.bzl

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,10 +42,9 @@ def rules_nodejs():
4242
_maybe(
4343
http_archive,
4444
name = "rules_nodejs",
45-
sha256 = "a833b08fc846e27a73ac2b7062e4f48cace0e72a072c6c3fa756847dc44246dd",
46-
strip_prefix = "rules_nodejs-6.0.0",
45+
sha256 = "08337d4fffc78f7fe648a93be12ea2fc4e8eb9795a4e6aa48595b66b34555626",
4746
urls = [
48-
"https://github.com/bazelbuild/rules_nodejs/releases/download/v6.0.0/rules_nodejs-v6.0.0.tar.gz",
47+
"https://github.com/bazelbuild/rules_nodejs/releases/download/5.8.0/rules_nodejs-core-5.8.0.tar.gz",
4948
],
5049
)
5150

docs/builtins.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,17 +46,17 @@ proto_compile(
4646
options = {
4747
"@build_stack_rules_proto//plugin/builtin:closurejs": [
4848
"import_style=closure",
49-
"library=test",
49+
"library=test_closure",
5050
],
5151
"@build_stack_rules_proto//plugin/builtin:commonjs": ["import_style=commonjs"],
5252
},
5353
outputs = [
5454
"Test.pbobjc.h",
5555
"Test.pbobjc.m",
56-
"test.js",
5756
"test.pb.cc",
5857
"test.pb.h",
5958
"test.srcjar",
59+
"test_closure.js",
6060
"test_pb.js",
6161
"test_pb.rb",
6262
"test_pb2.py",

example/BUILD.bazel

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,12 @@
3535
# gazelle:proto_rule proto_java_library deps @com_google_protobuf//:protobuf_java
3636
# gazelle:proto_rule proto_java_library visibility //visibility:public
3737
# gazelle:proto_rule grpc_java_library implementation stackb:rules_proto:grpc_java_library
38-
# gazelle:proto_rule grpc_java_library deps @build_stack_rules_proto//plugin/grpc/grpc-java:grpc_java
38+
# gazelle:proto_rule grpc_java_library deps @io_grpc_grpc_java//stub
39+
# gazelle:proto_rule grpc_java_library deps @io_grpc_grpc_java//stub:javax_annotation
40+
# gazelle:proto_rule grpc_java_library deps @io_grpc_grpc_java//context
41+
# gazelle:proto_rule grpc_java_library deps @io_grpc_grpc_java//protobuf
42+
# gazelle:proto_rule grpc_java_library deps @com_google_guava_guava//jar
43+
3944
# gazelle:proto_rule grpc_java_library visibility //visibility:public
4045
# gazelle:proto_language java plugin java
4146
# gazelle:proto_language java plugin protoc-gen-grpc-java
@@ -102,8 +107,12 @@
102107
# gazelle:proto_plugin ts_proto option esModuleInterop=true
103108
# gazelle:proto_rule proto_ts_library implementation stackb:rules_proto:proto_ts_library
104109
# gazelle:proto_rule proto_ts_library visibility //visibility:public
105-
# gazelle:proto_rule proto_ts_library deps //:node_modules/protobufjs
110+
# gazelle:proto_rule proto_ts_library deps //:node_modules/@nestjs/microservices
111+
# gazelle:proto_rule proto_ts_library deps //:node_modules/@types/node
106112
# gazelle:proto_rule proto_ts_library deps //:node_modules/long
113+
# gazelle:proto_rule proto_ts_library deps //:node_modules/protobufjs
114+
# gazelle:proto_rule proto_ts_library deps //:node_modules/rxjs
115+
107116
# Set an out_dir so that we don't conflict with the closurejs output
108117
# gazelle:proto_rule proto_ts_library attr out_dir ts
109118

example/golden/testdata/builtins/BUILD.out

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,17 +32,17 @@ proto_compile(
3232
options = {
3333
"@build_stack_rules_proto//plugin/builtin:closurejs": [
3434
"import_style=closure",
35-
"library=test",
35+
"library=test_closure",
3636
],
3737
"@build_stack_rules_proto//plugin/builtin:commonjs": ["import_style=commonjs"],
3838
},
3939
outputs = [
4040
"Test.pbobjc.h",
4141
"Test.pbobjc.m",
42-
"test.js",
4342
"test.pb.cc",
4443
"test.pb.h",
4544
"test.srcjar",
45+
"test_closure.js",
4646
"test_pb.js",
4747
"test_pb.rb",
4848
"test_pb2.py",

example/golden/testdata/closurejs/BUILD.out

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@ proto_compile(
2121
name = "example_closurejs_compile",
2222
options = {"@build_stack_rules_proto//plugin/builtin:closurejs": [
2323
"import_style=closure",
24-
"library=example",
24+
"library=example_closure",
2525
]},
26-
outputs = ["example.js"],
26+
outputs = ["example_closure.js"],
2727
plugins = ["@build_stack_rules_proto//plugin/builtin:closurejs"],
2828
proto = "example_proto",
2929
)

0 commit comments

Comments
 (0)