xref: /aosp_15_r20/external/dagger2/java/dagger/android/BUILD (revision f585d8a307d0621d6060bd7e80091fdcbf94fe27)
1*f585d8a3SJacky Wang# Copyright (C) 2017 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#   Public Dagger API for Android
17*f585d8a3SJacky Wang
18*f585d8a3SJacky Wangload(
19*f585d8a3SJacky Wang    "//:build_defs.bzl",
20*f585d8a3SJacky Wang    "POM_VERSION",
21*f585d8a3SJacky Wang)
22*f585d8a3SJacky Wangload("//tools:dejetify.bzl", "dejetified_library")
23*f585d8a3SJacky Wangload(
24*f585d8a3SJacky Wang    "//tools:maven.bzl",
25*f585d8a3SJacky Wang    "gen_maven_artifact",
26*f585d8a3SJacky Wang    "pom_file",
27*f585d8a3SJacky Wang)
28*f585d8a3SJacky Wang
29*f585d8a3SJacky Wangpackage(default_visibility = ["//:src"])
30*f585d8a3SJacky Wang
31*f585d8a3SJacky Wang# Work around b/70476182 which prevents Kythe from connecting :producers to the .java files it
32*f585d8a3SJacky Wang# contains.
33*f585d8a3SJacky WangSRCS = glob([
34*f585d8a3SJacky Wang    "*.java",
35*f585d8a3SJacky Wang    "internal/*.java",
36*f585d8a3SJacky Wang])
37*f585d8a3SJacky Wang
38*f585d8a3SJacky Wangfilegroup(
39*f585d8a3SJacky Wang    name = "android-srcs",
40*f585d8a3SJacky Wang    srcs = SRCS,
41*f585d8a3SJacky Wang)
42*f585d8a3SJacky Wang
43*f585d8a3SJacky Wangandroid_library(
44*f585d8a3SJacky Wang    name = "android",
45*f585d8a3SJacky Wang    srcs = SRCS,
46*f585d8a3SJacky Wang    plugins = [
47*f585d8a3SJacky Wang        "//java/dagger/android/internal/proguard:plugin",
48*f585d8a3SJacky Wang    ],
49*f585d8a3SJacky Wang    tags = ["maven_coordinates=com.google.dagger:dagger-android:" + POM_VERSION],
50*f585d8a3SJacky Wang    exports = [
51*f585d8a3SJacky Wang        "//java/dagger/lint:lint-android-artifact-lib",
52*f585d8a3SJacky Wang    ],
53*f585d8a3SJacky Wang    deps = [
54*f585d8a3SJacky Wang        "//:dagger_with_compiler",
55*f585d8a3SJacky Wang        "//third_party/java/auto:value",
56*f585d8a3SJacky Wang        "//third_party/java/error_prone:annotations",
57*f585d8a3SJacky Wang        "@maven//:androidx_annotation_annotation",
58*f585d8a3SJacky Wang    ],
59*f585d8a3SJacky Wang)
60*f585d8a3SJacky Wang
61*f585d8a3SJacky Wanggen_maven_artifact(
62*f585d8a3SJacky Wang    name = "artifact",
63*f585d8a3SJacky Wang    artifact_coordinates = "com.google.dagger:dagger-android:" + POM_VERSION,
64*f585d8a3SJacky Wang    artifact_name = "Dagger Android",
65*f585d8a3SJacky Wang    artifact_target = ":android",
66*f585d8a3SJacky Wang    artifact_target_maven_deps = [
67*f585d8a3SJacky Wang        "androidx.annotation:annotation",
68*f585d8a3SJacky Wang        "com.google.dagger:dagger",
69*f585d8a3SJacky Wang        "com.google.dagger:dagger-lint-aar",
70*f585d8a3SJacky Wang    ],
71*f585d8a3SJacky Wang    javadoc_android_api_level = 32,
72*f585d8a3SJacky Wang    javadoc_root_packages = [
73*f585d8a3SJacky Wang        "dagger.android",
74*f585d8a3SJacky Wang    ],
75*f585d8a3SJacky Wang    javadoc_srcs = [":android-srcs"],
76*f585d8a3SJacky Wang    manifest = "AndroidManifest.xml",
77*f585d8a3SJacky Wang    packaging = "aar",
78*f585d8a3SJacky Wang)
79*f585d8a3SJacky Wang
80*f585d8a3SJacky Wangdejetified_library(
81*f585d8a3SJacky Wang    name = "dejetified-android",
82*f585d8a3SJacky Wang    input = ":artifact.aar",
83*f585d8a3SJacky Wang    output = "android-legacy.aar",
84*f585d8a3SJacky Wang)
85*f585d8a3SJacky Wang
86*f585d8a3SJacky Wangandroid_library(
87*f585d8a3SJacky Wang    name = "legacy-deps",
88*f585d8a3SJacky Wang    tags = ["maven_coordinates=com.google.dagger:dagger-android-legacy:" + POM_VERSION],
89*f585d8a3SJacky Wang    exports = [
90*f585d8a3SJacky Wang        "//:dagger_with_compiler",
91*f585d8a3SJacky Wang        "//third_party/java/auto:value",
92*f585d8a3SJacky Wang        "//third_party/java/error_prone:annotations",
93*f585d8a3SJacky Wang        "@maven//:com_android_support_support_annotations",
94*f585d8a3SJacky Wang    ],
95*f585d8a3SJacky Wang)
96*f585d8a3SJacky Wang
97*f585d8a3SJacky Wangpom_file(
98*f585d8a3SJacky Wang    name = "legacy-pom",
99*f585d8a3SJacky Wang    artifact_id = "dagger-android-legacy",
100*f585d8a3SJacky Wang    artifact_name = "Dagger Android Legacy",
101*f585d8a3SJacky Wang    packaging = "aar",
102*f585d8a3SJacky Wang    targets = [":legacy-deps"],
103*f585d8a3SJacky Wang)
104