| # 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, |
| ) |