Skip to content

Commit

Permalink
Implement android_sdk_repository in Starlark.
Browse files Browse the repository at this point in the history
Fixes #76.

PiperOrigin-RevId: 563532977
Change-Id: I1a17d21984429bf426c9ff3f8ba7cdab337c8529
  • Loading branch information
katre authored and copybara-github committed Sep 7, 2023
1 parent 8c1dbff commit 91ca9f6
Show file tree
Hide file tree
Showing 14 changed files with 1,423 additions and 28 deletions.
2 changes: 1 addition & 1 deletion android/rules.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ load(
_android_sdk = "android_sdk",
)
load(
"//rules:android_sdk_repository.bzl",
"//rules/android_sdk_repository:rule.bzl",
_android_sdk_repository = "android_sdk_repository",
)
load(
Expand Down
2 changes: 1 addition & 1 deletion rules/BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,6 @@ bzl_library(
srcs = [
"android_ndk_repository.bzl",
"android_sdk.bzl",
"android_sdk_repository.bzl",
"android_tools_defaults_jar.bzl",
"baseline_profiles.bzl",
"dex.bzl",
Expand All @@ -83,6 +82,7 @@ bzl_library(
"//rules/aar_import:bzl",
"//rules/android_library:bzl",
"//rules/android_sandboxed_sdk:bzl",
"//rules/android_sdk_repository:bzl",
"//rules/flags:bzl",
],
)
25 changes: 0 additions & 25 deletions rules/android_sdk_repository.bzl

This file was deleted.

18 changes: 18 additions & 0 deletions rules/android_sdk_repository/BUILD
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Description:
# The android_sdk_repository repository rule for using an Android SDK with Bazel.

load("@bazel_skylib//:bzl_library.bzl", "bzl_library")

bzl_library(
name = "bzl",
srcs = [
"empty.template.bzl",
"helper.bzl",
"rule.bzl",
"template.bzl",
],
visibility = ["//:__subpackages__"],
deps = [
"//rules:android_revision_bzl",
],
)
60 changes: 60 additions & 0 deletions rules/android_sdk_repository/empty.template.bzl
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
# 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.
"""
This module adds no-op repository rules when the Android SDK is not installed.
"""

package(default_visibility = ["//visibility:public"])

# android_sdk_repository was used without a valid Android SDK being set.
# Either the path attribute of android_sdk_repository or the ANDROID_HOME
# environment variable must be set.
# This is a minimal BUILD file to allow non-Android builds to continue.

alias(
name = "has_androidsdk",
actual = "@bazel_tools//tools/android:always_false",
)

filegroup(
name = "files",
srcs = [":error_message"],
)

filegroup(
name = "sdk",
srcs = [":error_message"],
)

filegroup(
name = "d8_jar_import",
srcs = [":error_message"],
)

filegroup(
name = "dx_jar_import",
srcs = [":error_message"],
)

genrule(
name = "invalid_android_sdk_repository_error",
outs = [
"error_message",
],
cmd = """echo \
android_sdk_repository was used without a valid Android SDK being set. \
Either the path attribute of android_sdk_repository or the ANDROID_HOME \
environment variable must be set. ; \
exit 1 """,
)
Loading

0 comments on commit 91ca9f6

Please sign in to comment.