diff options
Diffstat (limited to 'java')
-rw-r--r-- | java/build.gradle | 84 | ||||
-rw-r--r-- | java/src/com/google/android/icing/IcingSearchEngine.java | 13 |
2 files changed, 52 insertions, 45 deletions
diff --git a/java/build.gradle b/java/build.gradle index 206c74f..4505960 100644 --- a/java/build.gradle +++ b/java/build.gradle @@ -14,41 +14,55 @@ * limitations under the License. */ +import org.anarres.gradle.plugin.jarjar.JarjarTask + +import static androidx.build.SupportConfig.* +import static androidx.build.dependencies.DependenciesKt.* + buildscript { - boolean unbundleBuild = (new File('unbundled-build')).exists() - repositories { - maven { url '../../../prebuilts/androidx/external' } - if (unbundleBuild) { - jcenter() - } - } dependencies { classpath('gradle.plugin.com.google.protobuf:protobuf-gradle-plugin:0.8.8') classpath('org.anarres.jarjar:jarjar-gradle:1.0.1') } } -apply plugin: 'java-library' -apply plugin: 'com.google.protobuf' -apply plugin: 'org.anarres.jarjar' -apply plugin: 'idea' +plugins { + id('com.android.library') + id('com.google.protobuf') + id('org.anarres.jarjar') +} -sourceSets { - main { - proto { - srcDir '../proto' - include '**/*.proto' +android { + buildToolsVersion BUILD_TOOLS_VERSION + compileSdkVersion COMPILE_SDK_VERSION + defaultConfig { + minSdkVersion DEFAULT_MIN_SDK_VERSION + targetSdkVersion TARGET_SDK_VERSION + testInstrumentationRunner INSTRUMENTATION_RUNNER + } + compileOptions { + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 + } + sourceSets { + main { + java.srcDir 'src/' + manifest.srcFile '../AndroidManifest.xml' + proto.srcDir '../proto' } + androidTest.java.srcDir 'tests/instrumentation' } } -compileJava { - sourceCompatibility = JavaVersion.VERSION_1_7 - targetCompatibility = JavaVersion.VERSION_1_7 -} - dependencies { + api('androidx.annotation:annotation:1.1.0') + + implementation project(':icing:nativeLib') implementation('com.google.protobuf:protobuf-javalite:3.10.0') + + androidTestImplementation(ANDROIDX_TEST_CORE) + androidTestImplementation(ANDROIDX_TEST_RULES) + androidTestImplementation(TRUTH) } protobuf { @@ -67,21 +81,21 @@ protobuf { } } -jarjar.repackage('jarjarTask') { - destinationName "icing-java-jarjar.jar" - from 'com.google.protobuf:protobuf-javalite:3.10.0' - from files(sourceSets.main.output.classesDirs) - dependsOn sourceSets.main.output - classRename 'com.google.protobuf.**', 'com.google.android.icing.protobuf.@1' -} - -configurations { - jarjarConf -} +// Create jarjar artifact for all variants (debug/release) +android.libraryVariants.all { variant -> + def variantName = variant.name + def suffix = variantName.capitalize() + def jarjarTask = tasks.create("jarjar${suffix}", JarjarTask) { + destinationName "icing-java-${variantName}-jarjar.jar" + from 'com.google.protobuf:protobuf-javalite:3.10.0' + from files(variant.javaCompileProvider.get().destinationDir) + dependsOn variant.javaCompileProvider.get() + classRename 'com.google.protobuf.**', 'com.google.android.icing.protobuf.@1' + } -artifacts { - jarjarConf(jarjarTask.destinationPath) { - name 'icing-java-jarjar' + def jarjarConf = configurations.register("jarjar${suffix}") + artifacts.add("${jarjarConf.name}", jarjarTask.destinationPath) { + name "icing-java-${variantName}-jarjar" type 'jar' builtBy jarjarTask } diff --git a/java/src/com/google/android/icing/IcingSearchEngine.java b/java/src/com/google/android/icing/IcingSearchEngine.java index b221592..9e63b9f 100644 --- a/java/src/com/google/android/icing/IcingSearchEngine.java +++ b/java/src/com/google/android/icing/IcingSearchEngine.java @@ -16,8 +16,6 @@ package com.google.android.icing; import android.util.Log; import androidx.annotation.NonNull; -import androidx.annotation.RestrictTo; - import com.google.android.icing.proto.DeleteByNamespaceResultProto; import com.google.android.icing.proto.DeleteBySchemaTypeResultProto; import com.google.android.icing.proto.DeleteResultProto; @@ -39,14 +37,9 @@ import com.google.android.icing.proto.SearchResultProto; import com.google.android.icing.proto.SearchSpecProto; import com.google.android.icing.proto.SetSchemaResultProto; import com.google.android.icing.proto.StatusProto; -import com.google.android.icing.protobuf.InvalidProtocolBufferException; - -/** - * Java wrapper to access native APIs in external/icing/icing/icing-search-engine.h - * - * @hide - */ -@RestrictTo(RestrictTo.Scope.LIBRARY_GROUP) +import com.google.protobuf.InvalidProtocolBufferException; + +/** Java wrapper to access native APIs in external/icing/icing/icing-search-engine.h */ public final class IcingSearchEngine { private static final String TAG = "IcingSearchEngine"; |