91 lines
2.8 KiB
Python
91 lines
2.8 KiB
Python
# 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",
|
|
"javax.inject:javax.inject",
|
|
"org.jetbrains.kotlin:kotlin-stdlib",
|
|
"org.jetbrains.kotlin:kotlin-stdlib-jdk8",
|
|
],
|
|
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",
|
|
],
|
|
)
|