• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (C) 2017 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
15# Description:
16#   Tests for the Dagger compiler/codegen
17
18load("@io_bazel_rules_kotlin//kotlin:kotlin.bzl", "kt_jvm_library")
19load("//:build_defs.bzl", "DOCLINT_HTML_AND_SYNTAX")
20load("//:test_defs.bzl", "GenJavaTests")
21load("//java/dagger/testing/compile:macros.bzl", "compiler_test")
22
23package(default_visibility = ["//:src"])
24
25kt_jvm_library(
26    name = "kotlin_sources",
27    srcs = [
28        "KotlinInjectedQualifier.kt",
29        "KotlinObjectWithMemberInjection.kt",
30    ],
31    deps = [
32        "//java/dagger:core",
33    ],
34)
35
36# TODO(bcorso): Move this into a subpackage.
37java_library(
38    name = "compilers",
39    srcs = [
40        "CompilerMode.java",
41        "Compilers.java",
42        "JavaFileBuilder.java",
43    ],
44    deps = [
45        "//java/dagger/internal/codegen:package_info",
46        "//java/dagger/internal/codegen:processor",
47        "//third_party/java/compile_testing",
48        "//third_party/java/guava/base",
49        "//third_party/java/guava/collect",
50        "@com_google_auto_value_auto_value//jar",
51    ],
52)
53
54java_library(
55    name = "InvalidInjectConstructor",
56    srcs = ["InvalidInjectConstructor.java"],
57    # Note: We purposely leave off the dagger processor here.
58    deps = [
59        "//third_party/java/jsr330_inject",
60    ],
61)
62
63GenJavaTests(
64    name = "compiler_tests",
65    srcs = glob(
66        ["*.java"],
67        exclude = [
68            "CompilerMode.java",
69            "Compilers.java",
70            "JavaFileBuilder.java",
71            "ComponentValidationKtTest.java",
72            "InvalidInjectConstructor.java",
73        ],
74    ),
75    functional = False,
76    javacopts = DOCLINT_HTML_AND_SYNTAX,
77    plugins = ["//java/dagger/internal/codegen/bootstrap"],
78    deps = [
79        ":InvalidInjectConstructor",
80        ":compilers",
81        ":kotlin_sources",
82        "//java/dagger:core",
83        "//java/dagger/internal/codegen:package_info",
84        "//java/dagger/internal/codegen:processor",
85        "//java/dagger/internal/codegen/base",
86        "//java/dagger/internal/codegen/binding",
87        "//java/dagger/internal/codegen/bindinggraphvalidation",
88        "//java/dagger/internal/codegen/compileroption",
89        "//java/dagger/internal/codegen/javac",
90        "//java/dagger/internal/codegen/javapoet",
91        "//java/dagger/internal/codegen/kotlin",
92        "//java/dagger/internal/codegen/langmodel",
93        "//java/dagger/internal/codegen/validation",
94        "//java/dagger/internal/codegen/writing",
95        "//java/dagger/internal/codegen/xprocessing",
96        "//java/dagger/model/testing",
97        "//java/dagger/producers",
98        "//java/dagger/spi",
99        "//third_party/java/auto:common",
100        "//third_party/java/auto:value",
101        "//third_party/java/compile_testing",
102        "//third_party/java/guava/base",
103        "//third_party/java/guava/collect",
104        "//third_party/java/guava/util/concurrent",
105        "//third_party/java/javapoet",
106        "//third_party/java/jsr330_inject",
107        "//third_party/java/junit",
108        "//third_party/java/mockito",
109        "//third_party/java/truth",
110        "@com_google_auto_value_auto_value//jar",
111    ],
112)
113
114compiler_test(
115    name = "ComponentValidationKtTest",
116    srcs = ["ComponentValidationKtTest.java"],
117    compiler_deps = [
118        "//java/dagger:core",
119        "//java/dagger/internal/codegen:package_info",
120        "//java/dagger/internal/codegen:processor",
121        "//java/dagger/internal/codegen/base",
122        "//java/dagger/internal/codegen/binding",
123        "//java/dagger/internal/codegen/bindinggraphvalidation",
124        "//java/dagger/internal/codegen/compileroption",
125        "//java/dagger/internal/codegen/javapoet",
126        "//java/dagger/internal/codegen/langmodel",
127        "//java/dagger/internal/codegen/validation",
128        "//java/dagger/internal/codegen/writing",
129        "//java/dagger/model/testing",
130        "//java/dagger/producers",
131        "//java/dagger/spi",
132    ],
133    deps = [
134        "//third_party/java/guava/collect",
135        "//third_party/java/junit",
136        "//third_party/java/truth",
137        "@maven//:com_github_tschuchortdev_kotlin_compile_testing",
138    ],
139)
140