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