blob: 3d12966620d100f5f709a5bef5a69bc8d36fc245 [file] [log] [blame]
/*
* 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.
*/
import androidx.build.BundleInsideHelper
import androidx.build.LibraryGroups
import androidx.build.LibraryVersions
import androidx.build.Publish
import static androidx.build.dependencies.DependenciesKt.*
plugins {
id('AndroidXPlugin')
id('com.android.library')
}
android {
compileOptions {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
buildTypes.all {
// TODO(b/161836669): Minifiation is currently disabled because if it is on, the aar gets
// desugared twice in some workflows, which fails. Decide how to handle this (e.g.
// splitting targets, continuing with the consumerProguardFiles solution here, fixing the
// flows that perform duplicate desugaring, or something else).
minifyEnabled false
consumerProguardFiles 'proguard-rules.pro'
}
// TODO(b/161205849): We've had to move libicing.so compilation into appsearch:appsearch to get
// it included into the exported aar. Find a proper solution for bundling libicing.so into
// appsearch-release.aar and move compilation of libicing.so back into the external/icing tree.
sourceSets {
androidTest.java.srcDir '../../../../external/icing/java/tests/instrumentation/'
}
defaultConfig {
externalNativeBuild {
cmake {
cppFlags "-std=c++17"
arguments "-DCMAKE_VERBOSE_MAKEFILE=ON"
targets "icing"
}
}
}
externalNativeBuild {
cmake {
version '3.10.2'
path '../../../../external/icing/CMakeLists.txt'
}
}
}
BundleInsideHelper.forInsideAar(
project,
/* from = */ "com.google.protobuf",
/* to = */ "com.google.android.icing.protobuf"
)
dependencies {
releaseBundleInside(project(path: ':icing', configuration: "exportRelease"))
debugBundleInside(project(path: ':icing', configuration: "exportDebug"))
api('androidx.annotation:annotation:1.1.0')
implementation project(':appsearch:appsearch')
implementation('androidx.concurrent:concurrent-futures:1.0.0')
implementation('androidx.core:core:1.2.0')
androidTestImplementation(ANDROIDX_TEST_CORE)
androidTestImplementation(ANDROIDX_TEST_RULES)
androidTestImplementation(TRUTH)
//TODO(b/149787478) upgrade and link to Dependencies.kt
androidTestImplementation("junit:junit:4.13")
}
androidx {
name = 'AppSearch Local Storage'
publish = Publish.SNAPSHOT_AND_RELEASE
mavenGroup = LibraryGroups.APPSEARCH
mavenVersion = LibraryVersions.APPSEARCH
inceptionYear = '2020'
description =
'An implementation of AppSearchSession which uses local app storage and a local copy of ' +
'the search library'
}