aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Cater <jcater@google.com>2023-09-28 08:25:15 -0700
committerCopybara-Service <copybara-worker@google.com>2023-09-28 08:25:53 -0700
commit46aaa9051b8d87e9b539ab22b2e28e9d19594d39 (patch)
tree79b9853f930bd5d7e95015c42d836a51661eb062
parent7a0782071db74dd4b111318311761ee7bbaea241 (diff)
downloadbazelbuild-rules_android-46aaa9051b8d87e9b539ab22b2e28e9d19594d39.tar.gz
Split rules_android dependendies into those needed for development and those needed by projects which depend on rules_android.
This mimics MODULE.bazel's `dev_dependency` attribute. PiperOrigin-RevId: 569188850 Change-Id: Ie29cc92561ed162a51b0fa00e4ac724a3a9b0747
-rw-r--r--WORKSPACE7
-rw-r--r--defs.bzl11
-rw-r--r--defs_dev.bzl31
-rw-r--r--prereqs.bzl37
4 files changed, 55 insertions, 31 deletions
diff --git a/WORKSPACE b/WORKSPACE
index fd043f2..c8a94bc 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -19,12 +19,15 @@ maybe(
android_sdk_supplemental_repository(name = "androidsdk-supplemental")
load("prereqs.bzl", "rules_android_prereqs")
-rules_android_prereqs()
-load("defs.bzl", "rules_android_workspace")
+rules_android_prereqs(dev_mode = True)
+
+load("defs_dev.bzl", "rules_android_workspace")
rules_android_workspace()
register_toolchains("//toolchains/android:all")
+
register_toolchains("//toolchains/android_sdk:all")
+
register_toolchains("//toolchains/emulator:all")
diff --git a/defs.bzl b/defs.bzl
index 4e91209..fae7a9b 100644
--- a/defs.bzl
+++ b/defs.bzl
@@ -16,11 +16,9 @@
load("@bazel_gazelle//:deps.bzl", "gazelle_dependencies", "go_repository")
load("@bazel_skylib//:workspace.bzl", "bazel_skylib_workspace")
-load("@cgrindel_bazel_starlib//:deps.bzl", "bazel_starlib_dependencies")
load("@com_google_protobuf//:protobuf_deps.bzl", "protobuf_deps")
load("@io_bazel_rules_go//go:deps.bzl", "go_register_toolchains", "go_rules_dependencies")
load("@robolectric//bazel:robolectric.bzl", "robolectric_repositories")
-load("@rules_bazel_integration_test//bazel_integration_test:defs.bzl", "bazel_binaries")
load("@rules_java//java:repositories.bzl", "rules_java_dependencies", "rules_java_toolchains")
load("@rules_jvm_external//:defs.bzl", "maven_install")
load("@rules_proto//proto:repositories.bzl", "rules_proto_dependencies", "rules_proto_toolchains")
@@ -92,12 +90,3 @@ def rules_android_workspace():
rules_proto_toolchains()
py_repositories()
-
- # Integration test setup
- bazel_starlib_dependencies()
-
- bazel_binaries(
- versions = [
- "last_green",
- ],
- )
diff --git a/defs_dev.bzl b/defs_dev.bzl
new file mode 100644
index 0000000..7c31efe
--- /dev/null
+++ b/defs_dev.bzl
@@ -0,0 +1,31 @@
+# Copyright 2023 The Bazel Authors. All rights reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+"""Workspace setup macro for rules_android development."""
+
+load("@cgrindel_bazel_starlib//:deps.bzl", "bazel_starlib_dependencies")
+load("@rules_bazel_integration_test//bazel_integration_test:defs.bzl", "bazel_binaries")
+load(":defs.bzl", non_dev_workspace = "rules_android_workspace")
+
+def rules_android_workspace():
+ non_dev_workspace()
+
+ # Integration test setup
+ bazel_starlib_dependencies()
+
+ bazel_binaries(
+ versions = [
+ "last_green",
+ ],
+ )
diff --git a/prereqs.bzl b/prereqs.bzl
index 2c70587..627ccad 100644
--- a/prereqs.bzl
+++ b/prereqs.bzl
@@ -17,7 +17,7 @@
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe")
-def rules_android_prereqs():
+def rules_android_prereqs(dev_mode = False):
"""Downloads prerequisite repositories for rules_android."""
maybe(
http_archive,
@@ -133,20 +133,21 @@ def rules_android_prereqs():
sha256 = "84aec9e21cc56fbc7f1335035a71c850d1b9b5cc6ff497306f84cced9a769841",
)
- maybe(
- http_archive,
- name = "rules_bazel_integration_test",
- sha256 = "d6dada79939533a8127000d2aafa125f29a4a97f720e01c050fdeb81b1080b08",
- urls = [
- "https://github.com/bazel-contrib/rules_bazel_integration_test/releases/download/v0.17.0/rules_bazel_integration_test.v0.17.0.tar.gz",
- ],
- )
-
- maybe(
- http_archive,
- name = "cgrindel_bazel_starlib",
- sha256 = "a8d25340956b429b56302d3fd702bb3df8b3a67db248dd32b3084891ad497964",
- urls = [
- "https://github.com/cgrindel/bazel-starlib/releases/download/v0.17.0/bazel-starlib.v0.17.0.tar.gz",
- ],
- )
+ if dev_mode:
+ maybe(
+ http_archive,
+ name = "rules_bazel_integration_test",
+ sha256 = "d6dada79939533a8127000d2aafa125f29a4a97f720e01c050fdeb81b1080b08",
+ urls = [
+ "https://github.com/bazel-contrib/rules_bazel_integration_test/releases/download/v0.17.0/rules_bazel_integration_test.v0.17.0.tar.gz",
+ ],
+ )
+
+ maybe(
+ http_archive,
+ name = "cgrindel_bazel_starlib",
+ sha256 = "a8d25340956b429b56302d3fd702bb3df8b3a67db248dd32b3084891ad497964",
+ urls = [
+ "https://github.com/cgrindel/bazel-starlib/releases/download/v0.17.0/bazel-starlib.v0.17.0.tar.gz",
+ ],
+ )