Add test artifact to support testing
Add test artifact to support testing.
Add EmptyWindowLayoutInfoRule to always produce an empty set of features
Relnote: Add test artifact for WindowManager Jetpack Library.
Bug: 184266682
Test: ./gradlew window:window-test:cAT
Change-Id: I57f66ad83498ff5e09d0a1d1c9cda0554c2c04e1
diff --git a/window/window-testing/build.gradle b/window/window-testing/build.gradle
new file mode 100644
index 0000000..5a706af
--- /dev/null
+++ b/window/window-testing/build.gradle
@@ -0,0 +1,64 @@
+/*
+ * Copyright (C) 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 org.jetbrains.kotlin.gradle.tasks.KotlinCompile
+
+import static androidx.build.dependencies.DependenciesKt.*
+import androidx.build.LibraryGroups
+import androidx.build.LibraryType
+import androidx.build.LibraryVersions
+
+plugins {
+ id("AndroidXPlugin")
+ id("com.android.library")
+ id("org.jetbrains.kotlin.android")
+}
+
+android {
+ defaultConfig {
+ multiDexEnabled = true
+ }
+}
+
+dependencies {
+ api(KOTLIN_STDLIB)
+ api(project(":window:window"))
+ api(JUNIT)
+ implementation("androidx.core:core:1.3.2")
+
+ androidTestImplementation(ANDROIDX_TEST_EXT_JUNIT)
+ androidTestImplementation(ANDROIDX_TEST_RUNNER)
+ androidTestImplementation(ANDROIDX_TEST_RULES)
+ androidTestImplementation(KOTLIN_COROUTINES_TEST)
+ androidTestImplementation(MULTIDEX)
+ androidTestImplementation(TRUTH)
+}
+
+androidx {
+ name = "WindowManager Test Library"
+ type = LibraryType.PUBLISHED_LIBRARY
+ mavenVersion = LibraryVersions.WINDOW
+ mavenGroup = LibraryGroups.WINDOW
+ inceptionYear = "2021"
+ description = "WindowManager Test Library"
+}
+
+// Allow usage of Kotlin's @OptIn.
+tasks.withType(KotlinCompile).configureEach {
+ kotlinOptions {
+ freeCompilerArgs += ["-Xopt-in=kotlin.RequiresOptIn"]
+ }
+}
\ No newline at end of file