You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
422 lines
13 KiB
422 lines
13 KiB
// Copyright (C) 2015 The Android Open Source Project
|
|
//
|
|
// 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.
|
|
|
|
package {
|
|
default_visibility: [":__subpackages__"],
|
|
default_applicable_licenses: ["external_dagger2_license"],
|
|
}
|
|
|
|
// Added automatically by a large-scale-change that took the approach of
|
|
// 'apply every license found to every target'. While this makes sure we respect
|
|
// every license restriction, it may not be entirely correct.
|
|
//
|
|
// e.g. GPL in an MIT project might only apply to the contrib/ directory.
|
|
//
|
|
// Please consider splitting the single license below into multiple licenses,
|
|
// taking care not to lose any license_kind information, and overriding the
|
|
// default license using the 'licenses: [...]' property on targets as needed.
|
|
//
|
|
// For unused files, consider creating a 'fileGroup' with "//visibility:private"
|
|
// to attach the license to, and including a comment whether the files may be
|
|
// used in the current project.
|
|
//
|
|
// large-scale-change included anything that looked like it might be a license
|
|
// text as a license_text. e.g. LICENSE, NOTICE, COPYING etc.
|
|
//
|
|
// Please consider removing redundant or irrelevant files from 'license_text:'.
|
|
// See: http://go/android-license-faq
|
|
license {
|
|
name: "external_dagger2_license",
|
|
visibility: [":__subpackages__"],
|
|
license_kinds: [
|
|
"SPDX-license-identifier-Apache-2.0",
|
|
"legacy_not_a_contribution",
|
|
],
|
|
license_text: [
|
|
"LICENSE.txt",
|
|
"NOTICE",
|
|
],
|
|
}
|
|
|
|
java_import_host {
|
|
name: "dagger2-bootstrap-compiler-jar",
|
|
jars: ["java/dagger/internal/codegen/bootstrap/bootstrap_compiler_deploy.jar"],
|
|
}
|
|
|
|
java_plugin {
|
|
name: "dagger2-bootstrap-compiler",
|
|
processor_class: "dagger.internal.codegen.ComponentProcessor",
|
|
generates_api: true,
|
|
static_libs: ["dagger2-bootstrap-compiler-jar"],
|
|
jarjar_rules: "jarjar-rules.txt",
|
|
}
|
|
|
|
java_library {
|
|
name: "dagger2",
|
|
visibility: ["//visibility:public"],
|
|
host_supported: true,
|
|
|
|
srcs: [
|
|
"java/dagger/*.java",
|
|
"java/dagger/assisted/*.java",
|
|
"java/dagger/internal/*.java",
|
|
"java/dagger/multibindings/*.java",
|
|
"java/dagger/releasablereferences/*.java",
|
|
],
|
|
exclude_srcs: ["java/dagger/android/**/*.java"],
|
|
|
|
libs: [
|
|
"guava",
|
|
"jsr330",
|
|
],
|
|
|
|
java_version: "1.8",
|
|
sdk_version: "core_current",
|
|
}
|
|
|
|
// build dagger2 producers library
|
|
// ============================================================
|
|
|
|
java_library {
|
|
name: "dagger2-producers",
|
|
host_supported: true,
|
|
|
|
srcs: ["java/dagger/producers/**/*.java"],
|
|
|
|
static_libs: [
|
|
"error_prone_annotations",
|
|
],
|
|
|
|
libs: [
|
|
"dagger2",
|
|
"dagger2-android-annotation-stubs",
|
|
"guava",
|
|
"jsr330",
|
|
],
|
|
|
|
java_version: "1.8",
|
|
sdk_version: "core_current",
|
|
}
|
|
|
|
// build dagger2 compiler plugin
|
|
// ============================================================
|
|
|
|
java_plugin {
|
|
name: "dagger2-compiler",
|
|
visibility: ["//visibility:public"],
|
|
processor_class: "dagger.internal.codegen.ComponentProcessor",
|
|
generates_api: true,
|
|
static_libs: ["dagger2-compiler-lib"],
|
|
// shade guava to avoid conflicts with guava embedded in Error Prone.
|
|
jarjar_rules: "jarjar-rules.txt",
|
|
}
|
|
|
|
java_library_host {
|
|
name: "dagger2-compiler-lib",
|
|
use_tools_jar: true,
|
|
|
|
srcs: [
|
|
"java/dagger/internal/codegen/**/*.java",
|
|
"java/dagger/internal/codegen/**/*.proto",
|
|
|
|
"java/dagger/model/*.java",
|
|
"java/dagger/spi/*.java",
|
|
],
|
|
|
|
exclude_srcs: [
|
|
"java/dagger/internal/codegen/BindingGraphStatisticsCollector.java",
|
|
"java/dagger/internal/codegen/kythe/DaggerKythePlugin.java",
|
|
],
|
|
|
|
// Manually include META-INF/services/javax.annotation.processing.Processor
|
|
// as the AutoService processor doesn't work properly.
|
|
java_resource_dirs: ["resources"],
|
|
|
|
static_libs: [
|
|
"auto_common",
|
|
"dagger2",
|
|
"dagger2-producers",
|
|
"google_java_format",
|
|
"guava",
|
|
"javapoet",
|
|
"jsr330",
|
|
"kotlin-stdlib",
|
|
"kotlinx_metadata_jvm",
|
|
],
|
|
|
|
|
|
libs: [
|
|
"auto_factory_annotations",
|
|
"auto_service_annotations",
|
|
"auto_value_annotations",
|
|
"auto_value_memoized_extension_annotations",
|
|
"dagger2-android-annotation-stubs",
|
|
],
|
|
|
|
plugins: [
|
|
"auto_factory_plugin",
|
|
"auto_service_plugin",
|
|
"auto_value_plugin",
|
|
"auto_value_memoized_extension_plugin",
|
|
"auto_annotation_plugin",
|
|
"dagger2-bootstrap-compiler",
|
|
],
|
|
|
|
proto: {
|
|
type: "full",
|
|
include_dirs: ["external/protobuf/src/"],
|
|
},
|
|
|
|
java_version: "1.8",
|
|
}
|
|
|
|
// Compile dummy implementations of annotations used by dagger2 but not
|
|
// present in the Android tree.
|
|
java_library {
|
|
name: "dagger2-android-annotation-stubs",
|
|
host_supported: true,
|
|
sdk_version: "core_current",
|
|
srcs: ["android-annotation-stubs/src/**/*.java"],
|
|
}
|
|
|
|
// build core hilt library
|
|
|
|
java_library {
|
|
name: "hilt_core",
|
|
srcs: [
|
|
"java/dagger/hilt/*.java",
|
|
"java/dagger/hilt/codegen/*.java",
|
|
"java/dagger/hilt/components/*.java",
|
|
"java/dagger/hilt/internal/*.java",
|
|
"java/dagger/hilt/internal/aliasof/*.java",
|
|
"java/dagger/hilt/internal/definecomponent/*.java",
|
|
"java/dagger/hilt/internal/generatesrootinput/*.java",
|
|
"java/dagger/hilt/migration/*.java",
|
|
"java/dagger/hilt/processor/internal/aggregateddeps/AggregatedDeps.java",
|
|
],
|
|
static_libs: [
|
|
"jsr305",
|
|
"jsr330",
|
|
"dagger2",
|
|
],
|
|
sdk_version: "core_current",
|
|
plugins: [
|
|
"hilt_define_component_processor",
|
|
"hilt_generates_root_input_processor",
|
|
],
|
|
}
|
|
|
|
// Build the android hilt library. Depending on this will enable the Hilt annotation processors.
|
|
|
|
android_library {
|
|
name: "hilt_android",
|
|
visibility: ["//visibility:public"],
|
|
|
|
srcs: [
|
|
"java/dagger/hilt/android/*.java",
|
|
"java/dagger/hilt/android/components/*.java",
|
|
"java/dagger/hilt/android/migration/*.java",
|
|
"java/dagger/hilt/android/qualifiers/*.java",
|
|
"java/dagger/hilt/android/scopes/*.java",
|
|
"java/dagger/hilt/android/internal/*.java",
|
|
"java/dagger/hilt/android/internal/builders/*.java",
|
|
"java/dagger/hilt/android/internal/lifecycle/*.java",
|
|
"java/dagger/hilt/android/internal/managers/*.java",
|
|
"java/dagger/hilt/android/internal/migration/*.java",
|
|
"java/dagger/hilt/android/internal/modules/*.java",
|
|
"java/dagger/hilt/android/lifecycle/*.java",
|
|
],
|
|
manifest: "java/dagger/hilt/android/AndroidManifest.xml",
|
|
static_libs: [
|
|
"androidx.annotation_annotation",
|
|
"androidx.fragment_fragment",
|
|
"jsr305",
|
|
"jsr330",
|
|
"dagger2",
|
|
"hilt_core",
|
|
],
|
|
sdk_version: "current",
|
|
min_sdk_version: "14",
|
|
plugins: [
|
|
"dagger2-compiler",
|
|
"hilt_android_entry_point_processor",
|
|
"hilt_aggregated_deps_processor",
|
|
"hilt_define_component_processor",
|
|
"hilt_generates_root_input_processor",
|
|
"hilt_originating_element_processor",
|
|
"hilt_root_processor",
|
|
],
|
|
exported_plugins: [
|
|
"dagger2-compiler",
|
|
"hilt_android_entry_point_processor",
|
|
"hilt_aggregated_deps_processor",
|
|
"hilt_alias_of_processor",
|
|
"hilt_define_component_processor",
|
|
"hilt_generates_root_input_processor",
|
|
"hilt_originating_element_processor",
|
|
"hilt_root_processor",
|
|
"hilt_viewmodel_processor",
|
|
],
|
|
}
|
|
|
|
android_library {
|
|
name: "hilt_android_testing",
|
|
visibility: ["//visibility:public"],
|
|
|
|
srcs: [
|
|
"java/dagger/hilt/android/internal/testing/*.java",
|
|
"java/dagger/hilt/android/testing/*.java",
|
|
],
|
|
manifest: "java/dagger/hilt/android/testing/AndroidManifest.xml",
|
|
static_libs: [
|
|
"auto_value_annotations",
|
|
"androidx.annotation_annotation",
|
|
"androidx.fragment_fragment",
|
|
"androidx.annotation_annotation",
|
|
"androidx.fragment_fragment",
|
|
"androidx.test.core",
|
|
"android-support-multidex",
|
|
"jsr305",
|
|
"dagger2",
|
|
"hilt_core",
|
|
"junit",
|
|
],
|
|
sdk_version: "current",
|
|
min_sdk_version: "14",
|
|
plugins: [
|
|
"auto_value_plugin",
|
|
"dagger2-compiler",
|
|
"hilt_generates_root_input_processor",
|
|
],
|
|
exported_plugins: [
|
|
"dagger2-compiler",
|
|
"hilt_android_entry_point_processor",
|
|
"hilt_aggregated_deps_processor",
|
|
"hilt_define_component_processor",
|
|
"hilt_generates_root_input_processor",
|
|
"hilt_originating_element_processor",
|
|
"hilt_root_processor",
|
|
"hilt_viewmodel_processor",
|
|
"hilt_custom_test_application_processor",
|
|
"hilt_bindvalue_processor",
|
|
"hilt_uninstall_modules_processor",
|
|
],
|
|
}
|
|
|
|
// Hilt has many annotation processors. To reduce compilation and runtime cost, they are all compiled
|
|
// into hilt_android_processors. A java_plugin can only expose a single processor class, so each has
|
|
// to be defined separately. Since they are not visible outside this package and will always be
|
|
// exported together, only the first actually contains the annotation processor classes.
|
|
java_plugin {
|
|
name: "hilt_generates_root_input_processor",
|
|
generates_api: true,
|
|
processor_class: "dagger.hilt.processor.internal.generatesrootinput.GeneratesRootInputProcessor",
|
|
static_libs: ["hilt_android_processors"],
|
|
}
|
|
|
|
java_plugin {
|
|
name: "hilt_android_entry_point_processor",
|
|
generates_api: true,
|
|
processor_class: "dagger.hilt.android.processor.internal.androidentrypoint.AndroidEntryPointProcessor",
|
|
}
|
|
|
|
java_plugin {
|
|
name: "hilt_aggregated_deps_processor",
|
|
generates_api: true,
|
|
processor_class: "dagger.hilt.processor.internal.aggregateddeps.AggregatedDepsProcessor",
|
|
}
|
|
|
|
java_plugin {
|
|
name: "hilt_alias_of_processor",
|
|
generates_api: true,
|
|
processor_class: "dagger.hilt.processor.internal.aliasof.AliasOfProcessor",
|
|
}
|
|
|
|
java_plugin {
|
|
name: "hilt_define_component_processor",
|
|
generates_api: true,
|
|
processor_class: "dagger.hilt.processor.internal.definecomponent.DefineComponentProcessor",
|
|
}
|
|
|
|
java_plugin {
|
|
name: "hilt_originating_element_processor",
|
|
generates_api: true,
|
|
processor_class: "dagger.hilt.processor.internal.originatingelement.OriginatingElementProcessor",
|
|
}
|
|
|
|
java_plugin {
|
|
name: "hilt_root_processor",
|
|
generates_api: true,
|
|
processor_class: "dagger.hilt.processor.internal.root.RootProcessor",
|
|
}
|
|
|
|
java_plugin {
|
|
name: "hilt_viewmodel_processor",
|
|
generates_api: true,
|
|
processor_class: "dagger.hilt.android.processor.internal.viewmodel.ViewModelProcessor",
|
|
}
|
|
|
|
// Hilt testing processors
|
|
java_plugin {
|
|
name: "hilt_custom_test_application_processor",
|
|
generates_api: true,
|
|
processor_class: "dagger.hilt.android.processor.internal.customtestapplication.CustomTestApplicationProcessor",
|
|
}
|
|
|
|
java_plugin {
|
|
name: "hilt_bindvalue_processor",
|
|
generates_api: true,
|
|
processor_class: "dagger.hilt.android.processor.internal.bindvalue.BindValueProcessor",
|
|
}
|
|
|
|
java_plugin {
|
|
name: "hilt_uninstall_modules_processor",
|
|
generates_api: true,
|
|
processor_class: "dagger.hilt.android.processor.internal.uninstallmodules.UninstallModulesProcessor",
|
|
}
|
|
|
|
java_library_host {
|
|
name: "hilt_android_processors",
|
|
use_tools_jar: true,
|
|
srcs: [
|
|
"java/dagger/hilt/android/processor/**/*.java",
|
|
"java/dagger/hilt/android/processor/**/*.kt",
|
|
"java/dagger/hilt/codegen/*.java",
|
|
"java/dagger/hilt/processor/internal/**/*.java",
|
|
],
|
|
plugins: [
|
|
"auto_service_plugin",
|
|
"auto_value_plugin",
|
|
"auto_value_memoized_extension_plugin",
|
|
"dagger2-compiler",
|
|
],
|
|
static_libs: [
|
|
"auto_common",
|
|
"auto_service_annotations",
|
|
"auto_value_annotations",
|
|
"auto_value_memoized_extension_annotations",
|
|
"guava",
|
|
"jsr305",
|
|
"dagger2-compiler-lib",
|
|
"dagger2",
|
|
"javapoet",
|
|
"jsr330",
|
|
"kotlin-stdlib",
|
|
"kotlinx_metadata_jvm",
|
|
"dagger2-android-annotation-stubs",
|
|
],
|
|
// shade guava to avoid conflicts with guava embedded in Error Prone.
|
|
jarjar_rules: "jarjar-rules.txt",
|
|
}
|