// Copyright (C) 2019 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.
apply from: "$gradle.ext.exoplayerSettingsDir/common_library_config.gradle"

android {
    defaultConfig {
        externalNativeBuild {
            cmake {
                // Debug CMake build type causes video frames to drop,
                // so native library should always use Release build type.
                arguments "-DCMAKE_BUILD_TYPE=Release"
                targets "gav1JNI"
            }
        }
    }
}

// Configure the native build only if libgav1 is present to avoid gradle sync
// failures if libgav1 hasn't been built according to the README instructions.
if (project.file('src/main/jni/libgav1').exists()) {
    android.externalNativeBuild.cmake {
        path = 'src/main/jni/CMakeLists.txt'
        version = '3.7.1+'
        if (project.hasProperty('externalNativeBuildDir')) {
            if (!new File(externalNativeBuildDir).isAbsolute()) {
                ext.externalNativeBuildDir =
                        new File(rootDir, it.externalNativeBuildDir)
            }
            buildStagingDirectory = "${externalNativeBuildDir}/${project.name}"
        }
    }
}

dependencies {
    implementation project(modulePrefix + 'library-core')
    implementation 'androidx.annotation:annotation:' + androidxAnnotationVersion
    compileOnly 'org.jetbrains.kotlin:kotlin-annotations-jvm:' + kotlinAnnotationsVersion
}

ext {
    javadocTitle = 'AV1 extension'
}
apply from: '../../javadoc_library.gradle'
