/* * 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' version '8.0.2' id 'maven-publish' id 'com.vanniktech.maven.publish' version '0.25.3' } repositories { google() mavenCentral() } android { compileSdk 33 ndkVersion '25.1.8937393' externalNativeBuild { cmake { path 'CMakeLists.txt' } } defaultConfig { minSdkVersion 15 targetSdkVersion 33 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' targets 'fbjni' version '3.22.1' } } buildFeatures { buildConfig true prefabPublishing true } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } prefab { fbjni { headers 'cxx/' } } } } dependencies { compileOnly 'com.google.code.findbugs:jsr305:3.0.2' implementation 'com.facebook.soloader:nativeloader:0.10.5' } task headersJar(type: Jar) { archiveClassifier.set('headers') from("$rootDir/cxx/") { include '**/*.h' } } publishing { publications { withType(MavenPublication).configureEach { artifact(headersJar) } } }