blob: 7c9a8dba3c2f05b151a7c7d055317c7bed5a1c67 [file] [log] [blame]
# Copyright (C) 2020 The Dagger Authors.
#
# 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.
#
# Description:
# Defines the Bazel workspace rules for the Dagger examples.
########################
# Load Dagger repository
########################
# In a real project, this repository would use `http_archive` to link to a
# tagged, released version of the Dagger, but we use `local_repository` so that
# CI testing can test local changes to workspace_defs.bzl.
local_repository(
name = "dagger",
path = "../../",
)
load(
"@dagger//:workspace_defs.bzl",
"DAGGER_ARTIFACTS",
"DAGGER_REPOSITORIES",
"HILT_ANDROID_ARTIFACTS",
"HILT_ANDROID_REPOSITORIES",
)
#########################
# Load Android repository
#########################
android_sdk_repository(
name = "androidsdk",
api_level = 34,
build_tools_version = "34.0.0",
)
#############################
# Load Robolectric repository
#############################
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
ROBOLECTRIC_VERSION = "4.11.1"
http_archive(
name = "robolectric",
sha256 = "1ea1cfe67848decf959316e80dd69af2bbaa359ae2195efe1366cbdf3e968356",
strip_prefix = "robolectric-bazel-%s" % ROBOLECTRIC_VERSION,
urls = ["https://github.com/robolectric/robolectric-bazel/releases/download/%s/robolectric-bazel-%s.tar.gz" % (ROBOLECTRIC_VERSION, ROBOLECTRIC_VERSION)],
)
load("@robolectric//bazel:robolectric.bzl", "robolectric_repositories")
robolectric_repositories()
#########################
# Load Maven repositories
#########################
RULES_JVM_EXTERNAL_TAG = "4.2"
RULES_JVM_EXTERNAL_SHA = "cd1a77b7b02e8e008439ca76fd34f5b07aecb8c752961f9640dea15e9e5ba1ca"
http_archive(
name = "rules_jvm_external",
sha256 = RULES_JVM_EXTERNAL_SHA,
strip_prefix = "rules_jvm_external-%s" % RULES_JVM_EXTERNAL_TAG,
url = "https://github.com/bazelbuild/rules_jvm_external/archive/%s.zip" % RULES_JVM_EXTERNAL_TAG,
)
load("@rules_jvm_external//:defs.bzl", "maven_install")
maven_install(
artifacts = DAGGER_ARTIFACTS + HILT_ANDROID_ARTIFACTS + [
"androidx.test.ext:junit:1.1.1",
"androidx.test:runner:1.1.1",
"com.google.truth:truth:1.0.1",
"junit:junit:4.13",
"org.robolectric:robolectric:%s" % ROBOLECTRIC_VERSION,
"org.robolectric:annotations:%s" % ROBOLECTRIC_VERSION,
],
repositories = DAGGER_REPOSITORIES + HILT_ANDROID_REPOSITORIES,
)