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