1*f585d8a3SJacky Wang# Copyright (C) 2021 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# Dagger's core APIs exposed for plugins 17*f585d8a3SJacky Wang 18*f585d8a3SJacky Wangload("@io_bazel_rules_kotlin//kotlin:kotlin.bzl", "kt_jvm_library") 19*f585d8a3SJacky Wang 20*f585d8a3SJacky Wangpackage(default_visibility = [ 21*f585d8a3SJacky Wang # The dagger/spi should be the only direct dependent on this target. 22*f585d8a3SJacky Wang # If you need to depend on :model, depend on dagger/spi instead so 23*f585d8a3SJacky Wang # that pom files correctly pick up the spi maven dependency. 24*f585d8a3SJacky Wang # TODO(bcorso): Consider if :model should have its own maven coordinates. 25*f585d8a3SJacky Wang "//java/dagger/spi:__pkg__", 26*f585d8a3SJacky Wang]) 27*f585d8a3SJacky Wang 28*f585d8a3SJacky Wangfilegroup( 29*f585d8a3SJacky Wang name = "model-srcs", 30*f585d8a3SJacky Wang srcs = glob([ 31*f585d8a3SJacky Wang "*.java", 32*f585d8a3SJacky Wang "*.kt", 33*f585d8a3SJacky Wang ]), 34*f585d8a3SJacky Wang) 35*f585d8a3SJacky Wang 36*f585d8a3SJacky Wangkt_jvm_library( 37*f585d8a3SJacky Wang name = "model", 38*f585d8a3SJacky Wang srcs = [":model-srcs"], 39*f585d8a3SJacky Wang # TODO(wanyingd): Add javacopts explicitly once kt_jvm_library supports them. 40*f585d8a3SJacky Wang deps = [ 41*f585d8a3SJacky Wang "//java/dagger:core", 42*f585d8a3SJacky Wang "//java/dagger/internal/codegen/extension", 43*f585d8a3SJacky Wang "//third_party/java/auto:common", 44*f585d8a3SJacky Wang "//third_party/java/auto:value", 45*f585d8a3SJacky Wang "//third_party/java/error_prone:annotations", 46*f585d8a3SJacky Wang "//third_party/java/guava/base", 47*f585d8a3SJacky Wang "//third_party/java/guava/collect", 48*f585d8a3SJacky Wang "//third_party/java/guava/graph", 49*f585d8a3SJacky Wang "//third_party/java/javapoet", 50*f585d8a3SJacky Wang "//third_party/java/jsr330_inject", 51*f585d8a3SJacky Wang "@maven//:com_google_devtools_ksp_symbol_processing_api", 52*f585d8a3SJacky Wang ], 53*f585d8a3SJacky Wang) 54*f585d8a3SJacky Wang 55*f585d8a3SJacky Wang# See: https://github.com/bazelbuild/rules_kotlin/issues/324 56*f585d8a3SJacky Wangalias( 57*f585d8a3SJacky Wang name = "libmodel-src.jar", 58*f585d8a3SJacky Wang actual = ":model-sources.jar", 59*f585d8a3SJacky Wang) 60