feature/share-libs
bazel 86 lines 3.13 KB
Raw
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")