209 lines
6.6 KiB
Plaintext
209 lines
6.6 KiB
Plaintext
package {
|
|
default_applicable_licenses: ["external_kotlinx.coroutines_license"],
|
|
default_visibility: ["//visibility:private"],
|
|
}
|
|
|
|
// 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_kotlinx.coroutines_license",
|
|
visibility: [":__subpackages__"],
|
|
license_kinds: [
|
|
"SPDX-license-identifier-Apache-2.0",
|
|
"SPDX-license-identifier-MIT",
|
|
],
|
|
license_text: [
|
|
"LICENSE",
|
|
"LICENSE.txt",
|
|
"license/**/*",
|
|
],
|
|
}
|
|
|
|
// Upstream compiles this lib against the JVM bootclasspath; compiling against the Android
|
|
// bootclasspath will fail. Work around this by defining this as a java_library_host, and use
|
|
// java_host_for_device to expose it to Android targets.
|
|
java_library_host {
|
|
name: "kotlinx_coroutines-host",
|
|
srcs: ["kotlinx-coroutines-core/jvm/src/**/*.kt"],
|
|
common_srcs: [
|
|
"kotlinx-coroutines-core/common/src/**/*.kt",
|
|
"kotlinx-coroutines-core/concurrent/src/**/*.kt",
|
|
],
|
|
exclude_srcs: [
|
|
"kotlinx-coroutines-core/jvm/src/debug/**/*.kt",
|
|
"kotlinx-coroutines-core/jvm/src/test_/TestCoroutineContext.kt",
|
|
],
|
|
java_resource_dirs: ["kotlinx-coroutines-core/jvm/resources"],
|
|
static_libs: [
|
|
"kotlinx_atomicfu",
|
|
],
|
|
libs: [
|
|
"annotations", // for android.annotation.SuppressLint
|
|
"kotlinx-coroutines-android-annotation-stubs",
|
|
],
|
|
kotlincflags: [
|
|
"-Xmulti-platform",
|
|
"-opt-in=kotlin.RequiresOptIn",
|
|
"-opt-in=kotlin.experimental.ExperimentalTypeInference",
|
|
"-opt-in=kotlin.ExperimentalMultiplatform",
|
|
"-opt-in=kotlinx.coroutines.DelicateCoroutinesApi",
|
|
"-opt-in=kotlinx.coroutines.ExperimentalCoroutinesApi",
|
|
"-opt-in=kotlinx.coroutines.ObsoleteCoroutinesApi",
|
|
"-opt-in=kotlinx.coroutines.InternalCoroutinesApi",
|
|
"-opt-in=kotlinx.coroutines.FlowPreview",
|
|
],
|
|
apex_available: [
|
|
"//apex_available:platform",
|
|
"//apex_available:anyapex",
|
|
],
|
|
}
|
|
|
|
// Expose the host library to Android targets. This is generally an unsafe operation; in using
|
|
// this, we are asserting that any host-only code will never be evaluated at runtime on Android.
|
|
// If we're wrong, we will see runtime exceptions.
|
|
java_host_for_device {
|
|
name: "kotlinx_coroutines-device",
|
|
libs: ["kotlinx_coroutines-host"],
|
|
}
|
|
|
|
// Combine host and Android libs back into a single target.
|
|
java_library {
|
|
name: "kotlinx_coroutines",
|
|
host_supported: true,
|
|
sdk_version: "core_current",
|
|
min_sdk_version: "28",
|
|
target: {
|
|
host: {
|
|
static_libs: ["kotlinx_coroutines-host"],
|
|
},
|
|
android: {
|
|
static_libs: ["kotlinx_coroutines-device"],
|
|
},
|
|
},
|
|
apex_available: [
|
|
"//apex_available:platform",
|
|
"//apex_available:anyapex",
|
|
],
|
|
visibility: ["//visibility:public"],
|
|
}
|
|
|
|
java_library {
|
|
name: "kotlinx_coroutines_android",
|
|
sdk_version: "current",
|
|
min_sdk_version: "28",
|
|
srcs: ["ui/kotlinx-coroutines-android/src/**/*.kt"],
|
|
java_resource_dirs: ["ui/kotlinx-coroutines-android/resources"],
|
|
kotlincflags: [
|
|
"-opt-in=kotlinx.coroutines.InternalCoroutinesApi",
|
|
"-opt-in=kotlinx.coroutines.ExperimentalCoroutinesApi",
|
|
],
|
|
static_libs: [
|
|
"kotlinx_coroutines",
|
|
],
|
|
libs: [
|
|
"androidx.annotation_annotation",
|
|
],
|
|
apex_available: [
|
|
"//apex_available:platform",
|
|
"//apex_available:anyapex",
|
|
],
|
|
visibility: ["//visibility:public"],
|
|
}
|
|
|
|
java_library {
|
|
name: "kotlinx_coroutines_test",
|
|
host_supported: true,
|
|
srcs: ["kotlinx-coroutines-test/jvm/src/**/*.kt"],
|
|
common_srcs: ["kotlinx-coroutines-test/common/src/**/*.kt"],
|
|
java_resource_dirs: ["kotlinx-coroutines-test/jvm/resources"],
|
|
kotlincflags: [
|
|
"-Xmulti-platform",
|
|
"-opt-in=kotlin.ExperimentalMultiplatform",
|
|
"-opt-in=kotlinx.coroutines.InternalCoroutinesApi",
|
|
"-opt-in=kotlinx.coroutines.ExperimentalCoroutinesApi",
|
|
],
|
|
libs: ["kotlinx_coroutines"],
|
|
apex_available: [
|
|
"//apex_available:platform",
|
|
"//apex_available:anyapex",
|
|
],
|
|
visibility: ["//visibility:public"],
|
|
}
|
|
|
|
|
|
// Compile stub implementations of annotations used by kotlinx-coroutines but not present in the
|
|
// Android tree.
|
|
java_library {
|
|
name: "kotlinx-coroutines-android-annotation-stubs",
|
|
host_supported: true,
|
|
sdk_version: "core_current",
|
|
srcs: ["android-annotation-stubs/src/**/*.java"],
|
|
}
|
|
|
|
// Temporary aliases for kotlinx-coroutines-core, kotlinx-coroutines-core-jvm and
|
|
// kotlinx-coroutines-android
|
|
|
|
java_library {
|
|
name: "kotlinx-coroutines-core",
|
|
host_supported: true,
|
|
sdk_version: "core_current",
|
|
min_sdk_version: "28",
|
|
static_libs: ["kotlinx_coroutines"],
|
|
apex_available: [
|
|
"//apex_available:platform",
|
|
"//apex_available:anyapex",
|
|
],
|
|
visibility: ["//visibility:public"],
|
|
}
|
|
|
|
java_library {
|
|
name: "kotlinx-coroutines-core-jvm",
|
|
host_supported: true,
|
|
sdk_version: "core_current",
|
|
min_sdk_version: "28",
|
|
static_libs: ["kotlinx_coroutines"],
|
|
apex_available: [
|
|
"//apex_available:platform",
|
|
"//apex_available:anyapex",
|
|
],
|
|
visibility: ["//visibility:public"],
|
|
}
|
|
|
|
java_library {
|
|
name: "kotlinx-coroutines-android",
|
|
sdk_version: "current",
|
|
min_sdk_version: "28",
|
|
static_libs: [
|
|
"kotlinx_coroutines_android",
|
|
"kotlinx_coroutines",
|
|
],
|
|
apex_available: [
|
|
"//apex_available:platform",
|
|
"//apex_available:anyapex",
|
|
],
|
|
visibility: ["//visibility:public"],
|
|
}
|
|
|
|
filegroup {
|
|
name: "kotlinx-coroutines-play-services",
|
|
srcs: ["integration/kotlinx-coroutines-play-services/src/**/*.kt"],
|
|
visibility: ["//visibility:public"],
|
|
}
|