/*
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * 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.android.library'
    id 'maven-publish'
    id 'com.vanniktech.maven.publish'
}

repositories {
    google()
    mavenCentral()
}

android {
    compileSdk 36
    ndkVersion '27.1.12297006'

    externalNativeBuild {
        cmake {
            path '../CMakeLists.txt'
        }
    }

    defaultConfig {
        minSdkVersion 21
        targetSdkVersion 36
        buildConfigField "boolean", "IS_INTERNAL_BUILD", 'true'
        namespace "com.facebook.fbjni"

        sourceSets {
            main {
                java.srcDir '../java'
            }
        }

        ndk {
            abiFilters 'x86', 'armeabi-v7a', 'x86_64', 'arm64-v8a'
        }

        externalNativeBuild {
            cmake {
                arguments '-DANDROID_TOOLCHAIN=clang', '-DANDROID_STL=c++_shared', '-DANDROID_SUPPORT_FLEXIBLE_PAGE_SIZES=ON'
                targets 'fbjni'
                version '3.22.1'
            }
        }

        buildFeatures {
            buildConfig true
            prefabPublishing true
        }

        compileOptions {
            sourceCompatibility JavaVersion.VERSION_17
            targetCompatibility JavaVersion.VERSION_17
        }

        prefab {
            fbjni {
                headers '../cxx/'
            }
        }
    }
}


dependencies {
    compileOnly 'com.google.code.findbugs:jsr305:3.0.2'
    compileOnly 'com.facebook.infer.annotation:infer-annotation:0.18.0'
    testCompileOnly 'com.google.code.findbugs:jsr305:3.0.2'
    testCompileOnly 'com.facebook.infer.annotation:infer-annotation:0.18.0'
    implementation 'com.facebook.soloader:nativeloader:0.10.5'
}
