1
1
"""EngFlow example project"""
2
2
3
- module (name = "engflow-example" , version = "0.0.0" )
3
+ module (
4
+ name = "engflow-example" ,
5
+ version = "0.0.0" ,
6
+ )
7
+
4
8
http_file = use_repo_rule (
5
- "@bazel_tools//tools/build_defs/repo:http.bzl" , "http_file"
9
+ "@bazel_tools//tools/build_defs/repo:http.bzl" ,
10
+ "http_file" ,
6
11
)
12
+
7
13
http_archive = use_repo_rule (
8
- "@bazel_tools//tools/build_defs/repo:http.bzl" , "http_archive"
14
+ "@bazel_tools//tools/build_defs/repo:http.bzl" ,
15
+ "http_archive" ,
9
16
)
10
17
11
18
# Some file dependencies
@@ -38,13 +45,17 @@ http_archive(
38
45
url = "https://github.com/abseil/abseil-py/archive/refs/tags/v2.1.0.tar.gz" ,
39
46
)
40
47
48
+ register_toolchains ("@rules_scala_protoc_toolchains//:all" )
49
+
41
50
bazel_dep (name = "bazel_skylib" , version = "1.7.1" )
42
- bazel_dep (name = "engflowapis-java" , version = "2025.01.17-13.50.20" )
43
- bazel_dep (name = "platforms" , version = "0.0.10" )
44
- bazel_dep (
45
- name = "protobuf" ,
46
- version = "23.1" ,
47
- repo_name = "com_google_protobuf" ,
51
+ bazel_dep (name = "engflowapis-java" , version = "2025.03.14-12.58.52" )
52
+ bazel_dep (name = "platforms" , version = "0.0.11" )
53
+ bazel_dep (name = "protobuf" , version = "30.2" )
54
+ single_version_override (
55
+ module_name = "protobuf" ,
56
+ patch_strip = 1 ,
57
+ patches = ["//scala:0001-protobuf-19679-rm-protoc-dep.patch" ],
58
+ version = "30.2" ,
48
59
)
49
60
50
61
# Per the instructions from:
@@ -53,43 +64,35 @@ bazel_dep(
53
64
# If you also depend on `rules_cc`, `apple_support` must come _above_ `rules_cc`
54
65
# in your `MODULE.bazel` or `WORKSPACE` file because Bazel selects toolchains
55
66
# based on which is registered first.
56
- bazel_dep (
57
- name = "apple_support" ,
58
- version = "1.15.1" ,
59
- repo_name = "build_bazel_apple_support" ,
60
- )
61
- bazel_dep (name = "rules_cc" , version = "0.0.9" )
67
+ bazel_dep (name = "apple_support" , version = "1.22.0" )
68
+ bazel_dep (name = "rules_cc" , version = "0.1.1" )
62
69
63
70
# https://github.com/googleapis/googleapis/pull/855
64
71
# https://github.com/bazelbuild/bazel-central-registry/pull/1699
65
72
bazel_dep (
66
73
name = "googleapis" ,
67
- version = "0.0.0-20240326-1c8d509c5" ,
68
- repo_name = "com_google_googleapis" ,
74
+ version = "0.0.0-20241220-5e258e33.bcr.1" ,
69
75
)
70
-
71
- bazel_dep (name = "rules_python" , version = "1.0.0" )
76
+ bazel_dep (name = "rules_python" , version = "1.4.1" )
72
77
73
78
PYTHON_VERSION = "3.12"
79
+
74
80
python = use_extension ("@rules_python//python/extensions:python.bzl" , "python" )
75
81
python .toolchain (
76
82
is_default = True ,
77
83
python_version = PYTHON_VERSION ,
78
84
)
79
85
80
86
pip = use_extension ("@rules_python//python/extensions:pip.bzl" , "pip" )
81
-
82
87
pip .parse (
83
88
hub_name = "pip" ,
84
89
python_version = PYTHON_VERSION ,
85
90
requirements_lock = "//python:requirements_lock.txt" ,
86
91
)
87
-
88
92
use_repo (pip , "pip" )
89
93
90
- bazel_dep (name = "rules_proto" , version = "6.0.2" )
91
-
92
- bazel_dep (name = "rules_dotnet" , version = "0.18.1" )
94
+ bazel_dep (name = "rules_proto" , version = "7.1.0" )
95
+ bazel_dep (name = "rules_dotnet" , version = "0.18.2" )
93
96
94
97
dotnet = use_extension ("@rules_dotnet//dotnet:extensions.bzl" , "dotnet" )
95
98
dotnet .toolchain (dotnet_version = "8.0.200" )
@@ -98,220 +101,76 @@ use_repo(dotnet, "dotnet_toolchains")
98
101
register_toolchains ("@dotnet_toolchains//:all" )
99
102
100
103
# https://github.com/bazelbuild/rules_go/blob/master/docs/go/core/bzlmod.md
101
- bazel_dep (name = "rules_go" , version = "0.48.1 " )
102
- bazel_dep (name = "gazelle" , version = "0.37 .0" )
104
+ bazel_dep (name = "rules_go" , version = "0.54.0 " )
105
+ bazel_dep (name = "gazelle" , version = "0.43 .0" )
103
106
104
- GO_VERSION = "1.22.5 "
107
+ GO_VERSION = "1.24.3 "
105
108
106
109
go_sdk = use_extension ("@rules_go//go:extensions.bzl" , "go_sdk" )
107
110
go_sdk .download (version = GO_VERSION )
108
111
109
112
go_deps = use_extension ("@gazelle//:extensions.bzl" , "go_deps" )
110
113
go_deps .from_file (go_mod = "//:go.mod" )
111
-
112
114
use_repo (go_deps , "com_github_google_go_cmp" )
113
115
114
- bazel_dep (name = "rules_java" , version = "7.9.1 " )
116
+ bazel_dep (name = "rules_java" , version = "8.11.0 " )
115
117
116
118
# https://github.com/bazelbuild/rules_jvm_external/blob/master/docs/bzlmod.md
117
- bazel_dep (name = "rules_jvm_external" , version = "6.2" )
118
- bazel_dep (
119
- name = "grpc-java" ,
120
- version = "1.64.0" ,
121
- repo_name = "io_grpc_grpc_java" ,
122
- )
119
+ bazel_dep (name = "rules_jvm_external" , version = "6.7" )
120
+ bazel_dep (name = "grpc-java" , version = "1.71.0" )
123
121
124
122
# Loads rules required to compile proto files
125
- bazel_dep (name = "rules_proto_grpc" , version = "5.0.0-alpha2 " )
123
+ bazel_dep (name = "rules_proto_grpc" , version = "5.0.1 " )
126
124
127
125
maven = use_extension ("@rules_jvm_external//:extensions.bzl" , "maven" )
128
126
maven .install (
129
127
artifacts = [
130
- "commons-cli:commons-cli:1.8 .0" ,
131
- "com.google.oauth-client:google-oauth-client:1.36 .0" ,
132
- "io.netty:netty-handler:4.1.111 .Final" ,
128
+ "commons-cli:commons-cli:1.9 .0" ,
129
+ "com.google.oauth-client:google-oauth-client:1.39 .0" ,
130
+ "io.netty:netty-handler:4.1.121 .Final" ,
133
131
],
134
132
135
133
# When updating versions, run `REPIN=1 bazel run @maven//:pin`
136
134
fail_if_repin_required = True ,
137
135
lock_file = "//:maven_install.json" ,
138
-
139
- strict_visibility = True ,
140
136
repositories = [
141
137
"https://repo.maven.apache.org/maven2/" ,
142
138
],
139
+ strict_visibility = True ,
143
140
)
144
141
use_repo (maven , "maven" )
145
142
146
- bazel_dep (name = "rules_kotlin" , version = "1.9.6" )
147
- bazel_dep (name = "rules_perl" , version = "0.2.0" )
148
-
149
- bazel_dep (
150
- name = "rules_swift" ,
151
- version = "1.18.0" ,
152
- repo_name = "build_bazel_rules_swift"
153
- )
154
-
155
- bazel_dep (name = "aspect_rules_ts" , version = "2.4.2" )
143
+ bazel_dep (name = "rules_kotlin" , version = "2.1.4" )
144
+ bazel_dep (name = "rules_perl" , version = "0.4.1" )
145
+ bazel_dep (name = "rules_swift" , version = "2.8.2" )
146
+ bazel_dep (name = "aspect_rules_ts" , version = "3.5.3" )
156
147
157
148
rules_ts_ext = use_extension (
158
149
"@aspect_rules_ts//ts:extensions.bzl" ,
159
150
"ext" ,
160
151
dev_dependency = True ,
161
152
)
162
-
163
153
rules_ts_ext .deps ()
164
-
165
154
use_repo (rules_ts_ext , "npm_typescript" )
166
155
167
- # rules_scala is not yet bzlmod compatible:
168
- #
169
- # - https://github.com/bazelbuild/rules_scala/issues/1482
170
- # - https://github.com/bazelbuild/bazel-central-registry/issues/522
171
- #
172
- # This is due to the following differences between the WORKSPACE and bzlmod
173
- # models:
174
- #
175
- # - WORKSPACE executes http_archive, load, and any imported functions
176
- # sequentially. This enables later expressions to refer to repos defined by
177
- # expressions executed earlier in the WORKSPACE file. Also, WORKSPACE
178
- # expressions can introduce repos to the global scope directly, without
179
- # explicit import statements.
180
- #
181
- # - bzlmod enforces explicit repository declarations, with no expression
182
- # referring to a repo defined in the same file. (The exception being arguments
183
- # to register_toolchains(), and probably register_execution_platforms(), which
184
- # don't appear to carry the risk of introducing circular definitions.)
185
- #
186
- # MODULE.bazel also doesn't allow load() calls, and load()s must appear at the
187
- # beginning of an extension file, before any function definitions or calls.
188
- #
189
- # This enables bzlmod to build and verify an acyclic dependency graph from
190
- # repo declarations alone, before and without executing any extension
191
- # functions.
192
- #
193
- # As a result, importing the rules_scala repos into MODULE.bazel requires
194
- # separate files:
195
- #
196
- # - MODULE.bazel loads the rules_scala archive as @io_bazel_rules_scala.
197
- #
198
- # - The //scala/extensions:config.bzl extension defines
199
- # @io_bazel_rules_scala_config, which depends on @io_bazel_rules_scala.
200
- #
201
- # - The //scala/extensions:deps.bzl extension defines the repos needed by the
202
- # Scala rules, which depend on @io_bazel_rules_scala and
203
- # @io_bazel_rules_scala_config.
204
- #
205
- # The following problems occur when trying to import everything directly in
206
- # MODULE.bazel, or in fewer extension files.
207
- #
208
- # ---
209
- #
210
- # In an extension, the http_archive call for rules_scala must still come first,
211
- # thereby rendering later load() calls invalid. This precludes encapsulating the
212
- # entire rules_scala configuration in a single extension.
213
- #
214
- # ---
215
- #
216
- # Defining @io_bazel_rules_scala_config using the following in MODULE.bazel:
217
- #
218
- # scala_config = use_repo_rule(
219
- # "@io_bazel_rules_scala//:scala_config.bzl", "scala_config"
220
- # )
221
- # scala_config(name = "io_bazel_rules_scala_config")
222
- #
223
- # would produce:
224
- #
225
- # ERROR: Circular definition of repositories generated by module extensions
226
- # and/or .bzl files:
227
- # .-> @@_main~_repo_rules~io_bazel_rules_scala
228
- # | extension '_repo_rules' defined in //:MODULE.bazel
229
- # | @@_main~_repo_rules~io_bazel_rules_scala//:scala_config.bzl
230
- # `-- @@_main~_repo_rules~io_bazel_rules_scala
231
- # ERROR: cycles detected during target parsing
232
- #
233
- # ---
234
- #
235
- # Calling scala_config() and exporting @io_bazel_rules_scala_config from
236
- # //scala:deps.bzl would also produce a circular definition error:
237
- #
238
- # ERROR: Circular definition of repositories generated by module extensions
239
- # and/or .bzl files:
240
- # .-> @@_main~scala_deps~io_bazel_rules_scala_config
241
- # | extension 'scala_deps' defined in //scala:deps.bzl
242
- # | //scala:deps.bzl
243
- # | @@_main~_repo_rules~io_bazel_rules_scala//testing:scalatest.bzl
244
- # | @@_main~_repo_rules~io_bazel_rules_scala//scalatest:scalatest.bzl
245
- # | @@_main~_repo_rules~io_bazel_rules_scala//third_party/repositories:repositories.bzl
246
- # | @@_main~scala_deps~io_bazel_rules_scala_config//:config.bzl
247
- # `-- @@_main~scala_deps~io_bazel_rules_scala_config
248
- # ERROR: cycles detected during target parsing
249
- #
250
- # This is because
251
- # @io_bazel_rules_scala//third_party/repositories:repositories.bzl contains a
252
- # load() statement depending on @io_bazel_rules_scala_config:
253
- #
254
- # load(
255
- # "@io_bazel_rules_scala_config//:config.bzl",
256
- # "SCALA_MAJOR_VERSION",
257
- # "SCALA_VERSION",
258
- # )
259
-
260
- http_archive (
261
- name = "io_bazel_rules_scala" ,
262
- sha256 = "e734eef95cf26c0171566bdc24d83bd82bdaf8ca7873bec6ce9b0d524bdaf05d" ,
263
- strip_prefix = "rules_scala-6.6.0" ,
264
- url = "https://github.com/bazelbuild/rules_scala/releases/download/v6.6.0/rules_scala-v6.6.0.tar.gz" ,
265
- patches = ["//scala:rules_scala-6.6.0.patch" ],
266
- patch_args = ["-p1" ],
156
+ bazel_dep (name = "rules_scala" )
157
+ archive_override (
158
+ module_name = "rules_scala" ,
159
+ sha256 = "a4700d6e6cdf13cf85e29029ec998e2ec3ba94791606ec83d2c96e3c5b0aebed" ,
160
+ strip_prefix = "rules_scala-7.0.0" ,
161
+ url = "https://github.com/bazelbuild/rules_scala/releases/download/v7.0.0/rules_scala-v7.0.0.tar.gz" ,
267
162
)
268
163
269
- # This constant matches the default Scala version from rules_scala for now.
270
- SCALA_VERSION = "2.13.12"
271
- SCALA_VERSIONS = [SCALA_VERSION ]
272
-
273
- scala_config = use_extension ("//scala/extensions:config.bzl" , "scala_config" )
274
- scala_config .settings (
275
- scala_version = SCALA_VERSION ,
276
- scala_versions = SCALA_VERSIONS ,
277
- )
278
- use_repo (
279
- scala_config ,
280
- "io_bazel_rules_scala_config" ,
164
+ scala_deps = use_extension (
165
+ "@rules_scala//scala/extensions:deps.bzl" ,
166
+ "scala_deps" ,
281
167
)
168
+ scala_deps .scala ()
169
+ scala_deps .scalatest ()
282
170
283
- repos = [
284
- "io_bazel_rules_scala_scala_compiler" ,
285
- "io_bazel_rules_scala_scala_library" ,
286
- "io_bazel_rules_scala_scala_parser_combinators" ,
287
- "io_bazel_rules_scala_scala_reflect" ,
288
- "io_bazel_rules_scala_scala_xml" ,
289
- "io_bazel_rules_scala_scalactic" ,
290
- "io_bazel_rules_scala_scalatest" ,
291
- "io_bazel_rules_scala_scalatest_core" ,
292
- "io_bazel_rules_scala_scalatest_compatible" ,
293
- "io_bazel_rules_scala_scalatest_featurespec" ,
294
- "io_bazel_rules_scala_scalatest_flatspec" ,
295
- "io_bazel_rules_scala_scalatest_freespec" ,
296
- "io_bazel_rules_scala_scalatest_funspec" ,
297
- "io_bazel_rules_scala_scalatest_funsuite" ,
298
- "io_bazel_rules_scala_scalatest_matchers_core" ,
299
- "io_bazel_rules_scala_scalatest_mustmatchers" ,
300
- "io_bazel_rules_scala_scalatest_shouldmatchers" ,
301
- ]
302
-
303
- toolchains = [
304
- "@io_bazel_rules_scala//scala:toolchain" ,
305
- "@io_bazel_rules_scala//testing:scalatest_toolchain" ,
306
- ]
307
-
308
- scala_deps = use_extension ("//scala/extensions:deps.bzl" , "scala_deps" )
309
- [
310
- (
311
- [use_repo (scala_deps , repo + suffix ) for repo in repos ],
312
- [register_toolchains (toolchain + suffix ) for toolchain in toolchains ],
313
- )
314
- # The v.replace() expression mimics the logic to generate version specific
315
- # repo suffixes from rules_scala.
316
- for suffix in ["_" + v .replace ("." , "_" ) for v in SCALA_VERSIONS ]
317
- ]
171
+ scala_protoc = use_extension (
172
+ "@rules_scala//scala/extensions:protoc.bzl" ,
173
+ "scala_protoc" ,
174
+ dev_dependency = True ,
175
+ )
176
+ use_repo (scala_protoc , "rules_scala_protoc_toolchains" )
0 commit comments