// Copyright (C) 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.
plugins {
    id "com.google.protobuf" version "0.9.5"
}

apply from: '../../constants.gradle'
apply plugin: 'com.android.library'

android {
    compileSdkVersion project.ext.compileSdkVersion

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

    defaultConfig {
        minSdkVersion project.ext.minSdkVersion
        targetSdkVersion project.ext.targetSdkVersion
    }

    buildTypes {
        // Re-enable test coverage when the following issue is fixed:
        // https://issuetracker.google.com/issues/37019591
        // debug {
        //    testCoverageEnabled = true
        // }
    }

    testOptions.unitTests.includeAndroidResources = true

    // gradle 4.6 migration: disable dimensions mechanism
    // more: https://proandroiddev.com/advanced-android-flavors-part-4-a-new-version-fc2ad80c01bb
    flavorDimensions "default"

    productFlavors {
        stbeta {}
        ststable {}
        stfdroid {}
    }
}

dependencies {
    implementation project(modulePrefix + 'library-core')
    implementation project(':mediaserviceinterfaces')
    implementation project(':sharedutils')
    implementation project(':youtubeapi')
    compileOnly 'org.checkerframework:checker-qual:' + checkerframeworkVersion
    implementation 'androidx.annotation:annotation:1.1.0'
    implementation 'com.google.protobuf:protobuf-javalite:' + protobufVersion
    testImplementation project(modulePrefix + 'testutils-robolectric')
    testImplementation project(modulePrefix + 'library-sabr')
}

protobuf {
    protoc {
        artifact = 'com.google.protobuf:protoc:' + protobufVersion
    }

    generateProtoTasks {
        all().configureEach { task ->
            task.builtins {
                java {
                    option "lite"
                }
            }
        }
    }
}

ext {
    javadocTitle = 'SABR module'
}
apply from: '../../javadoc_library.gradle'

ext {
    releaseArtifact = 'exoplayer-sabr'
    releaseDescription = 'The ExoPlayer library SABR module.'
}
apply from: '../../publish.gradle'
