Move icing lib build.gradle to root of repo.
This was requested because it was confusing Android Studio.
Test: Presubmit
Change-Id: I5fa7a56867f113a944ad52a803096b0b068573e4
diff --git a/build.gradle b/build.gradle
new file mode 100644
index 0000000..d6aea25
--- /dev/null
+++ b/build.gradle
@@ -0,0 +1,102 @@
+/*
+ * Copyright (C) 2020 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 org.anarres.gradle.plugin.jarjar.JarjarTask
+
+import static androidx.build.SupportConfig.*
+import static androidx.build.dependencies.DependenciesKt.*
+
+buildscript {
+ dependencies {
+ classpath('gradle.plugin.com.google.protobuf:protobuf-gradle-plugin:0.8.8')
+ classpath('org.anarres.jarjar:jarjar-gradle:1.0.1')
+ }
+}
+
+plugins {
+ id('com.android.library')
+ id('com.google.protobuf')
+ id('org.anarres.jarjar')
+}
+
+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 'java/src/'
+ manifest.srcFile 'AndroidManifest.xml'
+ proto.srcDir 'proto/'
+ }
+ androidTest.java.srcDir 'java/tests/instrumentation/'
+ }
+}
+
+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 {
+ protoc {
+ artifact = 'com.google.protobuf:protoc:3.10.0'
+ }
+
+ generateProtoTasks {
+ all().each { task ->
+ task.builtins {
+ java {
+ option 'lite'
+ }
+ }
+ }
+ }
+}
+
+// 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'
+ }
+
+ def jarjarConf = configurations.register("jarjar${suffix}")
+ artifacts.add("${jarjarConf.name}", jarjarTask.destinationPath) {
+ name "icing-java-${variantName}-jarjar"
+ type 'jar'
+ builtBy jarjarTask
+ }
+}