Add `viewmodel-testing` artifact
Bug: 264602919
Test: manual
Change-Id: I48d6948a0dac2f5a1e9d98f531755b1faca898a4
diff --git a/docs-tip-of-tree/build.gradle b/docs-tip-of-tree/build.gradle
index 50e30d8..343dc5c 100644
--- a/docs-tip-of-tree/build.gradle
+++ b/docs-tip-of-tree/build.gradle
@@ -225,6 +225,7 @@
kmpDocs(project(":lifecycle:lifecycle-viewmodel-compose"))
docs(project(":lifecycle:lifecycle-viewmodel-ktx"))
docs(project(":lifecycle:lifecycle-viewmodel-savedstate"))
+ kmpDocs(project(":lifecycle:lifecycle-viewmodel-testing"))
docs(project(":loader:loader"))
docs(project(":loader:loader-ktx"))
// localbroadcastmanager is deprecated
diff --git a/lifecycle/lifecycle-viewmodel-testing/build.gradle b/lifecycle/lifecycle-viewmodel-testing/build.gradle
new file mode 100644
index 0000000..a37dbab
--- /dev/null
+++ b/lifecycle/lifecycle-viewmodel-testing/build.gradle
@@ -0,0 +1,76 @@
+/*
+ * Copyright 2024 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.
+ */
+
+/**
+ * This file was created using the `create_project.py` script located in the
+ * `<AndroidX root>/development/project-creator` directory.
+ *
+ * Please use that script when creating a new project, rather than copying an existing project and
+ * modifying its settings.
+ */
+
+import androidx.build.LibraryType
+import androidx.build.PlatformIdentifier
+import org.jetbrains.kotlin.gradle.dsl.ExplicitApiMode
+import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType
+import org.jetbrains.kotlin.konan.target.Family
+
+plugins {
+ id("AndroidXPlugin")
+ id("com.android.library")
+}
+
+androidXMultiplatform {
+ enableBinaryCompatibilityValidator = true
+
+ android()
+ desktop()
+ mac()
+ linux()
+ ios()
+
+ defaultPlatform(PlatformIdentifier.ANDROID)
+
+ sourceSets {
+ commonMain {
+ dependencies {
+ api(project(":lifecycle:lifecycle-viewmodel"))
+ api(libs.kotlinStdlib)
+ api(libs.kotlinCoroutinesCore)
+ }
+ }
+
+ commonTest {
+ dependencies {
+ implementation(project(":kruth:kruth"))
+ implementation(libs.kotlinTest)
+ implementation(libs.kotlinCoroutinesTest)
+ }
+ }
+ }
+}
+
+androidx {
+ name = "Lifecycle ViewModel Testing"
+ type = LibraryType.PUBLISHED_LIBRARY
+ inceptionYear = "2024"
+ description = "Testing utilities for 'lifecycle-viewmodel' artifact"
+ metalavaK2UastEnabled = true
+}
+
+android {
+ namespace "androidx.lifecycle.viewmodel.testing"
+}
diff --git a/settings.gradle b/settings.gradle
index 2eb9d90..9d6b45f 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -766,6 +766,7 @@
includeProject(":lifecycle:lifecycle-viewmodel-compose:integration-tests:lifecycle-viewmodel-demos", [BuildType.COMPOSE])
includeProject(":lifecycle:lifecycle-viewmodel-ktx", [BuildType.MAIN, BuildType.FLAN, BuildType.COMPOSE])
includeProject(":lifecycle:lifecycle-viewmodel-savedstate", [BuildType.MAIN, BuildType.FLAN, BuildType.COMPOSE])
+includeProject(":lifecycle:lifecycle-viewmodel-testing", [BuildType.MAIN, BuildType.FLAN, BuildType.COMPOSE, BuildType.INFRAROGUE, BuildType.KMP])
includeProject(":lint:lint-gradle", [BuildType.MAIN])
includeProject(":lint-checks")
includeProject(":lint-checks:integration-tests")