packaging: rebased 3.8.0 commit
[platform/upstream/protobuf.git] / WORKSPACE
1 workspace(name = "com_google_protobuf")
2
3 load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
4
5 local_repository(
6     name = "com_google_protobuf_examples",
7     path = "examples",
8 )
9
10 # Load common dependencies first to ensure we use the correct version
11 load("//:protobuf_deps.bzl", "PROTOBUF_MAVEN_ARTIFACTS", "protobuf_deps")
12
13 protobuf_deps()
14
15 # Bazel platform rules.
16 http_archive(
17     name = "platforms",
18     urls = [
19         "https://mirror.bazel.build/github.com/bazelbuild/platforms/releases/download/0.0.7/platforms-0.0.7.tar.gz",
20         "https://github.com/bazelbuild/platforms/releases/download/0.0.7/platforms-0.0.7.tar.gz",
21     ],
22     sha256 = "3a561c99e7bdbe9173aa653fd579fe849f1d8d67395780ab4770b1f381431d51",
23 )
24
25 http_archive(
26     name = "com_google_googletest",
27     sha256 = "730215d76eace9dd49bf74ce044e8daa065d175f1ac891cc1d6bb184ef94e565",
28     strip_prefix = "googletest-f53219cdcb7b084ef57414efea92ee5b71989558",
29     urls = [
30         "https://github.com/google/googletest/archive/f53219cdcb7b084ef57414efea92ee5b71989558.tar.gz" # 2023-03-16
31     ],
32 )
33
34 load("@com_google_googletest//:googletest_deps.bzl", "googletest_deps")
35
36 googletest_deps()
37
38 load("@rules_jvm_external//:repositories.bzl", "rules_jvm_external_deps")
39
40 rules_jvm_external_deps()
41
42 load("@rules_jvm_external//:setup.bzl", "rules_jvm_external_setup")
43
44 rules_jvm_external_setup()
45
46 load("@rules_jvm_external//:defs.bzl", "maven_install")
47
48 maven_install(
49     artifacts = PROTOBUF_MAVEN_ARTIFACTS,
50     # For updating instructions, see:
51     # https://github.com/bazelbuild/rules_jvm_external#updating-maven_installjson
52     maven_install_json = "//:maven_install.json",
53     repositories = [
54         "https://repo1.maven.org/maven2",
55         "https://repo.maven.apache.org/maven2",
56     ],
57 )
58
59 load("@maven//:defs.bzl", "pinned_maven_install")
60
61 pinned_maven_install()
62
63 # For `cc_proto_blacklist_test` and `build_test`.
64 load("@bazel_skylib//:workspace.bzl", "bazel_skylib_workspace")
65
66 bazel_skylib_workspace()
67
68 load("@rules_pkg//:deps.bzl", "rules_pkg_dependencies")
69
70 rules_pkg_dependencies()
71
72 load("@build_bazel_rules_apple//apple:repositories.bzl", "apple_rules_dependencies")
73
74 apple_rules_dependencies()
75
76 # For `kt_jvm_library`
77 load("@io_bazel_rules_kotlin//kotlin:repositories.bzl", "kotlin_repositories")
78
79 kotlin_repositories()
80
81 load("@io_bazel_rules_kotlin//kotlin:core.bzl", "kt_register_toolchains")
82
83 kt_register_toolchains()
84
85 load("@rules_ruby//ruby:defs.bzl", "ruby_runtime")
86
87 ruby_runtime("system_ruby")
88
89 register_toolchains("@system_ruby//:toolchain")
90
91 # Uncomment pairs of ruby_runtime() + register_toolchain() calls below to enable
92 # local JRuby testing. Do not submit the changes (due to impact on test duration
93 # for non JRuby builds due to downloading JRuby SDKs).
94 #ruby_runtime("jruby-9.2")
95 #
96 #register_toolchains("@jruby-9.2//:toolchain")
97 #
98 #ruby_runtime("jruby-9.3")
99 #
100 #register_toolchains("@jruby-9.3//:toolchain")
101
102 load("@system_ruby//:bundle.bzl", "ruby_bundle")
103
104 ruby_bundle(
105     name = "protobuf_bundle",
106     srcs = ["//ruby:google-protobuf.gemspec"],
107     gemfile = "//ruby:Gemfile",
108 )
109
110 http_archive(
111     name = "lua",
112     build_file = "//bazel:lua.BUILD",
113     sha256 = "b9e2e4aad6789b3b63a056d442f7b39f0ecfca3ae0f1fc0ae4e9614401b69f4b",
114     strip_prefix = "lua-5.2.4",
115     urls = [
116         "https://mirror.bazel.build/www.lua.org/ftp/lua-5.2.4.tar.gz",
117         "https://www.lua.org/ftp/lua-5.2.4.tar.gz",
118     ],
119 )
120
121 http_archive(
122     name = "com_github_google_benchmark",
123     urls = ["https://github.com/google/benchmark/archive/0baacde3618ca617da95375e0af13ce1baadea47.zip"],
124     strip_prefix = "benchmark-0baacde3618ca617da95375e0af13ce1baadea47",
125     sha256 = "62e2f2e6d8a744d67e4bbc212fcfd06647080de4253c97ad5c6749e09faf2cb0",
126 )
127
128 http_archive(
129     name = "com_google_googleapis",
130     urls = ["https://github.com/googleapis/googleapis/archive/30ed2662a85403cbdeb9ea38df1e414a2a276b83.zip"],
131     strip_prefix = "googleapis-30ed2662a85403cbdeb9ea38df1e414a2a276b83",
132     sha256 = "4dfc28101127d22abd6f0f6308d915d490c4594c0cfcf7643769c446d6763a46",
133     build_file = "//benchmarks:BUILD.googleapis",
134     patch_cmds = ["find google -type f -name BUILD.bazel -delete"],
135 )
136
137 load("//bazel:system_python.bzl", "system_python")
138
139 system_python(
140     name = "system_python",
141     minimum_python_version = "3.7",
142 )
143
144 load("@system_python//:pip.bzl", "pip_parse")
145
146 pip_parse(
147     name = "pip_deps",
148     requirements = "//python:requirements.txt",
149 )
150
151 load("@pip_deps//:requirements.bzl", "install_deps")
152
153 install_deps()
154
155 load("@utf8_range//:workspace_deps.bzl", "utf8_range_deps")
156
157 utf8_range_deps()
158
159 http_archive(
160     name = "rules_fuzzing",
161     sha256 = "d9002dd3cd6437017f08593124fdd1b13b3473c7b929ceb0e60d317cb9346118",
162     strip_prefix = "rules_fuzzing-0.3.2",
163     urls = ["https://github.com/bazelbuild/rules_fuzzing/archive/v0.3.2.zip"],
164 )
165
166 load("@rules_fuzzing//fuzzing:repositories.bzl", "rules_fuzzing_dependencies")
167
168 rules_fuzzing_dependencies()
169
170 bind(
171     name = "python_headers",
172     actual = "@system_python//:python_headers",
173 )
174
175 http_archive(
176     name = "rules_rust",
177     sha256 = "4a9cb4fda6ccd5b5ec393b2e944822a62e050c7c06f1ea41607f14c4fdec57a2",
178     urls = ["https://github.com/bazelbuild/rules_rust/releases/download/0.25.1/rules_rust-v0.25.1.tar.gz"],
179 )
180
181 load("@rules_rust//rust:repositories.bzl", "rules_rust_dependencies", "rust_register_toolchains")
182
183 rules_rust_dependencies()
184
185 rust_register_toolchains(edition = "2021")
186 load("@rules_rust//crate_universe:defs.bzl", "crate", "crates_repository")
187 # to repin, invoke `CARGO_BAZEL_REPIN=1 bazel sync --only=crate_index`
188 crates_repository(
189     name = "crate_index",
190     cargo_lockfile = "//:Cargo.lock",
191     lockfile = "//:Cargo.bazel.lock",
192     packages = {
193         "googletest": crate.spec(
194             version = ">0.0.0",
195         ),
196     },
197 )
198
199 load("@crate_index//:defs.bzl", "crate_repositories")
200 crate_repositories()