// Copyright 2017 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
project.ext {
    // ExoPlayer version and version code.
    releaseVersion = '2.11.4'
    releaseVersionCode = 2011004
    minSdkVersion = 16
    appTargetSdkVersion = 29
    targetSdkVersion = 28 // TODO: Bump once b/143232359 is resolved. Also fix TODOs in UtilTest.
    compileSdkVersion = 29
    dexmakerVersion = '2.21.0'
    junitVersion = '4.13-rc-2'
    guavaVersion = '28.2-android'
    mockitoVersion = '2.25.0'
    robolectricVersion = '4.3.1'
    checkerframeworkVersion = '2.5.0'
    jsr305Version = '3.0.2'
    kotlinAnnotationsVersion = '1.3.70'
    androidxAnnotationVersion = '1.1.0'
    androidxAppCompatVersion = '1.1.0'
    androidxCollectionVersion = '1.1.0'
    androidxMediaVersion = '1.0.1'
    androidxTestCoreVersion = '1.2.0'
    androidxTestJUnitVersion = '1.1.1'
    androidxTestRunnerVersion = '1.2.0'
    androidxTestRulesVersion = '1.2.0'
    truthVersion = '1.0'
    modulePrefix = ':'
    if (gradle.ext.has('exoplayerModulePrefix')) {
        modulePrefix += gradle.ext.exoplayerModulePrefix
    }
}
