9f35eaae
Robin Linden
workspace(name = "atox")
9f35eaae
Robin Linden
7656e8c3
Robin Linden
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
7656e8c3
Robin Linden
7656e8c3
Robin Linden
# Android SDK/NDK setup
7656e8c3
Robin Linden
# =========================================================
7656e8c3
Robin Linden
3d2e2796
Robin Linden
android_sdk_repository(name = "androidsdk")
3d2e2796
Robin Linden
9f35eaae
Robin Linden
android_ndk_repository(
9f35eaae
Robin Linden
name = "androidndk",
9f35eaae
Robin Linden
api_level = 19,
9f35eaae
Robin Linden
)
9f35eaae
Robin Linden
7656e8c3
Robin Linden
# Bazel
7656e8c3
Robin Linden
# =========================================================
3d2e2796
Robin Linden
8083ac1c
Robin Linden
PLATFORMS_TAG = "0.0.6"
8083ac1c
Robin Linden
8083ac1c
Robin Linden
http_archive(
8083ac1c
Robin Linden
name = "platforms",
8083ac1c
Robin Linden
sha256 = "5308fc1d8865406a49427ba24a9ab53087f17f5266a7aabbfc28823f3916e1ca",
8083ac1c
Robin Linden
url = "https://github.com/bazelbuild/platforms/releases/download/%s/platforms-%s.tar.gz" % (PLATFORMS_TAG, PLATFORMS_TAG),
8083ac1c
Robin Linden
)
8083ac1c
Robin Linden
9318edee
Robin Linden
RULES_PKG_TAG = "0.2.5"
9318edee
Robin Linden
3d2e2796
Robin Linden
http_archive(
3d2e2796
Robin Linden
name = "rules_pkg",
3d2e2796
Robin Linden
sha256 = "352c090cc3d3f9a6b4e676cf42a6047c16824959b438895a76c2989c6d7c246a",
9318edee
Robin Linden
url = "https://github.com/bazelbuild/rules_pkg/releases/download/%s/rules_pkg-%s.tar.gz" % (RULES_PKG_TAG, RULES_PKG_TAG),
3d2e2796
Robin Linden
)
3d2e2796
Robin Linden
9318edee
Robin Linden
RULES_PROTO_TAG = "97d8af4dc474595af3900dd85cb3a29ad28cc313"
9318edee
Robin Linden
3d2e2796
Robin Linden
http_archive(
3d2e2796
Robin Linden
name = "rules_proto",
3d2e2796
Robin Linden
sha256 = "602e7161d9195e50246177e7c55b2f39950a9cf7366f74ed5f22fd45750cd208",
9318edee
Robin Linden
strip_prefix = "rules_proto-%s" % RULES_PROTO_TAG,
9318edee
Robin Linden
url = "https://github.com/bazelbuild/rules_proto/archive/%s.tar.gz" % RULES_PROTO_TAG,
3d2e2796
Robin Linden
)
3d2e2796
Robin Linden
9318edee
Robin Linden
RULES_ANDROID_TAG = "0.1.1"
9318edee
Robin Linden
9f35eaae
Robin Linden
http_archive(
9f35eaae
Robin Linden
name = "rules_android",
9f35eaae
Robin Linden
sha256 = "cd06d15dd8bb59926e4d65f9003bfc20f9da4b2519985c27e190cddc8b7a7806",
9318edee
Robin Linden
strip_prefix = "rules_android-%s" % RULES_ANDROID_TAG,
9318edee
Robin Linden
url = "https://github.com/bazelbuild/rules_android/archive/v%s.zip" % RULES_ANDROID_TAG,
9f35eaae
Robin Linden
)
9f35eaae
Robin Linden
3d2e2796
Robin Linden
STARDOC_TAG = "0.4.0"
3d2e2796
Robin Linden
3d2e2796
Robin Linden
http_archive(
3d2e2796
Robin Linden
name = "io_bazel_stardoc",
9318edee
Robin Linden
sha256 = "36b8d6c2260068b9ff82faea2f7add164bf3436eac9ba3ec14809f335346d66a",
3d2e2796
Robin Linden
strip_prefix = "stardoc-%s" % STARDOC_TAG,
3d2e2796
Robin Linden
url = "https://github.com/bazelbuild/stardoc/archive/%s.zip" % STARDOC_TAG,
3d2e2796
Robin Linden
)
3d2e2796
Robin Linden
9318edee
Robin Linden
BAZEL_SKYLIB_TAG = "fd75066f159234265efb8f838b056be5a2e00a59"
9318edee
Robin Linden
8d47a279
Robin Linden
http_archive(
8d47a279
Robin Linden
name = "bazel_skylib",
8d47a279
Robin Linden
sha256 = "37fbe6e229f28dfda55d9c9a305235b882a1cf6cff746ce448b8b870ecfdf620",
9318edee
Robin Linden
strip_prefix = "bazel-skylib-%s" % BAZEL_SKYLIB_TAG,
9318edee
Robin Linden
url = "https://github.com/bazelbuild/bazel-skylib/archive/%s.tar.gz" % BAZEL_SKYLIB_TAG,
8d47a279
Robin Linden
)
8d47a279
Robin Linden
8d47a279
Robin Linden
RULES_JVM_EXTERNAL_TAG = "4.1"
3d2e2796
Robin Linden
3d2e2796
Robin Linden
http_archive(
3d2e2796
Robin Linden
name = "rules_jvm_external",
9318edee
Robin Linden
sha256 = "f36441aa876c4f6427bfb2d1f2d723b48e9d930b62662bf723ddfb8fc80f0140",
3d2e2796
Robin Linden
strip_prefix = "rules_jvm_external-%s" % RULES_JVM_EXTERNAL_TAG,
3d2e2796
Robin Linden
url = "https://github.com/bazelbuild/rules_jvm_external/archive/%s.zip" % RULES_JVM_EXTERNAL_TAG,
3d2e2796
Robin Linden
)
3d2e2796
Robin Linden
7656e8c3
Robin Linden
http_archive(
7656e8c3
Robin Linden
name = "io_bazel_rules_kotlin",
679a8d67
Robin Linden
sha256 = "5766f1e599acf551aa56f49dab9ab9108269b03c557496c54acaf41f98e2b8d6",
679a8d67
Robin Linden
url = "https://github.com/bazelbuild/rules_kotlin/releases/download/v1.9.0/rules_kotlin-v1.9.0.tar.gz",
7656e8c3
Robin Linden
)
7656e8c3
Robin Linden
62681083
Robin Linden
RULES_SCALA_TAG = "72adeb585081c4cf53d033d554dbdddbb1e59fbc"
9318edee
Robin Linden
a7b00728
Robin Linden
http_archive(
7656e8c3
Robin Linden
name = "io_bazel_rules_scala",
62681083
Robin Linden
sha256 = "b3e9b2e77babd71f0666ff1ccf169eb402f6e6068070f2f331ec1a8306cba5f6",
9318edee
Robin Linden
strip_prefix = "rules_scala-%s" % RULES_SCALA_TAG,
9318edee
Robin Linden
url = "https://github.com/bazelbuild/rules_scala/archive/%s.tar.gz" % RULES_SCALA_TAG,
7656e8c3
Robin Linden
)
7656e8c3
Robin Linden
7656e8c3
Robin Linden
# Third-party
7656e8c3
Robin Linden
# =========================================================
7656e8c3
Robin Linden
7656e8c3
Robin Linden
PROTOBUF_TAG = "3.17.3"
7656e8c3
Robin Linden
7656e8c3
Robin Linden
http_archive(
7656e8c3
Robin Linden
name = "com_google_protobuf",
7656e8c3
Robin Linden
sha256 = "c6003e1d2e7fefa78a3039f19f383b4f3a61e81be8c19356f85b6461998ad3db",
7656e8c3
Robin Linden
strip_prefix = "protobuf-%s" % PROTOBUF_TAG,
7656e8c3
Robin Linden
url = "https://github.com/protocolbuffers/protobuf/archive/v%s.tar.gz" % PROTOBUF_TAG,
7656e8c3
Robin Linden
)
7656e8c3
Robin Linden
532e8aaf
Robin Linden
DAGGER_TAG = "2.44.2"
61136594
Robin Linden
61136594
Robin Linden
http_archive(
61136594
Robin Linden
name = "dagger",
532e8aaf
Robin Linden
sha256 = "cbff42063bfce78a08871d5a329476eb38c96af9cf20d21f8b412fee76296181",
61136594
Robin Linden
strip_prefix = "dagger-dagger-%s" % DAGGER_TAG,
61136594
Robin Linden
url = "https://github.com/google/dagger/archive/dagger-%s.zip" % DAGGER_TAG,
61136594
Robin Linden
)
61136594
Robin Linden
dd71f918
Robin Linden
ROBOLECTRIC_TAG = "4.7.3"
9318edee
Robin Linden
7656e8c3
Robin Linden
http_archive(
7656e8c3
Robin Linden
name = "robolectric",
dd71f918
Robin Linden
sha256 = "97f169d39f19412bdd07fd6c274dcda0a7c8f623f7f00aa5a3b94994fc6f0ec4",
9318edee
Robin Linden
strip_prefix = "robolectric-bazel-%s" % ROBOLECTRIC_TAG,
9318edee
Robin Linden
url = "https://github.com/robolectric/robolectric-bazel/archive/%s.tar.gz" % ROBOLECTRIC_TAG,
7656e8c3
Robin Linden
)
7656e8c3
Robin Linden
9318edee
Robin Linden
LIBSODIUM_TAG = "1.0.18"
9318edee
Robin Linden
7656e8c3
Robin Linden
http_archive(
7656e8c3
Robin Linden
name = "libsodium",
7656e8c3
Robin Linden
build_file = "//bazel:BUILD.libsodium",
7656e8c3
Robin Linden
sha256 = "1b72c0cdbc535ce42e14ac15e8fc7c089a3ee9ffe5183399fd77f0f3746ea794",
9318edee
Robin Linden
strip_prefix = "libsodium-%s" % LIBSODIUM_TAG,
9318edee
Robin Linden
url = "https://github.com/jedisct1/libsodium/archive/%s.zip" % LIBSODIUM_TAG,
7656e8c3
Robin Linden
)
7656e8c3
Robin Linden
9318edee
Robin Linden
OPUS_TAG = "5c94ec3205c30171ffd01056f5b4622b7c0ab54c"
9318edee
Robin Linden
7656e8c3
Robin Linden
http_archive(
7656e8c3
Robin Linden
name = "opus",
7656e8c3
Robin Linden
build_file = "//bazel:BUILD.opus",
7656e8c3
Robin Linden
sha256 = "09366bf588b02b76bda3fd1428a30b55ca995d6d2eac509a39919f337690329e",
9318edee
Robin Linden
strip_prefix = "opus-%s" % OPUS_TAG,
9318edee
Robin Linden
url = "https://github.com/xiph/opus/archive/%s.zip" % OPUS_TAG,
7656e8c3
Robin Linden
)
7656e8c3
Robin Linden
9318edee
Robin Linden
LIBVPX_TAG = "3d28ff98039134325cf689d8d08996fc8dabb225"
9318edee
Robin Linden
7656e8c3
Robin Linden
http_archive(
7656e8c3
Robin Linden
name = "libvpx",
7656e8c3
Robin Linden
build_file = "//bazel:BUILD.libvpx",
7656e8c3
Robin Linden
sha256 = "27d082899b60dea79c596affc68341522db1f72c241f6d6096fc46bcf774f217",
9318edee
Robin Linden
strip_prefix = "libvpx-%s" % LIBVPX_TAG,
9318edee
Robin Linden
url = "https://github.com/webmproject/libvpx/archive/%s.zip" % LIBVPX_TAG,
7656e8c3
Robin Linden
)
7656e8c3
Robin Linden
7656e8c3
Robin Linden
# aTox maven dependencies
7656e8c3
Robin Linden
# =========================================================
7656e8c3
Robin Linden
61136594
Robin Linden
load("@dagger//:workspace_defs.bzl", "DAGGER_ARTIFACTS", "DAGGER_REPOSITORIES")
3d2e2796
Robin Linden
load("@rules_jvm_external//:defs.bzl", "maven_install")
3d2e2796
Robin Linden
3d2e2796
Robin Linden
maven_install(
61136594
Robin Linden
artifacts = DAGGER_ARTIFACTS + [
61136594
Robin Linden
"androidx.activity:activity-ktx:1.2.3",
61136594
Robin Linden
"androidx.activity:activity:1.2.3",
61136594
Robin Linden
"androidx.annotation:annotation:1.1.0",
61136594
Robin Linden
"androidx.appcompat:appcompat:1.3.0",
733d4d87
Robin Linden
"androidx.core:core-ktx:1.5.0",
61136594
Robin Linden
"androidx.databinding:databinding-adapters:3.4.2",
61136594
Robin Linden
"androidx.databinding:databinding-common:3.4.2",
61136594
Robin Linden
"androidx.databinding:databinding-runtime:3.4.2",
61136594
Robin Linden
"androidx.fragment:fragment-ktx:1.3.5",
61136594
Robin Linden
"androidx.fragment:fragment:1.3.5",
61136594
Robin Linden
"androidx.multidex:multidex:2.0.1",
61136594
Robin Linden
"androidx.navigation:navigation-fragment-ktx:2.3.5",
61136594
Robin Linden
"androidx.navigation:navigation-ui-ktx:2.3.5",
61136594
Robin Linden
"androidx.preference:preference:1.1.1",
84c6b5dc
Robin Linden
"androidx.room:room-compiler:2.2.6",
84c6b5dc
Robin Linden
"androidx.room:room-ktx:2.2.6",
84c6b5dc
Robin Linden
"androidx.room:room-runtime:2.2.6",
84c6b5dc
Robin Linden
"androidx.room:room-testing:2.2.6",
f54ab7fe
Robin Linden
"androidx.test.ext:junit:1.1.2",
61136594
Robin Linden
"com.google.android.material:material:1.4.0",
f54ab7fe
Robin Linden
"com.google.code.gson:gson:2.8.6",
9f35eaae
Robin Linden
"com.google.guava:guava:19.0",
ff4e4005
Robin Linden
"com.squareup.picasso:picasso:2.8",
9f35eaae
Robin Linden
"com.typesafe.scala-logging:scala-logging_2.11:3.7.2",
3d2e2796
Robin Linden
"javax.inject:javax.inject:1",
4855d3d0
Robin Linden
"junit:junit:4.13.1",
272b4959
Robin Linden
"org.jetbrains.kotlin:kotlin-test-junit:1.7.20",
c85c9af1
Robin Linden
"org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.0",
c85c9af1
Robin Linden
"org.jetbrains.kotlinx:kotlinx-coroutines-test:1.6.0",
9f35eaae
Robin Linden
"org.jetbrains:annotations:13.0",
9f35eaae
Robin Linden
"org.slf4j:slf4j-api:1.7.25",
dd71f918
Robin Linden
"org.robolectric:robolectric:4.7.3",
9f35eaae
Robin Linden
"org.scala-lang:scala-library:2.11.12",
9f35eaae
Robin Linden
"androidx.lifecycle:lifecycle-extensions:2.2.0",
9f35eaae
Robin Linden
"androidx.lifecycle:lifecycle-livedata-ktx:2.2.0",
61136594
Robin Linden
"androidx.lifecycle:lifecycle-service:2.2.0",
61136594
Robin Linden
"androidx.lifecycle:lifecycle-viewmodel-ktx:2.2.0",
3d2e2796
Robin Linden
],
61136594
Robin Linden
repositories = DAGGER_REPOSITORIES + [
b7adc8c8
Robin Linden
"https://repo1.maven.org/maven2/",
3d2e2796
Robin Linden
"https://dl.google.com/dl/android/maven2/",
3d2e2796
Robin Linden
],
3d2e2796
Robin Linden
)
3d2e2796
Robin Linden
7656e8c3
Robin Linden
# Tox
7656e8c3
Robin Linden
# =========================================================
9f35eaae
Robin Linden
03a0e8fa
Robin Linden
JVM_TOXCORE_API_TAG = "c0f37cfd77d79d5826ea566127f60fce838858c2"
9318edee
Robin Linden
a7b00728
Robin Linden
http_archive(
9f35eaae
Robin Linden
name = "jvm-toxcore-api",
9f35eaae
Robin Linden
build_file = "//bazel:BUILD.jvm-toxcore-api",
03a0e8fa
Robin Linden
sha256 = "ab129f7d845d87e1b6ee0a2b4bc34acede45480dd32a15f85a08e9dfca7cedf6",
9318edee
Robin Linden
strip_prefix = "jvm-toxcore-api-%s" % JVM_TOXCORE_API_TAG,
9318edee
Robin Linden
url = "https://github.com/TokTok/jvm-toxcore-api/archive/%s.tar.gz" % JVM_TOXCORE_API_TAG,
9f35eaae
Robin Linden
)
9f35eaae
Robin Linden
03a0e8fa
Robin Linden
JVM_TOXCORE_C_TAG = "f697eef5d0a16a025b187c3369288986e89bde2b"
9318edee
Robin Linden
a7b00728
Robin Linden
http_archive(
9f35eaae
Robin Linden
name = "jvm-toxcore-c",
9f35eaae
Robin Linden
build_file = "//bazel:BUILD.jvm-toxcore-c",
03a0e8fa
Robin Linden
sha256 = "93fb5cd0a1f45561e52cb585287cec98415d80b655d847278aa51c8d26f80124",
9318edee
Robin Linden
strip_prefix = "jvm-toxcore-c-%s" % JVM_TOXCORE_C_TAG,
9318edee
Robin Linden
url = "https://github.com/TokTok/jvm-toxcore-c/archive/%s.tar.gz" % JVM_TOXCORE_C_TAG,
9f35eaae
Robin Linden
)
9f35eaae
Robin Linden
03a0e8fa
Robin Linden
JVM_MACROS_TAG = "8e8991581bec396861678012cab302ba09ced629"
9318edee
Robin Linden
a7b00728
Robin Linden
http_archive(
9f35eaae
Robin Linden
name = "jvm-macros",
9f35eaae
Robin Linden
build_file = "//bazel:BUILD.jvm-macros",
03a0e8fa
Robin Linden
sha256 = "3f2e7c024347085596ad3c90d236e0e6fddf5c7c18c03a66a058c4d334f24888",
9318edee
Robin Linden
strip_prefix = "jvm-macros-%s" % JVM_MACROS_TAG,
9318edee
Robin Linden
url = "https://github.com/TokTok/jvm-macros/archive/%s.tar.gz" % JVM_MACROS_TAG,
9f35eaae
Robin Linden
)
9f35eaae
Robin Linden
9318edee
Robin Linden
C_TOXCORE_TAG = "0.2.12"
9318edee
Robin Linden
9f35eaae
Robin Linden
http_archive(
9f35eaae
Robin Linden
name = "c-toxcore",
9f35eaae
Robin Linden
build_file = "//bazel:BUILD.c-toxcore",
9f35eaae
Robin Linden
patch_cmds = [
9f35eaae
Robin Linden
"echo toxcore/ > .bazelignore",
9f35eaae
Robin Linden
"echo toxencryptsave/ >> .bazelignore",
9f35eaae
Robin Linden
"echo toxav/ >> .bazelignore",
9f35eaae
Robin Linden
],
9f35eaae
Robin Linden
sha256 = "6d21fcd8d505e03dcb302f4c94b4b4ef146a2e6b79d4e649f99ce4d9a4c0281f",
9318edee
Robin Linden
strip_prefix = "c-toxcore-%s" % C_TOXCORE_TAG,
9318edee
Robin Linden
url = "https://github.com/TokTok/c-toxcore/archive/v%s.zip" % C_TOXCORE_TAG,
9f35eaae
Robin Linden
)
9f35eaae
Robin Linden
7656e8c3
Robin Linden
# Transitive dependencies and toolchain setup
7656e8c3
Robin Linden
# =========================================================
7656e8c3
Robin Linden
#
7656e8c3
Robin Linden
# These go last since we override a bunch of them.
9f35eaae
Robin Linden
db57194f
Robin Linden
load("@io_bazel_rules_kotlin//kotlin:repositories.bzl", "kotlin_repositories", "kotlinc_version")
7656e8c3
Robin Linden
db57194f
Robin Linden
kotlin_repositories(
db57194f
Robin Linden
compiler_release = kotlinc_version(
db57194f
Robin Linden
release = "1.9.22",
db57194f
Robin Linden
sha256 = "88b39213506532c816ff56348c07bbeefe0c8d18943bffbad11063cf97cac3e6",
db57194f
Robin Linden
),
db57194f
Robin Linden
)
7656e8c3
Robin Linden
faacdab5
Robin Linden
register_toolchains("//:kotlin_toolchain")
cf39253b
Robin Linden
679a8d67
Robin Linden
load("@com_google_protobuf//:protobuf_deps.bzl", "protobuf_deps")
679a8d67
Robin Linden
679a8d67
Robin Linden
protobuf_deps()
679a8d67
Robin Linden
679a8d67
Robin Linden
load("@robolectric//bazel:robolectric.bzl", "robolectric_repositories")
679a8d67
Robin Linden
679a8d67
Robin Linden
robolectric_repositories()
679a8d67
Robin Linden
62681083
Robin Linden
load("@io_bazel_rules_scala//:scala_config.bzl", "scala_config")
62681083
Robin Linden
62681083
Robin Linden
scala_config(scala_version = "2.11.12")
62681083
Robin Linden
7656e8c3
Robin Linden
load("@io_bazel_rules_scala//scala:scala.bzl", "scala_repositories")
7656e8c3
Robin Linden
load("@io_bazel_rules_scala//scala:toolchains.bzl", "scala_register_toolchains")
7656e8c3
Robin Linden
load("@io_bazel_rules_scala//scala_proto:scala_proto.bzl", "scala_proto_repositories")
7656e8c3
Robin Linden
load("@io_bazel_rules_scala//scala_proto:toolchains.bzl", "scala_proto_register_enable_all_options_toolchain")
7656e8c3
Robin Linden
7656e8c3
Robin Linden
scala_register_toolchains()
7656e8c3
Robin Linden
7656e8c3
Robin Linden
scala_repositories()
7656e8c3
Robin Linden
7656e8c3
Robin Linden
scala_proto_repositories()
7656e8c3
Robin Linden
7656e8c3
Robin Linden
scala_proto_register_enable_all_options_toolchain()