1// Copyright (C) 2016 The Android Open Source Project
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//      http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14apply from: '../../constants.gradle'
15apply plugin: 'com.android.application'
16
17android {
18    compileSdkVersion project.ext.compileSdkVersion
19
20    compileOptions {
21        sourceCompatibility JavaVersion.VERSION_1_8
22        targetCompatibility JavaVersion.VERSION_1_8
23    }
24
25    defaultConfig {
26        versionName project.ext.releaseVersion
27        versionCode project.ext.releaseVersionCode
28        minSdkVersion project.ext.minSdkVersion
29        targetSdkVersion project.ext.appTargetSdkVersion
30        multiDexEnabled true
31    }
32
33    buildTypes {
34        release {
35            shrinkResources true
36            minifyEnabled true
37            proguardFiles = [
38                "proguard-rules.txt",
39                getDefaultProguardFile('proguard-android.txt')
40            ]
41            signingConfig signingConfigs.debug
42        }
43        debug {
44            jniDebuggable = true
45        }
46    }
47
48    lintOptions {
49        // The demo app isn't indexed, doesn't have translations, and has a
50        // banner for AndroidTV that's only in xhdpi density.
51        disable 'GoogleAppIndexingWarning','MissingTranslation','IconDensities'
52    }
53
54    flavorDimensions "decoderExtensions"
55
56    productFlavors {
57        noDecoderExtensions {
58            dimension "decoderExtensions"
59            buildConfigField "boolean", "USE_DECODER_EXTENSIONS", "false"
60        }
61        withDecoderExtensions {
62            dimension "decoderExtensions"
63            buildConfigField "boolean", "USE_DECODER_EXTENSIONS", "true"
64        }
65    }
66}
67
68dependencies {
69    compileOnly 'org.checkerframework:checker-qual:' + checkerframeworkVersion
70    implementation 'androidx.annotation:annotation:' + androidxAnnotationVersion
71    implementation 'androidx.appcompat:appcompat:' + androidxAppCompatVersion
72    implementation 'androidx.multidex:multidex:' + androidxMultidexVersion
73    implementation 'com.google.android.material:material:' + androidxMaterialVersion
74    implementation project(modulePrefix + 'library-core')
75    implementation project(modulePrefix + 'library-dash')
76    implementation project(modulePrefix + 'library-hls')
77    implementation project(modulePrefix + 'library-rtsp')
78    implementation project(modulePrefix + 'library-smoothstreaming')
79    implementation project(modulePrefix + 'library-ui')
80    implementation project(modulePrefix + 'extension-cronet')
81    implementation project(modulePrefix + 'extension-ima')
82    withDecoderExtensionsImplementation project(modulePrefix + 'extension-av1')
83    withDecoderExtensionsImplementation project(modulePrefix + 'extension-ffmpeg')
84    withDecoderExtensionsImplementation project(modulePrefix + 'extension-flac')
85    withDecoderExtensionsImplementation project(modulePrefix + 'extension-opus')
86    withDecoderExtensionsImplementation project(modulePrefix + 'extension-vp9')
87    withDecoderExtensionsImplementation project(modulePrefix + 'extension-rtmp')
88}
89
90apply plugin: 'com.google.android.gms.strict-version-matcher-plugin'
91