blob: 0e18ca6b9d325168fd14de331b297eb9262ce783 [file] [log] [blame]
# Copyright (C) 2018 The Dagger Authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Description:
# The Service Provider Interface for Dagger's binding graph model
load("@rules_java//java:defs.bzl", "java_library")
load(
"//:build_defs.bzl",
"DOCLINT_HTML_AND_SYNTAX",
"DOCLINT_REFERENCES",
"POM_VERSION",
)
load("//tools:maven.bzl", "gen_maven_artifact")
package(default_visibility = ["//:src"])
filegroup(
name = "spi-srcs",
srcs = glob(["*.java"]) + [
"//java/dagger/model:model-srcs",
"//java/dagger/spi/model:model-srcs",
],
)
java_library(
name = "spi",
srcs = glob(["*.java"]),
javacopts = DOCLINT_HTML_AND_SYNTAX + DOCLINT_REFERENCES,
tags = ["maven_coordinates=com.google.dagger:dagger-spi:" + POM_VERSION],
exports = [
"//java/dagger/model",
"//java/dagger/spi/model",
],
deps = [
"//java/dagger:core",
"//java/dagger/model",
"//third_party/java/auto:value",
"//third_party/java/error_prone:annotations",
],
)
gen_maven_artifact(
name = "artifact",
artifact_coordinates = "com.google.dagger:dagger-spi:" + POM_VERSION,
artifact_name = "Dagger SPI",
artifact_target = ":spi",
artifact_target_libs = [
"//java/dagger/internal/codegen/extension",
"//java/dagger/internal/codegen/xprocessing",
"//java/dagger/model",
"//java/dagger/spi/model",
],
artifact_target_maven_deps = [
"com.google.auto:auto-common",
"com.google.code.findbugs:jsr305",
"com.google.dagger:dagger-producers",
"com.google.dagger:dagger",
"com.google.devtools.ksp:symbol-processing-api",
"com.google.guava:failureaccess",
"com.google.guava:guava",
"com.squareup:javapoet",
"com.squareup:kotlinpoet",
"javax.inject:javax.inject",
"org.jetbrains.kotlin:kotlin-stdlib",
],
javadoc_root_packages = [
"dagger.model",
"dagger.spi",
],
javadoc_srcs = [":spi-srcs"],
# The shaded deps are added using jarjar, but they won't be shaded until later
# due to: https://github.com/google/dagger/issues/2765. For the shaded rules see
# util/deploy-dagger.sh
shaded_deps = [
"//third_party/java/auto:common",
"//java/dagger/internal/codegen/xprocessing:xprocessing-jar",
],
)