Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 4 additions & 6 deletions WORKSPACE
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,9 @@ workspace(name = "grab_bazel_common")
load("@grab_bazel_common//rules:repositories.bzl", "bazel_common_dependencies")
bazel_common_dependencies()

# rules_android necessary setup
# has to be in WORKSPACE to avoid compatibility_proxy issue (eager load issue)
load("@rules_android//:prereqs.bzl", "rules_android_prereqs")
rules_android_prereqs()
load("@bazel_features//:deps.bzl", "bazel_features_deps")
bazel_features_deps()
load("@grab_bazel_common//rules:prereqs.bzl", "bazel_common_prereqs")
bazel_common_prereqs()

load("@rules_cc//cc:extensions.bzl", "compatibility_proxy_repo")
compatibility_proxy_repo()
load("@rules_java//java:rules_java_deps.bzl", "rules_java_dependencies")
Expand All @@ -17,6 +14,7 @@ load("@com_google_protobuf//bazel/private:proto_bazel_features.bzl", "proto_baze
proto_bazel_features(name = "proto_bazel_features")
load("@rules_java//java:repositories.bzl", "rules_java_toolchains")
rules_java_toolchains()

load("@rules_jvm_external//:repositories.bzl", "rules_jvm_external_deps")
rules_jvm_external_deps()
load("@rules_jvm_external//:setup.bzl", "rules_jvm_external_setup")
Expand Down
4 changes: 4 additions & 0 deletions patches/rules_android/BUILD.bazel
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
exports_files([
"macos_cp_reflink.patch",
"guava_version.patch",
"databinding_androidx_flag.patch",
"databinding_annotation_template.patch",
"databinding_prefixes.patch",
"databinding_processor_absolute_path.patch",
]
)
20 changes: 20 additions & 0 deletions rules/prereqs.bzl
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
load("@rules_android//:prereqs.bzl", "rules_android_prereqs")
load("@bazel_features//:deps.bzl", "bazel_features_deps")
load("//android/tools:defs.bzl", "android_tools")

def bazel_common_prereqs(patched_android_tools = True):
"""Downloads transitive dependencies and sets up android_tools.

Must be called after bazel_common_dependencies() and before bazel_common_setup().

Args:
patched_android_tools: If True (default), registers patched @android_tools
with databinding 7.1.0 before rules_android_prereqs(). If False,
rules_android_prereqs() downloads the default @android_tools.
"""
if patched_android_tools:
# Patched android_tools MUST be before rules_android_prereqs() so maybe() in
# prereqs.bzl sees existing @android_tools and skips the default one.
android_tools()
rules_android_prereqs()
bazel_features_deps()
2 changes: 2 additions & 0 deletions rules/repositories.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ def _android():
"@grab_bazel_common//patches/rules_android:guava_version.patch",
"@grab_bazel_common//patches/rules_android:databinding_annotation_template.patch",
"@grab_bazel_common//patches/rules_android:databinding_androidx_flag.patch",
"@grab_bazel_common//patches/rules_android:databinding_prefixes.patch",
"@grab_bazel_common//patches/rules_android:databinding_processor_absolute_path.patch",
],
patch_args = ["-p1"],
)
Expand Down
19 changes: 3 additions & 16 deletions rules/setup.bzl
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
# Dagger
load("@bazel_common_dagger//:workspace_defs.bzl", "DAGGER_ARTIFACTS", "DAGGER_REPOSITORIES")
load("@grab_bazel_common//android/tools:defs.bzl", "android_tools")
load(
"@grab_bazel_common//toolchains:toolchains.bzl",
"register_common_toolchains",
Expand Down Expand Up @@ -30,16 +29,6 @@ load("@grab_bazel_common//rules/test:setup.bzl", "bazel_common_test_maven")
load("@rules_android//:defs.bzl", "rules_android_workspace")
load("@rules_android//rules:rules.bzl", "android_sdk_repository")


# Setup android databinding compilation and optionally use patched android tools jar
def _android(patched_android_tools):
native.bind(
name = "databinding_annotation_processor",
actual = "@grab_bazel_common//tools/android:compiler_annotation_processor",
)
if patched_android_tools:
android_tools()

def _kotlin():
kotlin_repositories(
compiler_release = kotlinc_version(
Expand All @@ -63,7 +52,6 @@ def _rules_android_setup():


def bazel_common_setup(
patched_android_tools = True,
buildifier_version = BUILDIFIER_DEFAULT_VERSION,
pinned_maven_install = True):
#rules_proto_dependencies()
Expand Down Expand Up @@ -101,9 +89,9 @@ def bazel_common_setup(
"xmlpull:xmlpull:1.1.3.1",
"net.sf.kxml:kxml2:2.3.0",
"com.squareup.moshi:moshi:1.11.0",
"org.jetbrains.kotlin:kotlin-stdlib:1.8.10",
"org.jetbrains.kotlin:kotlin-parcelize-compiler:1.8.10",
"org.jetbrains.kotlin:kotlin-parcelize-runtime:1.8.10",
"org.jetbrains.kotlin:kotlin-stdlib:2.1.0",
"org.jetbrains.kotlin:kotlin-parcelize-compiler:2.1.0",
"org.jetbrains.kotlin:kotlin-parcelize-runtime:2.1.0",
"org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4",
"com.github.tschuchortdev:kotlin-compile-testing:1.5.0",
"com.google.android.material:material:1.2.1",
Expand All @@ -121,7 +109,6 @@ def bazel_common_setup(
fetch_sources = True,
)

_android(patched_android_tools)
_kotlin()

rules_detekt_dependencies()
Expand Down
Loading