• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (C) 2020 The Dagger Authors.
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7# http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14# Description:
15#   Hilt android processors.
16
17load("@rules_java//java:defs.bzl", "java_library", "java_plugin")
18
19package(default_visibility = ["//:src"])
20
21java_plugin(
22    name = "plugin",
23    generates_api = 1,
24    processor_class = "dagger.hilt.android.processor.internal.androidentrypoint.AndroidEntryPointProcessor",
25    tags = [
26        "annotation=dagger.hilt.android.AndroidEntryPoint;" +
27        "genclass=${package}.Hilt_${outerclasses}${classname};" +
28        "genclass=${package}.${outerclasses}${classname}_EntryPoint",
29    ],
30    deps = [
31        ":processor_lib",
32    ],
33)
34
35java_library(
36    name = "processor_lib",
37    srcs = [
38        "AndroidEntryPointProcessingStep.java",
39        "AndroidEntryPointProcessor.java",
40        "KspAndroidEntryPointProcessor.java",
41    ],
42    deps = [
43        ":android_generators",
44        ":metadata",
45        "//java/dagger/hilt/android/processor/internal:android_classnames",
46        "//java/dagger/hilt/processor/internal:base_processor",
47        "//java/dagger/hilt/processor/internal:compiler_options",
48        "//java/dagger/hilt/processor/internal:processor_errors",
49        "//java/dagger/hilt/processor/internal/optionvalues",
50        "//java/dagger/internal/codegen/xprocessing",
51        "//third_party/java/auto:service",
52        "//third_party/java/guava/collect",
53        "//third_party/java/incap",
54        "//third_party/java/javapoet",
55        "@maven//:com_google_devtools_ksp_symbol_processing_api",
56    ],
57)
58
59java_library(
60    name = "android_generators",
61    srcs = [
62        "ActivityGenerator.java",
63        "ApplicationGenerator.java",
64        "BroadcastReceiverGenerator.java",
65        "FragmentGenerator.java",
66        "Generators.java",
67        "InjectorEntryPointGenerator.java",
68        "ServiceGenerator.java",
69        "ViewGenerator.java",
70    ],
71    deps = [
72        ":metadata",
73        "//java/dagger/hilt/android/processor/internal:android_classnames",
74        "//java/dagger/hilt/processor/internal:classnames",
75        "//java/dagger/hilt/processor/internal:component_names",
76        "//java/dagger/hilt/processor/internal:method_signature",
77        "//java/dagger/hilt/processor/internal:processor_errors",
78        "//java/dagger/hilt/processor/internal:processors",
79        "//java/dagger/internal/codegen/extension",
80        "//java/dagger/internal/codegen/xprocessing",
81        "//third_party/java/guava/base",
82        "//third_party/java/guava/collect",
83        "//third_party/java/javapoet",
84        "@maven//:org_jetbrains_kotlin_kotlin_stdlib",
85    ],
86)
87
88java_library(
89    name = "metadata",
90    srcs = [
91        "AndroidEntryPointMetadata.java",
92    ],
93    deps = [
94        "//java/dagger/hilt/android/processor/internal:android_classnames",
95        "//java/dagger/hilt/processor/internal:compiler_options",
96        "//java/dagger/hilt/processor/internal:components",
97        "//java/dagger/hilt/processor/internal:processor_errors",
98        "//java/dagger/hilt/processor/internal:processors",
99        "//java/dagger/hilt/processor/internal/kotlin",
100        "//java/dagger/internal/codegen/extension",
101        "//java/dagger/internal/codegen/xprocessing",
102        "//third_party/java/auto:value",
103        "//third_party/java/guava/base",
104        "//third_party/java/guava/collect",
105        "//third_party/java/javapoet",
106    ],
107)
108
109filegroup(
110    name = "srcs_filegroup",
111    srcs = glob(["*"]),
112)
113