Added directory structure for androidx.glance.

Test: N/A
Relnote: n/a
Change-Id: I2baa7d479168818ca572f01cad4c9b759ab69fa5
diff --git a/buildSrc/src/main/kotlin/androidx/build/LibraryGroups.kt b/buildSrc/src/main/kotlin/androidx/build/LibraryGroups.kt
index dc717f7..d84d2ed 100644
--- a/buildSrc/src/main/kotlin/androidx/build/LibraryGroups.kt
+++ b/buildSrc/src/main/kotlin/androidx/build/LibraryGroups.kt
@@ -52,6 +52,7 @@
     val ENTERPRISE = LibraryGroup("androidx.enterprise", LibraryVersions.ENTERPRISE)
     val EXIFINTERFACE = LibraryGroup("androidx.exifinterface", LibraryVersions.EXIFINTERFACE)
     val FRAGMENT = LibraryGroup("androidx.fragment", LibraryVersions.FRAGMENT)
+    val GLANCE = LibraryGroup("androidx.glance", LibraryVersions.GLANCE)
     val GRIDLAYOUT = LibraryGroup("androidx.gridlayout", LibraryVersions.GRIDLAYOUT)
     val HEALTH = LibraryGroup("androidx.health", null)
     val HEIFWRITER = LibraryGroup("androidx.heifwriter", LibraryVersions.HEIFWRITER)
diff --git a/buildSrc/src/main/kotlin/androidx/build/LibraryVersions.kt b/buildSrc/src/main/kotlin/androidx/build/LibraryVersions.kt
index 81805cb..6504ad4 100644
--- a/buildSrc/src/main/kotlin/androidx/build/LibraryVersions.kt
+++ b/buildSrc/src/main/kotlin/androidx/build/LibraryVersions.kt
@@ -64,6 +64,7 @@
     val EXIFINTERFACE = Version("1.4.0-alpha01")
     val FRAGMENT = Version("1.4.0-alpha07")
     val FUTURES = Version("1.2.0-alpha01")
+    val GLANCE = Version("1.0.0-alpha01")
     val GRIDLAYOUT = Version("1.1.0-alpha01")
     val HEALTH_SERVICES_CLIENT = Version("1.0.0-alpha02")
     val HEIFWRITER = Version("1.1.0-alpha02")
diff --git a/docs-tip-of-tree/build.gradle b/docs-tip-of-tree/build.gradle
index 2238bcd..d737ae6 100644
--- a/docs-tip-of-tree/build.gradle
+++ b/docs-tip-of-tree/build.gradle
@@ -129,6 +129,7 @@
     docs(project(":fragment:fragment"))
     docs(project(":fragment:fragment-ktx"))
     docs(project(":fragment:fragment-testing"))
+    docs(project(":glance:glance"))
     docs(project(":gridlayout:gridlayout"))
     docs(project(":health:health-services-client"))
     docs(project(":heifwriter:heifwriter"))
diff --git a/glance/OWNERS b/glance/OWNERS
new file mode 100644
index 0000000..2f69525
--- /dev/null
+++ b/glance/OWNERS
@@ -0,0 +1,3 @@
[email protected]
[email protected]
[email protected]
diff --git a/glance/glance/build.gradle b/glance/glance/build.gradle
new file mode 100644
index 0000000..992f85b
--- /dev/null
+++ b/glance/glance/build.gradle
@@ -0,0 +1,61 @@
+/*
+ * Copyright 2021 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.LibraryGroups
+import androidx.build.LibraryType
+import androidx.build.Publish
+import androidx.build.RunApiTasks
+import androidx.build.AndroidXComposePlugin
+
+plugins {
+    id("AndroidXPlugin")
+    id("com.android.library")
+    id("AndroidXComposePlugin")
+}
+
+// Disable multi-platform; this will only be used on Android.
+AndroidXComposePlugin.applyAndConfigureKotlinPlugin(project, /* isMultiplatformEnabled= */false)
+
+dependencies {
+    kotlinPlugin(project(":compose:compiler:compiler"))
+
+    implementation(libs.kotlinStdlib)
+    implementation(project(":compose:runtime:runtime"))
+
+    testImplementation(libs.testRules)
+    testImplementation(libs.testRunner)
+    testImplementation(libs.junit)
+}
+
+android {
+    defaultConfig {
+        minSdkVersion 23
+    }
+    // Use Robolectric 4.+
+    testOptions.unitTests.includeAndroidResources = true
+}
+
+androidx {
+    name = "Glance Core Library"
+    type = LibraryType.PUBLISHED_LIBRARY
+    publish = Publish.NONE
+    mavenGroup = LibraryGroups.GLANCE
+    inceptionYear = "2021"
+    description = "Glance allows developers to build layouts for remote surfaces using a Jetpack " +
+            "Compose-style API."
+    targetsJavaConsumers = false
+    runApiTasks = new RunApiTasks.No("API tracking disabled while we write the core API surface.")
+}
diff --git a/glance/glance/src/androidMain/AndroidManifest.xml b/glance/glance/src/androidMain/AndroidManifest.xml
new file mode 100644
index 0000000..0d2ec2a
--- /dev/null
+++ b/glance/glance/src/androidMain/AndroidManifest.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  Copyright 2021 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.
+  -->
+<manifest package="androidx.glance" />
diff --git a/settings.gradle b/settings.gradle
index 5b1fa83..60046e9 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -436,6 +436,7 @@
 includeProject(":fragment:fragment-testing-lint", "fragment/fragment-testing-lint", [BuildType.MAIN, BuildType.FLAN])
 includeProject(":fragment:fragment-truth", "fragment/fragment-truth", [BuildType.MAIN, BuildType.FLAN])
 includeProject(":fragment:integration-tests:testapp", "fragment/integration-tests/testapp", [BuildType.MAIN, BuildType.FLAN])
+includeProject(":glance:glance", "glance/glance", [BuildType.MAIN])
 includeProject(":gridlayout:gridlayout", "gridlayout/gridlayout", [BuildType.MAIN])
 includeProject(":health:health-services-client", "health/health-services-client", [BuildType.MAIN])
 includeProject(":heifwriter:heifwriter", "heifwriter/heifwriter", [BuildType.MAIN])