1// 2// Copyright (C) 2019 The Android Open Source Project 3// 4// Licensed under the Apache License, Version 2.0 (the "License"); 5// you may not use this file except in compliance with the License. 6// You may obtain a copy of the License at 7// 8// http://www.apache.org/licenses/LICENSE-2.0 9// 10// Unless required by applicable law or agreed to in writing, software 11// distributed under the License is distributed on an "AS IS" BASIS, 12// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13// See the License for the specific language governing permissions and 14// limitations under the License. 15// 16 17// README: 18// - Before expanding the visiblity of any of the targets in this file, 19// please add a test that covers the new dependencies in the TEST_MAPPING file 20// of this directory. We cannot guarantee that ExoPlayer dependents will not 21// be accidentally broken if it is not covered by presubmit. 22// - The names in this files follow the pattern exoplayer-dep_name[-module_name] 23// where dep_name identifies the client, and module_name disambiguates the 24// module for cases where necessary (example: The same client depends 25// separately on two exoplayer modules). 26 27package { 28 default_applicable_licenses: ["external_exoplayer_license"], 29} 30 31// Added automatically by a large-scale-change 32// See: http://go/android-license-faq 33license { 34 name: "external_exoplayer_license", 35 visibility: [":__subpackages__"], 36 license_kinds: [ 37 "SPDX-license-identifier-Apache-2.0", 38 ], 39 license_text: [ 40 "LICENSE", 41 ], 42} 43 44android_library { 45 name: "exoplayer-mediaprovider-ui", 46 srcs: [ 47 "tree_8e57d3715f9092d5ec54ebe2e538f34bfcc34479/library/ui/src/main/java/**/*.java", 48 ], 49 resource_dirs: [ 50 "tree_8e57d3715f9092d5ec54ebe2e538f34bfcc34479/library/ui/src/main/res", 51 ], 52 sdk_version: "31", // Needs to be a prebuilt, so not "current". 53 min_sdk_version: "16", // match with 54 // tree_8e57d3715f9092d5ec54ebe2e538f34bfcc34479/constants.gradle 55 libs: ["androidx.annotation_annotation"], 56 static_libs: [ 57 "androidx.core_core", 58 "androidx.media_media", 59 "androidx.recyclerview_recyclerview", 60 "error_prone_annotations", 61 "exoplayer-annotation_stubs", 62 "exoplayer-mediaprovider-core", 63 "guava", 64 "jsr305", 65 ], 66 apex_available: [ 67 "com.android.mediaprovider", 68 "//apex_available:platform", 69 ], 70 71 manifest: "tree_8e57d3715f9092d5ec54ebe2e538f34bfcc34479/library/ui/src/main/AndroidManifest.xml", 72 jarjar_rules: "annotation-stripping-jarjar-rules.txt", 73 visibility: ["//packages/providers/MediaProvider:__subpackages__"], 74 notice: "LICENSE" 75} 76 77// Needed because exoplayer-mediaprovider-ui depends on a resource from core, using the core package 78// name, meaning the resources from this target need to use the package name from core's manifest, 79// while exoplayer-mediaprovider-ui resources need to keep ui's package name. 80android_library { 81 name: "exoplayer-mediaprovider-core", 82 srcs: [ 83 "tree_8e57d3715f9092d5ec54ebe2e538f34bfcc34479/library/common/src/main/java/**/*.java", 84 "tree_8e57d3715f9092d5ec54ebe2e538f34bfcc34479/library/core/src/main/java/**/*/*.java", 85 "tree_8e57d3715f9092d5ec54ebe2e538f34bfcc34479/library/database/src/main/java/**/*.java", 86 "tree_8e57d3715f9092d5ec54ebe2e538f34bfcc34479/library/datasource/src/main/java/**/*.java", 87 "tree_8e57d3715f9092d5ec54ebe2e538f34bfcc34479/library/decoder/src/main/java/**/*.java", 88 "tree_8e57d3715f9092d5ec54ebe2e538f34bfcc34479/library/extractor/src/main/java/**/*.java", 89 ], 90 resource_dirs: [ 91 "tree_8e57d3715f9092d5ec54ebe2e538f34bfcc34479/library/core/src/main/res", 92 ], 93 sdk_version: "31", // Needs to be a prebuilt, so not "current". 94 min_sdk_version: "16", // match with 95 // tree_8e57d3715f9092d5ec54ebe2e538f34bfcc34479/constants.gradle 96 libs: ["androidx.annotation_annotation"], 97 static_libs: [ 98 "androidx.core_core", 99 "androidx.media_media", 100 "androidx.recyclerview_recyclerview", 101 "error_prone_annotations", 102 "exoplayer-annotation_stubs", 103 "guava", 104 "jsr305", 105 ], 106 apex_available: [ 107 "com.android.mediaprovider", 108 ], 109 manifest: "tree_8e57d3715f9092d5ec54ebe2e538f34bfcc34479/library/core/src/main/AndroidManifest.xml", 110 jarjar_rules: "annotation-stripping-jarjar-rules.txt", 111 visibility: ["//visibility:private"], 112 notice: "LICENSE" 113} 114 115 116// Used by MediaMuxerTest to test features not supported by MediaExtractor. 117android_library { 118 name: "exoplayer-mediamuxer_tests", 119 srcs: [ 120 "tree_15dc86382f17a24a3e881e52e31a810c1ea44b49/library/common/src/main/java/**/*.java", 121 "tree_15dc86382f17a24a3e881e52e31a810c1ea44b49/library/decoder/src/main/java/**/*.java", 122 "tree_15dc86382f17a24a3e881e52e31a810c1ea44b49/library/core/src/main/java/**/*.java", 123 "tree_15dc86382f17a24a3e881e52e31a810c1ea44b49/library/database/src/main/java/**/*.java", 124 "tree_15dc86382f17a24a3e881e52e31a810c1ea44b49/library/datasource/src/main/java/**/*.java", 125 "tree_15dc86382f17a24a3e881e52e31a810c1ea44b49/library/extractor/src/main/java/**/*.java", 126 ], 127 manifest: "tree_15dc86382f17a24a3e881e52e31a810c1ea44b49/library/core/src/main/AndroidManifest.xml", 128 resource_dirs: [ 129 "tree_15dc86382f17a24a3e881e52e31a810c1ea44b49/library/core/src/main/res", 130 ], 131 sdk_version: "31", // Needs to be a prebuilt, so not "current". 132 min_sdk_version: "16", // match with 133 // tree_15dc86382f17a24a3e881e52e31a810c1ea44b49/constants.gradle 134 libs: ["androidx.annotation_annotation"], 135 static_libs: [ 136 "androidx.core_core", 137 "error_prone_annotations", 138 "exoplayer-annotation_stubs", 139 "guava", 140 "jsr305", 141 ], 142 jarjar_rules: "annotation-stripping-jarjar-rules.txt", 143 visibility: ["//cts/tests/tests/media/muxer:__subpackages__"], 144 notice: "LICENSE", 145} 146 147java_library { 148 name: "exoplayer-media_apex", 149 srcs: [ 150 "tree/library/extractor/src/main/java/**/*.java", 151 "tree/library/common/src/main/java/**/*.java", 152 ], 153 sdk_version: "29", // Needs to be a prebuilt, so not "current". 154 apex_available: [ 155 "com.android.media", 156 ], 157 min_sdk_version: "16", // match with tree/constants.gradle 158 libs: ["androidx.annotation_annotation"], 159 static_libs: [ 160 "exoplayer-annotation_stubs", 161 "jsr305", 162 ], 163 jarjar_rules: "annotation-stripping-jarjar-rules.txt", 164 visibility: [ 165 "//frameworks/base:__subpackages__", 166 "//packages/modules/Media/apex/framework", 167 ], 168 notice: "LICENSE", 169} 170 171// Exposes util classes for testing MediaParser. 172android_library { 173 name: "exoplayer-cts_media-test_utils", 174 manifest: "tree/library/extractor/src/test/AndroidManifest.xml", 175 srcs: [ 176 "tree/testutils/src/main/java/com/google/android/exoplayer2/testutil/Dumper.java", 177 "tree/testutils/src/main/java/com/google/android/exoplayer2/testutil/FakeExtractorInput.java", 178 "tree/testutils/src/main/java/com/google/android/exoplayer2/testutil/FakeExtractorOutput.java", 179 "tree/testutils/src/main/java/com/google/android/exoplayer2/testutil/FakeTrackOutput.java", 180 "tree/testutils/src/main/java/com/google/android/exoplayer2/testutil/TestUtil.java", 181 "tree/library/core/src/main/java/com/google/android/exoplayer2/database/DatabaseProvider.java", 182 "tree/library/core/src/main/java/com/google/android/exoplayer2/database/DefaultDatabaseProvider.java", 183 ], 184 sdk_version: "29", 185 libs: ["androidx.annotation_annotation"], 186 static_libs: [ 187 "exoplayer-annotation_stubs", 188 "exoplayer-media_apex", 189 "truth-prebuilt", 190 "junit", 191 "androidx.test.core", 192 ], 193 jarjar_rules: "annotation-stripping-jarjar-rules.txt", 194 visibility: ["//cts/tests/tests/mediaparser:__subpackages__"], 195 notice: "LICENSE", 196} 197 198// Exposes the assets for testing MediaParser. 199android_library { 200 name: "exoplayer-cts_media-test_assets", 201 manifest: "tree/library/extractor/src/main/AndroidManifest.xml", 202 srcs: [], 203 sdk_version: "29", 204 visibility: ["//cts/tests/tests/mediaparser:__subpackages__"], 205 asset_dirs: ["tree/testdata/src/test/assets/"], 206 // Do not compress media files. 207 aaptflags: [ 208 "-0 .ac3", 209 "-0 .ac4", 210 "-0 .adts", 211 "-0 .amr", 212 "-0 .eac3", 213 "-0 .flac", 214 "-0 .flv", 215 "-0 .id3", 216 "-0 .mkv", 217 "-0 .mp3", 218 "-0 .mp4", 219 "-0 .mpg", 220 "-0 .ogg", 221 "-0 .opus", 222 "-0 .ps", 223 "-0 .rawcc", 224 "-0 .ts", 225 "-0 .wav", 226 "-0 .webm", 227 ], 228} 229 230// Compile dummy implementations of annotations used by exoplayer but not 231// present in the Android tree. 232java_library { 233 name: "exoplayer-annotation_stubs", 234 host_supported: true, 235 sdk_version: "core_current", 236 apex_available: [ 237 "//apex_available:anyapex", 238 "//apex_available:platform", 239 ], 240 min_sdk_version: "16", 241 srcs: ["annotation-stubs/src/**/*.java"], 242 static_libs: ["jsr305"], 243 visibility: ["//visibility:private"], 244} 245