xref: /aosp_15_r20/external/lottie/Android.bp (revision bb5273fecd5c61b9ace70f9ff4fcd88f0e12e3f7)
1*bb5273feSAndroid Build Coastguard Workerpackage {
2*bb5273feSAndroid Build Coastguard Worker    default_applicable_licenses: ["external_lottie_license"],
3*bb5273feSAndroid Build Coastguard Worker}
4*bb5273feSAndroid Build Coastguard Worker
5*bb5273feSAndroid Build Coastguard Worker// Added automatically by a large-scale-change that took the approach of
6*bb5273feSAndroid Build Coastguard Worker// 'apply every license found to every target'. While this makes sure we respect
7*bb5273feSAndroid Build Coastguard Worker// every license restriction, it may not be entirely correct.
8*bb5273feSAndroid Build Coastguard Worker//
9*bb5273feSAndroid Build Coastguard Worker// e.g. GPL in an MIT project might only apply to the contrib/ directory.
10*bb5273feSAndroid Build Coastguard Worker//
11*bb5273feSAndroid Build Coastguard Worker// Please consider splitting the single license below into multiple licenses,
12*bb5273feSAndroid Build Coastguard Worker// taking care not to lose any license_kind information, and overriding the
13*bb5273feSAndroid Build Coastguard Worker// default license using the 'licenses: [...]' property on targets as needed.
14*bb5273feSAndroid Build Coastguard Worker//
15*bb5273feSAndroid Build Coastguard Worker// For unused files, consider creating a 'fileGroup' with "//visibility:private"
16*bb5273feSAndroid Build Coastguard Worker// to attach the license to, and including a comment whether the files may be
17*bb5273feSAndroid Build Coastguard Worker// used in the current project.
18*bb5273feSAndroid Build Coastguard Worker// See: http://go/android-license-faq
19*bb5273feSAndroid Build Coastguard Workerlicense {
20*bb5273feSAndroid Build Coastguard Worker    name: "external_lottie_license",
21*bb5273feSAndroid Build Coastguard Worker    visibility: [":__subpackages__"],
22*bb5273feSAndroid Build Coastguard Worker    license_kinds: [
23*bb5273feSAndroid Build Coastguard Worker        "SPDX-license-identifier-Apache-2.0",
24*bb5273feSAndroid Build Coastguard Worker    ],
25*bb5273feSAndroid Build Coastguard Worker    license_text: [
26*bb5273feSAndroid Build Coastguard Worker        "LICENSE",
27*bb5273feSAndroid Build Coastguard Worker    ],
28*bb5273feSAndroid Build Coastguard Worker}
29*bb5273feSAndroid Build Coastguard Worker
30*bb5273feSAndroid Build Coastguard Workerlicense {
31*bb5273feSAndroid Build Coastguard Worker    name: "external_lottie_code_of_conduct_license",
32*bb5273feSAndroid Build Coastguard Worker    visibility: ["//visibility:private"],
33*bb5273feSAndroid Build Coastguard Worker    license_kinds: [
34*bb5273feSAndroid Build Coastguard Worker        "SPDX-license-identifier-CC-BY-SA",
35*bb5273feSAndroid Build Coastguard Worker    ],
36*bb5273feSAndroid Build Coastguard Worker    license_text: [
37*bb5273feSAndroid Build Coastguard Worker        "LICENSE-CC-BY-SA",
38*bb5273feSAndroid Build Coastguard Worker    ],
39*bb5273feSAndroid Build Coastguard Worker}
40*bb5273feSAndroid Build Coastguard Worker
41*bb5273feSAndroid Build Coastguard Workerfilegroup {
42*bb5273feSAndroid Build Coastguard Worker    name: "lottie_code_of_conduct",
43*bb5273feSAndroid Build Coastguard Worker    visibility: ["//visibility:private"],
44*bb5273feSAndroid Build Coastguard Worker    srcs: [
45*bb5273feSAndroid Build Coastguard Worker        "CODE_OF_CONDUCT.md",
46*bb5273feSAndroid Build Coastguard Worker    ],
47*bb5273feSAndroid Build Coastguard Worker    licenses: ["external_lottie_code_of_conduct_license"],
48*bb5273feSAndroid Build Coastguard Worker}
49*bb5273feSAndroid Build Coastguard Worker
50*bb5273feSAndroid Build Coastguard Workerandroid_manifest_package_attribute = "\"com.airbnb.lottie\""
51*bb5273feSAndroid Build Coastguard Worker
52*bb5273feSAndroid Build Coastguard Workergenrule {
53*bb5273feSAndroid Build Coastguard Worker    name: "AddPackageAttributeToAndroidManifest",
54*bb5273feSAndroid Build Coastguard Worker    srcs: [
55*bb5273feSAndroid Build Coastguard Worker        "lottie/src/main/AndroidManifest.xml"
56*bb5273feSAndroid Build Coastguard Worker    ],
57*bb5273feSAndroid Build Coastguard Worker    out: [
58*bb5273feSAndroid Build Coastguard Worker        "lottie/src/main/AndroidManifestGen.xml",
59*bb5273feSAndroid Build Coastguard Worker    ],
60*bb5273feSAndroid Build Coastguard Worker    cmd: "sed -E 's/<manifest>/<manifest package="
61*bb5273feSAndroid Build Coastguard Worker    + android_manifest_package_attribute
62*bb5273feSAndroid Build Coastguard Worker    + ">/g' $(in) > $(out)",
63*bb5273feSAndroid Build Coastguard Worker}
64*bb5273feSAndroid Build Coastguard Worker
65*bb5273feSAndroid Build Coastguard Workerandroid_library {
66*bb5273feSAndroid Build Coastguard Worker    name: "lottie",
67*bb5273feSAndroid Build Coastguard Worker    srcs: [
68*bb5273feSAndroid Build Coastguard Worker        "lottie/src/main/**/*.java",
69*bb5273feSAndroid Build Coastguard Worker    ],
70*bb5273feSAndroid Build Coastguard Worker    apex_available: [
71*bb5273feSAndroid Build Coastguard Worker        "//apex_available:platform",
72*bb5273feSAndroid Build Coastguard Worker        "com.android.permission",
73*bb5273feSAndroid Build Coastguard Worker    ],
74*bb5273feSAndroid Build Coastguard Worker    resource_dirs: ["lottie/src/main/res/"],
75*bb5273feSAndroid Build Coastguard Worker    static_libs: [
76*bb5273feSAndroid Build Coastguard Worker        "androidx.appcompat_appcompat",
77*bb5273feSAndroid Build Coastguard Worker        "okio-lib",
78*bb5273feSAndroid Build Coastguard Worker    ],
79*bb5273feSAndroid Build Coastguard Worker    manifest: ":AddPackageAttributeToAndroidManifest",
80*bb5273feSAndroid Build Coastguard Worker    sdk_version: "31",
81*bb5273feSAndroid Build Coastguard Worker    min_sdk_version: "21",
82*bb5273feSAndroid Build Coastguard Worker    java_version: "1.8",
83*bb5273feSAndroid Build Coastguard Worker    optimize: {
84*bb5273feSAndroid Build Coastguard Worker        proguard_flags_files: ["proguard.flags"],
85*bb5273feSAndroid Build Coastguard Worker    },
86*bb5273feSAndroid Build Coastguard Worker    // https://github.com/airbnb/lottie-android/issues/2502
87*bb5273feSAndroid Build Coastguard Worker    errorprone: {
88*bb5273feSAndroid Build Coastguard Worker        enabled: false,
89*bb5273feSAndroid Build Coastguard Worker    },
90*bb5273feSAndroid Build Coastguard Worker}
91*bb5273feSAndroid Build Coastguard Worker
92*bb5273feSAndroid Build Coastguard Workerjava_library {
93*bb5273feSAndroid Build Coastguard Worker    name: "lottie_compose",
94*bb5273feSAndroid Build Coastguard Worker    srcs: [
95*bb5273feSAndroid Build Coastguard Worker        "lottie-compose/src/main/java/**/*.kt",
96*bb5273feSAndroid Build Coastguard Worker    ],
97*bb5273feSAndroid Build Coastguard Worker    static_libs: [
98*bb5273feSAndroid Build Coastguard Worker        "lottie",
99*bb5273feSAndroid Build Coastguard Worker        "androidx.compose.foundation_foundation",
100*bb5273feSAndroid Build Coastguard Worker        "androidx.compose.runtime_runtime",
101*bb5273feSAndroid Build Coastguard Worker        "androidx.compose.ui_ui",
102*bb5273feSAndroid Build Coastguard Worker    ],
103*bb5273feSAndroid Build Coastguard Worker    sdk_version: "current",
104*bb5273feSAndroid Build Coastguard Worker    min_sdk_version: "21",
105*bb5273feSAndroid Build Coastguard Worker    kotlincflags: [
106*bb5273feSAndroid Build Coastguard Worker        "-Xjvm-default=all",
107*bb5273feSAndroid Build Coastguard Worker        "-Xopt-in=kotlin.RequiresOptIn",
108*bb5273feSAndroid Build Coastguard Worker    ],
109*bb5273feSAndroid Build Coastguard Worker}
110