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
+    }
+}