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# BUILD rules for https://github.com/google/auto 16*f585d8a3SJacky Wang 17*f585d8a3SJacky Wangload("@rules_java//java:defs.bzl", "java_library", "java_plugin") 18*f585d8a3SJacky Wang 19*f585d8a3SJacky Wangpackage(default_visibility = ["//:src"]) 20*f585d8a3SJacky Wang 21*f585d8a3SJacky Wangalias( 22*f585d8a3SJacky Wang name = "common", 23*f585d8a3SJacky Wang actual = "@maven//:com_google_auto_auto_common", 24*f585d8a3SJacky Wang) 25*f585d8a3SJacky Wang 26*f585d8a3SJacky Wangjava_plugin( 27*f585d8a3SJacky Wang name = "auto_value_processor", 28*f585d8a3SJacky Wang processor_class = "com.google.auto.value.processor.AutoValueProcessor", 29*f585d8a3SJacky Wang visibility = ["//visibility:private"], 30*f585d8a3SJacky Wang deps = [ 31*f585d8a3SJacky Wang ":common", 32*f585d8a3SJacky Wang ":service", 33*f585d8a3SJacky Wang "//third_party/java/guava", 34*f585d8a3SJacky Wang "@maven//:com_google_auto_value_auto_value", 35*f585d8a3SJacky Wang ], 36*f585d8a3SJacky Wang) 37*f585d8a3SJacky Wang 38*f585d8a3SJacky Wangjava_plugin( 39*f585d8a3SJacky Wang name = "auto_annotation_processor", 40*f585d8a3SJacky Wang processor_class = "com.google.auto.value.processor.AutoAnnotationProcessor", 41*f585d8a3SJacky Wang visibility = ["//visibility:private"], 42*f585d8a3SJacky Wang deps = [ 43*f585d8a3SJacky Wang ":common", 44*f585d8a3SJacky Wang ":service", 45*f585d8a3SJacky Wang "//third_party/java/guava", 46*f585d8a3SJacky Wang "@maven//:com_google_auto_value_auto_value", 47*f585d8a3SJacky Wang ], 48*f585d8a3SJacky Wang) 49*f585d8a3SJacky Wang 50*f585d8a3SJacky Wangjava_plugin( 51*f585d8a3SJacky Wang name = "auto_oneof_processor", 52*f585d8a3SJacky Wang processor_class = "com.google.auto.value.processor.AutoOneOfProcessor", 53*f585d8a3SJacky Wang visibility = ["//visibility:private"], 54*f585d8a3SJacky Wang deps = [ 55*f585d8a3SJacky Wang ":common", 56*f585d8a3SJacky Wang ":service", 57*f585d8a3SJacky Wang "//third_party/java/guava", 58*f585d8a3SJacky Wang "@maven//:com_google_auto_value_auto_value", 59*f585d8a3SJacky Wang ], 60*f585d8a3SJacky Wang) 61*f585d8a3SJacky Wang 62*f585d8a3SJacky Wangjava_library( 63*f585d8a3SJacky Wang name = "value", 64*f585d8a3SJacky Wang exported_plugins = [ 65*f585d8a3SJacky Wang ":auto_annotation_processor", 66*f585d8a3SJacky Wang ":auto_oneof_processor", 67*f585d8a3SJacky Wang ":auto_value_processor", 68*f585d8a3SJacky Wang ], 69*f585d8a3SJacky Wang tags = ["maven:compile_only"], 70*f585d8a3SJacky Wang exports = [ 71*f585d8a3SJacky Wang "//third_party/java/error_prone:annotations", 72*f585d8a3SJacky Wang "@maven//:com_google_auto_value_auto_value_annotations", 73*f585d8a3SJacky Wang ], 74*f585d8a3SJacky Wang) 75*f585d8a3SJacky Wang 76*f585d8a3SJacky Wangjava_plugin( 77*f585d8a3SJacky Wang name = "auto_factory_processor", 78*f585d8a3SJacky Wang generates_api = 1, 79*f585d8a3SJacky Wang processor_class = "com.google.auto.factory.processor.AutoFactoryProcessor", 80*f585d8a3SJacky Wang visibility = ["//visibility:private"], 81*f585d8a3SJacky Wang deps = [ 82*f585d8a3SJacky Wang ":common", 83*f585d8a3SJacky Wang ":service", 84*f585d8a3SJacky Wang "//third_party/java/google_java_format", 85*f585d8a3SJacky Wang "//third_party/java/guava", 86*f585d8a3SJacky Wang "//third_party/java/javapoet", 87*f585d8a3SJacky Wang "@maven//:com_google_auto_factory_auto_factory", 88*f585d8a3SJacky Wang ], 89*f585d8a3SJacky Wang) 90*f585d8a3SJacky Wang 91*f585d8a3SJacky Wangjava_library( 92*f585d8a3SJacky Wang name = "factory", 93*f585d8a3SJacky Wang exported_plugins = [":auto_factory_processor"], 94*f585d8a3SJacky Wang exports = ["@maven//:com_google_auto_factory_auto_factory"], 95*f585d8a3SJacky Wang) 96*f585d8a3SJacky Wang 97*f585d8a3SJacky Wangjava_plugin( 98*f585d8a3SJacky Wang name = "auto_service_processor", 99*f585d8a3SJacky Wang processor_class = "com.google.auto.service.processor.AutoServiceProcessor", 100*f585d8a3SJacky Wang visibility = ["//visibility:private"], 101*f585d8a3SJacky Wang deps = [ 102*f585d8a3SJacky Wang ":common", 103*f585d8a3SJacky Wang "//third_party/java/guava", 104*f585d8a3SJacky Wang "@maven//:com_google_auto_service_auto_service", 105*f585d8a3SJacky Wang "@maven//:com_google_auto_service_auto_service_annotations", 106*f585d8a3SJacky Wang ], 107*f585d8a3SJacky Wang) 108*f585d8a3SJacky Wang 109*f585d8a3SJacky Wangjava_library( 110*f585d8a3SJacky Wang name = "service", 111*f585d8a3SJacky Wang exported_plugins = [":auto_service_processor"], 112*f585d8a3SJacky Wang tags = ["maven:compile_only"], 113*f585d8a3SJacky Wang exports = ["@maven//:com_google_auto_service_auto_service_annotations"], 114*f585d8a3SJacky Wang) 115