blob: 015e849dec41ff2577414edf9f2f1543c62f88b7 [file] [log] [blame]
# Copyright (C) 2017 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.
load("@rules_java//java:defs.bzl", "java_library")
load("@google_bazel_common//tools/javadoc:javadoc.bzl", "javadoc_library")
load("@google_bazel_common//tools/jarjar:jarjar.bzl", "jarjar_library")
load("@io_bazel_rules_kotlin//kotlin:kotlin.bzl", "define_kt_toolchain")
package(default_visibility = ["//visibility:public"])
define_kt_toolchain(
name = "kotlin_toolchain",
api_version = "1.4",
jvm_target = "1.8",
language_version = "1.4",
)
package_group(
name = "src",
packages = ["//..."],
)
java_library(
name = "dagger_with_compiler",
exported_plugins = ["//java/dagger/internal/codegen:component-codegen"],
exports = ["//java/dagger:core"],
)
java_library(
name = "producers_with_compiler",
exports = [
":dagger_with_compiler",
"//java/dagger/producers",
],
)
java_library(
name = "spi",
exports = ["//java/dagger/spi"],
)
java_library(
name = "compiler_internals",
exports = [
"//java/dagger/internal/codegen:processor",
"//java/dagger/internal/codegen/base",
"//java/dagger/internal/codegen/binding",
"//java/dagger/internal/codegen/validation",
"//java/dagger/internal/codegen/writing",
],
)
android_library(
name = "android",
exported_plugins = ["//java/dagger/android/processor:plugin"],
exports = ["//java/dagger/android"],
)
android_library(
name = "android-support",
exports = [
":android",
"//java/dagger/android/support",
],
)
jarjar_library(
name = "shaded_android_processor",
jars = [
"//java/dagger/android/processor",
"@maven//:com_google_auto_auto_common",
],
rules = [
"rule com.google.auto.common.** dagger.android.shaded.auto.common.@1",
],
)
jarjar_library(
name = "shaded_grpc_server_processor",
jars = [
"//java/dagger/grpc/server/processor",
"@maven//:com_google_auto_auto_common",
],
rules = [
"rule com.google.auto.common.** dagger.grpc.shaded.auto.common.@1",
],
)
# coalesced javadocs used for the gh-pages site
javadoc_library(
name = "user-docs",
testonly = 1,
srcs = [
"//java/dagger:javadoc-srcs",
"//java/dagger/android:android-srcs",
"//java/dagger/android/support:support-srcs",
"//java/dagger/grpc/server:javadoc-srcs",
"//java/dagger/grpc/server/processor:javadoc-srcs",
"//java/dagger/hilt:javadoc-srcs",
"//java/dagger/producers:producers-srcs",
"//java/dagger/spi:spi-srcs",
],
android_api_level = 30,
# TODO(ronshapiro): figure out how to specify the version number for release builds
doctitle = "Dagger Dependency Injection API",
exclude_packages = [
"dagger.hilt.android.internal",
"dagger.hilt.internal",
"dagger.internal",
"dagger.producers.internal",
"dagger.producers.monitoring.internal",
],
root_packages = ["dagger"],
deps = [
"//java/dagger:core",
"//java/dagger/android",
"//java/dagger/android/support",
"//java/dagger/grpc/server",
"//java/dagger/grpc/server/processor",
"//java/dagger/hilt/android:artifact-lib",
"//java/dagger/hilt/android/testing:artifact-lib",
"//java/dagger/producers",
"//java/dagger/spi",
],
)