1*f585d8a3SJacky Wang# Copyright (C) 2019 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# Functional test code for Dagger-Android 17*f585d8a3SJacky Wang 18*f585d8a3SJacky Wangload("@rules_java//java:defs.bzl", "java_library") 19*f585d8a3SJacky Wangload("@io_bazel_rules_kotlin//kotlin:kotlin.bzl", "kt_jvm_library") 20*f585d8a3SJacky Wangload("//:test_defs.bzl", "GenJavaTests") 21*f585d8a3SJacky Wang 22*f585d8a3SJacky Wangpackage(default_visibility = ["//:src"]) 23*f585d8a3SJacky Wang 24*f585d8a3SJacky WangGenJavaTests( 25*f585d8a3SJacky Wang name = "PropertyQualifierTest", 26*f585d8a3SJacky Wang srcs = ["PropertyQualifierTest.java"], 27*f585d8a3SJacky Wang functional = True, 28*f585d8a3SJacky Wang test_only_deps = [ 29*f585d8a3SJacky Wang "//third_party/java/guava/base", 30*f585d8a3SJacky Wang "//third_party/java/guava/collect", 31*f585d8a3SJacky Wang "//third_party/java/junit", 32*f585d8a3SJacky Wang "//third_party/java/truth", 33*f585d8a3SJacky Wang ], 34*f585d8a3SJacky Wang deps = [ 35*f585d8a3SJacky Wang ":FooWithInjectedQualifier", 36*f585d8a3SJacky Wang ":PropertyQualifierClasses", 37*f585d8a3SJacky Wang ], 38*f585d8a3SJacky Wang) 39*f585d8a3SJacky Wang 40*f585d8a3SJacky Wangkt_jvm_library( 41*f585d8a3SJacky Wang name = "PropertyQualifierClasses", 42*f585d8a3SJacky Wang srcs = ["PropertyQualifierClasses.kt"], 43*f585d8a3SJacky Wang # TODO(danysantiago): Remove 'plugins' once kt_jvm_library supports 'exported_plugins'. 44*f585d8a3SJacky Wang plugins = ["//javatests/dagger/functional/kotlin/processor:plugin"], 45*f585d8a3SJacky Wang deps = [ 46*f585d8a3SJacky Wang ":FooWithInjectedQualifier", 47*f585d8a3SJacky Wang ":java_qualifier", 48*f585d8a3SJacky Wang "//:dagger_with_compiler", 49*f585d8a3SJacky Wang "//javatests/dagger/functional/kotlin/processor:annotation", 50*f585d8a3SJacky Wang ], 51*f585d8a3SJacky Wang) 52*f585d8a3SJacky Wang 53*f585d8a3SJacky Wangkt_jvm_library( 54*f585d8a3SJacky Wang name = "FooWithInjectedQualifier", 55*f585d8a3SJacky Wang srcs = ["FooWithInjectedQualifier.kt"], 56*f585d8a3SJacky Wang deps = [ 57*f585d8a3SJacky Wang ":java_qualifier", 58*f585d8a3SJacky Wang "//:dagger_with_compiler", 59*f585d8a3SJacky Wang ], 60*f585d8a3SJacky Wang) 61*f585d8a3SJacky Wang 62*f585d8a3SJacky Wangjava_library( 63*f585d8a3SJacky Wang name = "java_qualifier", 64*f585d8a3SJacky Wang srcs = [ 65*f585d8a3SJacky Wang "JavaTestQualifier.java", 66*f585d8a3SJacky Wang "JavaTestQualifierWithTarget.java", 67*f585d8a3SJacky Wang ], 68*f585d8a3SJacky Wang deps = [ 69*f585d8a3SJacky Wang "//:dagger_with_compiler", 70*f585d8a3SJacky Wang ], 71*f585d8a3SJacky Wang) 72*f585d8a3SJacky Wang 73*f585d8a3SJacky WangGenJavaTests( 74*f585d8a3SJacky Wang name = "ObjectModuleTest", 75*f585d8a3SJacky Wang srcs = ["ObjectModuleTest.java"], 76*f585d8a3SJacky Wang functional = True, 77*f585d8a3SJacky Wang test_only_deps = [ 78*f585d8a3SJacky Wang "//third_party/java/guava/base", 79*f585d8a3SJacky Wang "//third_party/java/guava/collect", 80*f585d8a3SJacky Wang "//third_party/java/junit", 81*f585d8a3SJacky Wang "//third_party/java/truth", 82*f585d8a3SJacky Wang ], 83*f585d8a3SJacky Wang deps = [ 84*f585d8a3SJacky Wang ":ObjectModuleClasses", 85*f585d8a3SJacky Wang ], 86*f585d8a3SJacky Wang) 87*f585d8a3SJacky Wang 88*f585d8a3SJacky Wangkt_jvm_library( 89*f585d8a3SJacky Wang name = "ObjectModuleClasses", 90*f585d8a3SJacky Wang srcs = [ 91*f585d8a3SJacky Wang "ObjectModuleClasses.kt", 92*f585d8a3SJacky Wang "PublicModuleWithNonPublicInclude.java", 93*f585d8a3SJacky Wang ], 94*f585d8a3SJacky Wang # TODO(danysantiago): Remove 'plugins' once kt_jvm_library supports 'exported_plugins'. 95*f585d8a3SJacky Wang plugins = ["//javatests/dagger/functional/kotlin/processor:plugin"], 96*f585d8a3SJacky Wang deps = [ 97*f585d8a3SJacky Wang "//:dagger_with_compiler", 98*f585d8a3SJacky Wang ], 99*f585d8a3SJacky Wang) 100*f585d8a3SJacky Wang 101*f585d8a3SJacky WangGenJavaTests( 102*f585d8a3SJacky Wang name = "DependsOnGeneratedCodeTest", 103*f585d8a3SJacky Wang srcs = ["DependsOnGeneratedCodeTest.java"], 104*f585d8a3SJacky Wang functional = True, 105*f585d8a3SJacky Wang test_only_deps = [ 106*f585d8a3SJacky Wang "//third_party/java/guava/base", 107*f585d8a3SJacky Wang "//third_party/java/guava/collect", 108*f585d8a3SJacky Wang "//third_party/java/junit", 109*f585d8a3SJacky Wang "//third_party/java/truth", 110*f585d8a3SJacky Wang ], 111*f585d8a3SJacky Wang deps = [ 112*f585d8a3SJacky Wang ":DependsOnGeneratedCodeClasses", 113*f585d8a3SJacky Wang ], 114*f585d8a3SJacky Wang) 115*f585d8a3SJacky Wang 116*f585d8a3SJacky Wangkt_jvm_library( 117*f585d8a3SJacky Wang name = "DependsOnGeneratedCodeClasses", 118*f585d8a3SJacky Wang srcs = ["DependsOnGeneratedCodeClasses.kt"], 119*f585d8a3SJacky Wang # TODO(danysantiago): Remove 'plugins' once kt_jvm_library supports 'exported_plugins'. 120*f585d8a3SJacky Wang plugins = ["//javatests/dagger/functional/kotlin/processor:plugin"], 121*f585d8a3SJacky Wang deps = [ 122*f585d8a3SJacky Wang "//:dagger_with_compiler", 123*f585d8a3SJacky Wang "//third_party/java/auto:factory", 124*f585d8a3SJacky Wang ], 125*f585d8a3SJacky Wang) 126*f585d8a3SJacky Wang 127*f585d8a3SJacky WangGenJavaTests( 128*f585d8a3SJacky Wang name = "CompanionModuleTest", 129*f585d8a3SJacky Wang srcs = ["CompanionModuleTest.java"], 130*f585d8a3SJacky Wang functional = True, 131*f585d8a3SJacky Wang test_only_deps = [ 132*f585d8a3SJacky Wang "//third_party/java/guava/base", 133*f585d8a3SJacky Wang "//third_party/java/guava/collect", 134*f585d8a3SJacky Wang "//third_party/java/junit", 135*f585d8a3SJacky Wang "//third_party/java/truth", 136*f585d8a3SJacky Wang ], 137*f585d8a3SJacky Wang deps = [ 138*f585d8a3SJacky Wang ":CompanionModuleClasses", 139*f585d8a3SJacky Wang ], 140*f585d8a3SJacky Wang) 141*f585d8a3SJacky Wang 142*f585d8a3SJacky Wangkt_jvm_library( 143*f585d8a3SJacky Wang name = "CompanionModuleClasses", 144*f585d8a3SJacky Wang srcs = ["CompanionModuleClasses.kt"], 145*f585d8a3SJacky Wang # TODO(danysantiago): Remove 'plugins' once kt_jvm_library supports 'exported_plugins'. 146*f585d8a3SJacky Wang plugins = ["//javatests/dagger/functional/kotlin/processor:plugin"], 147*f585d8a3SJacky Wang deps = [ 148*f585d8a3SJacky Wang "//:dagger_with_compiler", 149*f585d8a3SJacky Wang ], 150*f585d8a3SJacky Wang) 151