1*f585d8a3SJacky Wang# Copyright (C) 2020 The Dagger Authors. 2*f585d8a3SJacky Wang# 3*f585d8a3SJacky Wang# Licensed under the Apache License, Version 2.0 (the "License"); 4*f585d8a3SJacky Wang# you may not use this file except in compliance with the License. 5*f585d8a3SJacky Wang# You may obtain a copy of the License at 6*f585d8a3SJacky Wang# 7*f585d8a3SJacky Wang# http://www.apache.org/licenses/LICENSE-2.0 8*f585d8a3SJacky Wang# 9*f585d8a3SJacky Wang# Unless required by applicable law or agreed to in writing, software 10*f585d8a3SJacky Wang# distributed under the License is distributed on an "AS IS" BASIS, 11*f585d8a3SJacky Wang# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*f585d8a3SJacky Wang# See the License for the specific language governing permissions and 13*f585d8a3SJacky Wang# limitations under the License. 14*f585d8a3SJacky Wang# 15*f585d8a3SJacky Wang# Description: 16*f585d8a3SJacky Wang# Defines the Bazel workspace rules for the Dagger examples. 17*f585d8a3SJacky Wang 18*f585d8a3SJacky Wang######################## 19*f585d8a3SJacky Wang# Load Dagger repository 20*f585d8a3SJacky Wang######################## 21*f585d8a3SJacky Wang 22*f585d8a3SJacky Wang# In a real project, this repository would use `http_archive` to link to a 23*f585d8a3SJacky Wang# tagged, released version of the Dagger, but we use `local_repository` so that 24*f585d8a3SJacky Wang# CI testing can test local changes to workspace_defs.bzl. 25*f585d8a3SJacky Wanglocal_repository( 26*f585d8a3SJacky Wang name = "dagger", 27*f585d8a3SJacky Wang path = "../../", 28*f585d8a3SJacky Wang) 29*f585d8a3SJacky Wang 30*f585d8a3SJacky Wangload( 31*f585d8a3SJacky Wang "@dagger//:workspace_defs.bzl", 32*f585d8a3SJacky Wang "DAGGER_ARTIFACTS", 33*f585d8a3SJacky Wang "DAGGER_REPOSITORIES", 34*f585d8a3SJacky Wang "HILT_ANDROID_ARTIFACTS", 35*f585d8a3SJacky Wang "HILT_ANDROID_REPOSITORIES", 36*f585d8a3SJacky Wang) 37*f585d8a3SJacky Wang 38*f585d8a3SJacky Wang######################### 39*f585d8a3SJacky Wang# Load Android repository 40*f585d8a3SJacky Wang######################### 41*f585d8a3SJacky Wang 42*f585d8a3SJacky Wangandroid_sdk_repository( 43*f585d8a3SJacky Wang name = "androidsdk", 44*f585d8a3SJacky Wang api_level = 32, 45*f585d8a3SJacky Wang build_tools_version = "32.0.0", 46*f585d8a3SJacky Wang) 47*f585d8a3SJacky Wang 48*f585d8a3SJacky Wang############################# 49*f585d8a3SJacky Wang# Load Robolectric repository 50*f585d8a3SJacky Wang############################# 51*f585d8a3SJacky Wang 52*f585d8a3SJacky Wangload("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") 53*f585d8a3SJacky Wang 54*f585d8a3SJacky Wanghttp_archive( 55*f585d8a3SJacky Wang name = "robolectric", 56*f585d8a3SJacky Wang strip_prefix = "robolectric-bazel-4.1", 57*f585d8a3SJacky Wang urls = ["https://github.com/robolectric/robolectric-bazel/archive/4.1.tar.gz"], 58*f585d8a3SJacky Wang) 59*f585d8a3SJacky Wang 60*f585d8a3SJacky Wangload("@robolectric//bazel:robolectric.bzl", "robolectric_repositories") 61*f585d8a3SJacky Wang 62*f585d8a3SJacky Wangrobolectric_repositories() 63*f585d8a3SJacky Wang 64*f585d8a3SJacky Wang######################### 65*f585d8a3SJacky Wang# Load Maven repositories 66*f585d8a3SJacky Wang######################### 67*f585d8a3SJacky Wang 68*f585d8a3SJacky WangRULES_JVM_EXTERNAL_TAG = "4.2" 69*f585d8a3SJacky Wang 70*f585d8a3SJacky WangRULES_JVM_EXTERNAL_SHA = "cd1a77b7b02e8e008439ca76fd34f5b07aecb8c752961f9640dea15e9e5ba1ca" 71*f585d8a3SJacky Wang 72*f585d8a3SJacky Wanghttp_archive( 73*f585d8a3SJacky Wang name = "rules_jvm_external", 74*f585d8a3SJacky Wang sha256 = RULES_JVM_EXTERNAL_SHA, 75*f585d8a3SJacky Wang strip_prefix = "rules_jvm_external-%s" % RULES_JVM_EXTERNAL_TAG, 76*f585d8a3SJacky Wang url = "https://github.com/bazelbuild/rules_jvm_external/archive/%s.zip" % RULES_JVM_EXTERNAL_TAG, 77*f585d8a3SJacky Wang) 78*f585d8a3SJacky Wang 79*f585d8a3SJacky Wangload("@rules_jvm_external//:defs.bzl", "maven_install") 80*f585d8a3SJacky Wang 81*f585d8a3SJacky Wangmaven_install( 82*f585d8a3SJacky Wang artifacts = DAGGER_ARTIFACTS + HILT_ANDROID_ARTIFACTS + [ 83*f585d8a3SJacky Wang "androidx.test.ext:junit:1.1.1", 84*f585d8a3SJacky Wang "androidx.test:runner:1.1.1", 85*f585d8a3SJacky Wang "com.google.truth:truth:1.0.1", 86*f585d8a3SJacky Wang "junit:junit:4.13", 87*f585d8a3SJacky Wang "org.robolectric:robolectric:4.1", 88*f585d8a3SJacky Wang "org.robolectric:annotations:4.1", 89*f585d8a3SJacky Wang ], 90*f585d8a3SJacky Wang repositories = DAGGER_REPOSITORIES + HILT_ANDROID_REPOSITORIES, 91*f585d8a3SJacky Wang) 92