xref: /aosp_15_r20/external/dagger2/examples/bazel/WORKSPACE (revision f585d8a307d0621d6060bd7e80091fdcbf94fe27)
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