| 1 | "tower of bazel" |
| 2 | |
| 3 | bazel_dep(name = "bazel_skylib", version = "1.7.1") |
| 4 | bazel_dep(name = "rules_ruby", version = "0.12.1") |
| 5 | bazel_dep(name = "rules_apple", version = "3.6.0", repo_name = "build_bazel_rules_apple") |
| 6 | bazel_dep(name = "rules_xcodeproj", version = "2.5.2") |
| 7 | bazel_dep(name = "apple_support", version = "1.15.1", repo_name = "build_bazel_apple_support") |
| 8 | bazel_dep(name = "rules_swift", version = "1.18.0", repo_name = "build_bazel_rules_swift") |
| 9 | # Android |
| 10 | bazel_dep(name = "platforms", version = "0.0.10") |
| 11 | bazel_dep(name = "rules_jvm_external", version = "5.3") |
| 12 | # Rust dependencies |
| 13 | bazel_dep(name = "rules_rust", version = "0.49.1") |
| 14 | |
| 15 | ruby = use_extension("@rules_ruby//ruby:extensions.bzl", "ruby") |
| 16 | ruby.toolchain( |
| 17 | name = "ruby", |
| 18 | version_file = "//backend/app:.ruby-version", |
| 19 | ) |
| 20 | use_repo(ruby, "ruby") |
| 21 | ruby.bundle_fetch( |
| 22 | name = "bundle", |
| 23 | gemfile = "//backend/app:Gemfile", |
| 24 | gemfile_lock = "//backend/app:Gemfile.lock", |
| 25 | ) |
| 26 | use_repo(ruby, "bundle", "ruby_toolchains") |
| 27 | |
| 28 | # rules_apple dependencies |
| 29 | bazel_dep( |
| 30 | name = "buildifier_prebuilt", |
| 31 | version = "6.4.0", |
| 32 | dev_dependency = True, |
| 33 | ) |
| 34 | |
| 35 | non_module_dependencies = use_extension("//frontend/apple/tools:extensions.bzl", "non_module_dependencies") |
| 36 | use_repo(non_module_dependencies, "SwiftLint") |
| 37 | |
| 38 | # Rulesets Android / Java / Kotlin |
| 39 | maven = use_extension("@rules_jvm_external//:extensions.bzl", "maven") |
| 40 | maven.install( |
| 41 | artifacts = [ |
| 42 | "androidx.appcompat:appcompat:1.5.1", |
| 43 | # Jetpack Compose Dependencies |
| 44 | "androidx.activity:activity-compose:1.6.0", |
| 45 | "androidx.compose.material:material:1.2.1", |
| 46 | "androidx.compose.ui:ui:1.2.1", |
| 47 | "androidx.compose.ui:ui-tooling:1.2.1", |
| 48 | "androidx.compose.compiler:compiler:1.3.2", |
| 49 | "androidx.compose.runtime:runtime:1.2.1", |
| 50 | # Dependencies needed to manage version conflicts |
| 51 | "androidx.core:core:1.6.0", |
| 52 | "androidx.core:core-ktx:1.6.0", |
| 53 | "androidx.savedstate:savedstate-ktx:1.2.0", |
| 54 | "androidx.savedstate:savedstate:1.2.0", |
| 55 | "androidx.lifecycle:lifecycle-livedata-core-ktx:2.5.1", |
| 56 | "androidx.lifecycle:lifecycle-livedata-core:2.5.1", |
| 57 | "androidx.lifecycle:lifecycle-livedata:2.5.1", |
| 58 | "androidx.lifecycle:lifecycle-process:2.5.1", |
| 59 | "androidx.lifecycle:lifecycle-runtime-ktx:2.5.1", |
| 60 | "androidx.lifecycle:lifecycle-runtime:2.5.1", |
| 61 | "androidx.lifecycle:lifecycle-service:2.5.1", |
| 62 | "androidx.lifecycle:lifecycle-viewmodel-ktx:2.5.1", |
| 63 | "androidx.lifecycle:lifecycle-viewmodel-savedstate:2.5.1", |
| 64 | "androidx.lifecycle:lifecycle-viewmodel:2.5.1", |
| 65 | ], |
| 66 | repositories = [ |
| 67 | "https://maven.google.com", |
| 68 | "https://repo1.maven.org/maven2", |
| 69 | ], |
| 70 | ) |
| 71 | use_repo(maven, "maven") |
| 72 | |
| 73 | # Rules rust |
| 74 | rust = use_extension("@rules_rust//rust:extensions.bzl", "rust") |
| 75 | rust.toolchain(edition = "2021") |
| 76 | use_repo(rust, "rust_toolchains") |
| 77 | |
| 78 | register_toolchains("@rust_toolchains//:all") |
| 79 | |
| 80 | crate = use_extension("@rules_rust//crate_universe:extension.bzl", "crate") |
| 81 | crate.from_cargo( |
| 82 | name = "rust_axum_crates", |
| 83 | cargo_lockfile = "//backend/rust-axum:Cargo.lock", |
| 84 | manifests = ["//backend/rust-axum:Cargo.toml"], |
| 85 | ) |
| 86 | use_repo(crate, "rust_axum_crates") |