blob: d3079bf785d1868813b0428dfcbcc75de9ec924c [file] [log] [blame]
Sergiusz Bazanski5f9b1ec2019-09-22 02:19:18 +02001workspace(
2 name = "hscloud",
3)
4
Sergiusz Bazanskide061802019-01-13 21:14:02 +01005load("@bazel_tools//tools/build_defs/repo:git.bzl", "git_repository")
Sergiusz Bazanski3e597182019-04-19 14:40:47 +02006load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
Sergiusz Bazanskide061802019-01-13 21:14:02 +01007
Sergiusz Bazanski0c3b9a52020-06-21 01:26:22 +02008# Go/Gazelle rules
Patryk Jakuszew30f9d032020-06-05 23:37:34 +02009
10http_archive(
11 name = "io_bazel_rules_go",
12 sha256 = "6a68e269802911fa419abb940c850734086869d7fe9bc8e12aaf60a09641c818",
13 urls = [
14 "https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.23.0/rules_go-v0.23.0.tar.gz",
15 "https://github.com/bazelbuild/rules_go/releases/download/v0.23.0/rules_go-v0.23.0.tar.gz",
16 ],
17)
18
19http_archive(
20 name = "bazel_gazelle",
21 sha256 = "bfd86b3cbe855d6c16c6fce60d76bd51f5c8dbc9cfcaef7a2bb5c1aafd0710e8",
22 urls = [
23 "https://mirror.bazel.build/github.com/bazelbuild/bazel-gazelle/releases/download/v0.21.0/bazel-gazelle-v0.21.0.tar.gz",
24 "https://github.com/bazelbuild/bazel-gazelle/releases/download/v0.21.0/bazel-gazelle-v0.21.0.tar.gz",
25 ],
26)
27
Sergiusz Bazanski0c3b9a52020-06-21 01:26:22 +020028# Protobuf deps (shared between many rules).
Patryk Jakuszew30f9d032020-06-05 23:37:34 +020029
Sergiusz Bazanski0c3b9a52020-06-21 01:26:22 +020030http_archive(
31 name = "com_google_protobuf",
32 sha256 = "9748c0d90e54ea09e5e75fb7fac16edce15d2028d4356f32211cfa3c0e956564",
33 strip_prefix = "protobuf-3.11.4",
34 urls = ["https://github.com/protocolbuffers/protobuf/archive/v3.11.4.zip"],
Patryk Jakuszew30f9d032020-06-05 23:37:34 +020035)
36
Sergiusz Bazanski0c3b9a52020-06-21 01:26:22 +020037load("@com_google_protobuf//:protobuf_deps.bzl", "protobuf_deps")
38
39protobuf_deps()
40
41# Go rules dependencies and our own dependencies.
42
Patryk Jakuszew30f9d032020-06-05 23:37:34 +020043load("@io_bazel_rules_go//go:deps.bzl", "go_rules_dependencies", "go_register_toolchains")
Patryk Jakuszew30f9d032020-06-05 23:37:34 +020044go_rules_dependencies()
Patryk Jakuszew30f9d032020-06-05 23:37:34 +020045go_register_toolchains()
46
47load("@bazel_gazelle//:deps.bzl", "gazelle_dependencies")
Patryk Jakuszew30f9d032020-06-05 23:37:34 +020048gazelle_dependencies()
49
Sergiusz Bazanski0c3b9a52020-06-21 01:26:22 +020050load("//third_party/go:repositories.bzl", "go_repositories")
51go_repositories()
52
Serge Bazanski2ce36762019-07-14 16:29:52 +020053# Docker rules
54
55http_archive(
56 name = "io_bazel_rules_docker",
Sergiusz Bazanski32f8a582020-05-18 00:27:23 +020057 sha256 = "dc97fccceacd4c6be14e800b2a00693d5e8d07f69ee187babfd04a80a9f8e250",
58 strip_prefix = "rules_docker-0.14.1",
59 urls = ["https://github.com/bazelbuild/rules_docker/releases/download/v0.14.1/rules_docker-v0.14.1.tar.gz"],
Serge Bazanski2ce36762019-07-14 16:29:52 +020060)
61
Sergiusz Bazanski356ea8b2019-07-21 23:56:43 +020062load("@io_bazel_rules_docker//toolchains/docker:toolchain.bzl", docker_toolchain_configure = "toolchain_configure")
63
64# This forces the use of Docker $HOME/.docker configuration.
65docker_toolchain_configure(
66 name = "docker_config",
67 client_config = "",
Serge Bazanskib2d6b112019-07-30 13:07:04 +020068 docker_path = "/usr/bin/docker",
Sergiusz Bazanski356ea8b2019-07-21 23:56:43 +020069)
70
Serge Bazanski2ce36762019-07-14 16:29:52 +020071load(
72 "@io_bazel_rules_docker//repositories:repositories.bzl",
73 container_repositories = "repositories",
74)
Serge Bazanski2ce36762019-07-14 16:29:52 +020075container_repositories()
Sergiusz Bazanski8fe651b2019-07-21 23:50:05 +020076
Sergiusz Bazanski3e597182019-04-19 14:40:47 +020077# Python rules
Serge Bazanski2ce36762019-07-14 16:29:52 +020078
Sergiusz Bazanskide061802019-01-13 21:14:02 +010079git_repository(
Serge Bazanski2ce36762019-07-14 16:29:52 +020080 name = "com_apt_itude_rules_pip",
Sergiusz Bazanski5f9b1ec2019-09-22 02:19:18 +020081 commit = "186bade4f054c0a9be7037585584c9c572cba483",
Serge Bazanski2ce36762019-07-14 16:29:52 +020082 remote = "https://github.com/apt-itude/rules_pip.git",
Bartosz Stebel7418a5a2020-07-01 05:43:28 +020083 shallow_since = "1564255337 -0400"
Sergiusz Bazanskide061802019-01-13 21:14:02 +010084)
85
86# Python dependencies
Serge Bazanski2ce36762019-07-14 16:29:52 +020087load("@com_apt_itude_rules_pip//rules:dependencies.bzl", "pip_rules_dependencies")
Serge Bazanski2ce36762019-07-14 16:29:52 +020088pip_rules_dependencies()
Sergiusz Bazanskide061802019-01-13 21:14:02 +010089
Serge Bazanski2ce36762019-07-14 16:29:52 +020090load("@com_apt_itude_rules_pip//rules:repository.bzl", "pip_repository")
Serge Bazanski2ce36762019-07-14 16:29:52 +020091pip_repository(
Sergiusz Bazanski5f9b1ec2019-09-22 02:19:18 +020092 name = "pydeps",
93 requirements = "//third_party/py:requirements-lock.json",
Sergiusz Bazanskide061802019-01-13 21:14:02 +010094)
95
Sergiusz Bazanski5f9b1ec2019-09-22 02:19:18 +020096load("@pydeps//:requirements.bzl", "pip_install")
97
Sergiusz Bazanski5f9b1ec2019-09-22 02:19:18 +020098
Sergiusz Bazanski65865332019-05-18 16:23:45 +020099# Docker base images
100
101load("@io_bazel_rules_docker//container:container.bzl", "container_pull")
Sergiusz Bazanskia7e26cc2019-06-21 20:38:35 +0200102
Sergiusz Bazanski65865332019-05-18 16:23:45 +0200103container_pull(
104 name = "prodimage-bionic",
Serge Bazanskib2d6b112019-07-30 13:07:04 +0200105 registry = "registry.k0.hswaw.net",
106 repository = "q3k/prodimage",
Serge Bazanskiec71cb52019-08-22 18:13:13 +0200107 tag = "20190822-1227",
108 digest = "sha256:1cd1f84169b8e1414a5d511b42909f2d540831c67b6799ae9af8cd6a80d75b5f",
Sergiusz Bazanski65865332019-05-18 16:23:45 +0200109)
110
Sergiusz Bazanskia7e26cc2019-06-21 20:38:35 +0200111container_pull(
Sergiusz Bazanski222a00a2020-04-12 18:37:21 +0200112 name = "gerrit-3.0.8",
Sergiusz Bazanskia7e26cc2019-06-21 20:38:35 +0200113 registry = "index.docker.io",
114 repository = "gerritcodereview/gerrit",
Sergiusz Bazanski222a00a2020-04-12 18:37:21 +0200115 tag = "3.0.8-ubuntu18",
116 digest = "sha256:8f58236129e6547d92502a2e9d8f40129f45f15007beaeafb59fed4faffddb3e",
Sergiusz Bazanskia7e26cc2019-06-21 20:38:35 +0200117)
118
Sergiusz Bazanski48050572020-05-10 21:34:10 +0200119# third_party/factorio
120load("//third_party/factorio:factorio.bzl", "factorio_repositories")
121factorio_repositories()
Sergiusz Bazanski59786c52020-04-01 02:05:42 +0200122
Sergiusz Bazanski222a00a2020-04-12 18:37:21 +0200123# For devtools/gerrit/gerrit-oauth-provider and gerrit OWNERS plugin
Sergiusz Bazanski573da782019-06-21 19:59:52 +0200124
125git_repository(
126 name = "com_googlesource_gerrit_bazlets",
127 remote = "https://gerrit.googlesource.com/bazlets",
Sergiusz Bazanski222a00a2020-04-12 18:37:21 +0200128 commit = "1d381f01c853e2c02ae35430a8e294e485635d62",
Bartosz Stebel7418a5a2020-07-01 05:43:28 +0200129 shallow_since = "1559431096 -0400"
Sergiusz Bazanski573da782019-06-21 19:59:52 +0200130)
131
Sergiusz Bazanski0c3b9a52020-06-21 01:26:22 +0200132load("@com_googlesource_gerrit_bazlets//:gerrit_api.bzl", "gerrit_api")
Sergiusz Bazanski573da782019-06-21 19:59:52 +0200133gerrit_api()
134
Sergiusz Bazanski32f8a582020-05-18 00:27:23 +0200135load("@com_googlesource_gerrit_bazlets//tools:maven_jar.bzl", gerrit_maven_jar="maven_jar", GERRIT="GERRIT")
Sergiusz Bazanski222a00a2020-04-12 18:37:21 +0200136PROLOG_VERS = "1.4.3"
137JACKSON_VER = "2.9.7"
Sergiusz Bazanski573da782019-06-21 19:59:52 +0200138
Sergiusz Bazanski32f8a582020-05-18 00:27:23 +0200139gerrit_maven_jar(
Sergiusz Bazanski573da782019-06-21 19:59:52 +0200140 name = "scribe",
141 artifact = "org.scribe:scribe:1.3.7",
142 sha1 = "583921bed46635d9f529ef5f14f7c9e83367bc6e",
143)
144
Sergiusz Bazanski32f8a582020-05-18 00:27:23 +0200145gerrit_maven_jar(
Sergiusz Bazanski573da782019-06-21 19:59:52 +0200146 name = "commons-codec",
147 artifact = "commons-codec:commons-codec:1.4",
148 sha1 = "4216af16d38465bbab0f3dff8efa14204f7a399a",
149)
150
Sergiusz Bazanski32f8a582020-05-18 00:27:23 +0200151gerrit_maven_jar(
Sergiusz Bazanski222a00a2020-04-12 18:37:21 +0200152 name = "jackson-core",
153 artifact = "com.fasterxml.jackson.core:jackson-core:" + JACKSON_VER,
154 sha1 = "4b7f0e0dc527fab032e9800ed231080fdc3ac015",
155)
Sergiusz Bazanski32f8a582020-05-18 00:27:23 +0200156gerrit_maven_jar(
Sergiusz Bazanski222a00a2020-04-12 18:37:21 +0200157 name = "jackson-databind",
158 artifact = "com.fasterxml.jackson.core:jackson-databind:" + JACKSON_VER,
159 sha1 = "e6faad47abd3179666e89068485a1b88a195ceb7",
160)
Sergiusz Bazanski32f8a582020-05-18 00:27:23 +0200161gerrit_maven_jar(
Sergiusz Bazanski222a00a2020-04-12 18:37:21 +0200162 name = "jackson-annotations",
163 artifact = "com.fasterxml.jackson.core:jackson-annotations:" + JACKSON_VER,
164 sha1 = "4b838e5c4fc17ac02f3293e9a558bb781a51c46d",
165)
Sergiusz Bazanski32f8a582020-05-18 00:27:23 +0200166gerrit_maven_jar(
Sergiusz Bazanski222a00a2020-04-12 18:37:21 +0200167 name = "jackson-dataformat-yaml",
168 artifact = "com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:" + JACKSON_VER,
169 sha1 = "a428edc4bb34a2da98a50eb759c26941d4e85960",
170)
Sergiusz Bazanski32f8a582020-05-18 00:27:23 +0200171gerrit_maven_jar(
Sergiusz Bazanski222a00a2020-04-12 18:37:21 +0200172 name = "snakeyaml",
173 artifact = "org.yaml:snakeyaml:1.23",
174 sha1 = "ec62d74fe50689c28c0ff5b35d3aebcaa8b5be68",
175)
176
Sergiusz Bazanski32f8a582020-05-18 00:27:23 +0200177gerrit_maven_jar(
Sergiusz Bazanski222a00a2020-04-12 18:37:21 +0200178 name = "prolog-runtime",
179 artifact = "com.googlecode.prolog-cafe:prolog-runtime:" + PROLOG_VERS,
180 attach_source = False,
181 repository = GERRIT,
182 sha1 = "d5206556cbc76ffeab21313ffc47b586a1efbcbb",
183)
Sergiusz Bazanski32f8a582020-05-18 00:27:23 +0200184gerrit_maven_jar(
Sergiusz Bazanski222a00a2020-04-12 18:37:21 +0200185 name = "prolog-compiler",
186 artifact = "com.googlecode.prolog-cafe:prolog-compiler:" + PROLOG_VERS,
187 attach_source = False,
188 repository = GERRIT,
189 sha1 = "f37032cf1dec3e064427745bc59da5a12757a3b2",
190)
Sergiusz Bazanski32f8a582020-05-18 00:27:23 +0200191gerrit_maven_jar(
Sergiusz Bazanski222a00a2020-04-12 18:37:21 +0200192 name = "prolog-io",
193 artifact = "com.googlecode.prolog-cafe:prolog-io:" + PROLOG_VERS,
194 attach_source = False,
195 repository = GERRIT,
196 sha1 = "d02b2640b26f64036b6ba2b45e4acc79281cea17",
197)
198
Sergiusz Bazanski32f8a582020-05-18 00:27:23 +0200199# minecraft spigot/bukkit deps
200# this uses rules_jvm_external vs gerrit's maven_jar because we need SNAPSHOT support
201
202http_archive(
203 name = "io_grpc_grpc_java",
204 sha256 = "446ad7a2e85bbd05406dbf95232c7c49ed90de83b3b60cb2048b0c4c9f254d29",
205 strip_prefix = "grpc-java-1.29.0",
206 url = "https://github.com/grpc/grpc-java/archive/v1.29.0.zip",
207)
208
209RULES_JVM_EXTERNAL_TAG = "3.0"
210RULES_JVM_EXTERNAL_SHA = "62133c125bf4109dfd9d2af64830208356ce4ef8b165a6ef15bbff7460b35c3a"
211
212http_archive(
213 name = "rules_jvm_external",
214 strip_prefix = "rules_jvm_external-%s" % RULES_JVM_EXTERNAL_TAG,
215 sha256 = RULES_JVM_EXTERNAL_SHA,
216 url = "https://github.com/bazelbuild/rules_jvm_external/archive/%s.zip" % RULES_JVM_EXTERNAL_TAG,
217)
218
219load("@rules_jvm_external//:defs.bzl", "maven_install")
220load("@io_grpc_grpc_java//:repositories.bzl", "IO_GRPC_GRPC_JAVA_ARTIFACTS")
221load("@io_grpc_grpc_java//:repositories.bzl", "IO_GRPC_GRPC_JAVA_OVERRIDE_TARGETS")
222
223maven_install(
224 artifacts = [
225 "org.spigotmc:spigot-api:1.15.2-R0.1-SNAPSHOT",
226 "io.grpc:grpc-netty-shaded:1.29.0",
227 "io.grpc:grpc-services:1.29.0",
228 ] + IO_GRPC_GRPC_JAVA_ARTIFACTS,
229 generate_compat_repositories = True,
230 override_targets = IO_GRPC_GRPC_JAVA_OVERRIDE_TARGETS,
231 repositories = [
232 "https://hub.spigotmc.org/nexus/content/repositories/snapshots",
233 "https://oss.sonatype.org/content/repositories/snapshots",
234 "https://repo1.maven.org/maven2/",
235 ],
236 maven_install_json = "//third_party/java:maven_install.json",
237)
238
239load("@maven//:defs.bzl", "pinned_maven_install")
240pinned_maven_install()
241
242load("@maven//:compat.bzl", "compat_repositories")
243compat_repositories()
244
245load("@io_grpc_grpc_java//:repositories.bzl", "grpc_java_repositories")
246grpc_java_repositories()
247
Sergiusz Bazanski222a00a2020-04-12 18:37:21 +0200248# Gerrit OWNERS plugins external repositories
249
250git_repository(
251 name = "com_googlesource_gerrit_plugin_owners",
252 remote = "https://gerrit.googlesource.com/plugins/owners/",
253 commit = "5e691e87b8c00a04d261a8dd313f4d16c54797e8",
Bartosz Stebel7418a5a2020-07-01 05:43:28 +0200254 shallow_since = "1559729722 +0900"
Sergiusz Bazanski222a00a2020-04-12 18:37:21 +0200255)
256
Sergiusz Bazanski356ea8b2019-07-21 23:56:43 +0200257# Go image repos for Docker
258
Sergiusz Bazanski0c3b9a52020-06-21 01:26:22 +0200259load("@io_bazel_rules_docker//go:image.bzl", go_image_repositories = "repositories")
Sergiusz Bazanski356ea8b2019-07-21 23:56:43 +0200260go_image_repositories()
Sergiusz Bazanski0037eda2020-06-13 22:43:06 +0200261
262# oniguruma, with build from //third_party/oniguruma
263
264http_archive(
265 name = "com_github_kkos_oniguruma",
266 urls = ["https://github.com/kkos/oniguruma/releases/download/v6.9.5_rev1/onig-6.9.5_rev1.tar.gz"],
267 strip_prefix = "onig-6.9.5",
268 sha256 = "d33c849d1672af227944878cefe0a8fcf26fc62bedba32aa517f2f63c314a99e",
269 build_file = "@hscloud//third_party/oniguruma:BUILD.external",
270)
271
272# jq, with build from //third_party/jq
273
274http_archive(
275 name = "com_github_stedolan_jq",
276 urls = ["https://github.com/stedolan/jq/releases/download/jq-1.6/jq-1.6.tar.gz"],
277 strip_prefix = "jq-1.6",
278 sha256 = "5de8c8e29aaa3fb9cc6b47bb27299f271354ebb72514e3accadc7d38b5bbaa72",
279 build_file = "@hscloud//third_party/jq:BUILD.external",
280)