summaryrefslogtreecommitdiff
path: root/android/testSrc
diff options
context:
space:
mode:
authorYuriy Solodkyy <solodkyy@google.com>2022-02-10 10:42:36 +0000
committerYuriy Solodkyy <solodkyy@google.com>2022-02-14 18:47:00 +0000
commit57a206cb7989b70eefb8d8087c7d40dbbff4dbc0 (patch)
tree49d68c2bfe5c91330ada3e7eea7ca341638924a4 /android/testSrc
parentcda2ea9dff5a168d21ac39b41514b200d046fa4a (diff)
downloadidea-57a206cb7989b70eefb8d8087c7d40dbbff4dbc0.tar.gz
Prepare IDE library models to be moved out of modules
(1) Introduce an IDE library resolver which maps core library interfaces to their full counterparts. This will be later replaced with an implementation which looks up library cores by their index in a global library table. (2) Implement full interfaces as wrappers around core interfaces that also have a reference to a resolver. (3) Create a shared resolver instance for AndroidGradleProjectResolver and later when models are attached to facets an instance for in-memory models. Bug: 197066729 Test: existing test project snapshots unchanged Change-Id: Ied00a982cd3c93a2fc452afd49ae34354e003dcf
Diffstat (limited to 'android/testSrc')
-rw-r--r--android/testSrc/com/android/tools/idea/gradle/project/model/IdeJavaArtifactTest.java70
-rw-r--r--android/testSrc/com/android/tools/idea/gradle/project/model/ModelSerializationTest.kt16
-rw-r--r--android/testSrc/com/android/tools/idea/gradle/project/sync/LightSyncBasedTestsWithGradleLikeStructureTest.kt3
-rw-r--r--android/testSrc/com/android/tools/idea/gradle/stubs/android/AndroidProjectStub.java12
-rw-r--r--android/testSrc/org/jetbrains/android/uipreview/ModuleClassLoaderTest.java12
5 files changed, 16 insertions, 97 deletions
diff --git a/android/testSrc/com/android/tools/idea/gradle/project/model/IdeJavaArtifactTest.java b/android/testSrc/com/android/tools/idea/gradle/project/model/IdeJavaArtifactTest.java
deleted file mode 100644
index 89c0cbffafc..00000000000
--- a/android/testSrc/com/android/tools/idea/gradle/project/model/IdeJavaArtifactTest.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * 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.
- */
-package com.android.tools.idea.gradle.project.model;
-
-import static com.android.tools.idea.gradle.project.model.IdeModelTestUtils.assertEqualsOrSimilar;
-
-import com.android.builder.model.AndroidProject;
-import com.android.builder.model.JavaArtifact;
-import com.android.tools.idea.gradle.model.IdeArtifactName;
-import com.android.tools.idea.gradle.model.IdeJavaArtifact;
-import com.android.tools.idea.gradle.model.impl.IdeDependenciesImpl;
-import com.android.tools.idea.gradle.model.impl.IdeJavaArtifactImpl;
-import com.android.tools.idea.gradle.model.stubs.JavaArtifactStub;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-import org.junit.Test;
-
-/** Tests for {@link IdeJavaArtifact}. */
-public class IdeJavaArtifactTest {
-
- @Test
- public void constructor() throws Throwable {
- JavaArtifact original = new JavaArtifactStub();
- IdeJavaArtifact copy = new IdeJavaArtifactImpl(
- convertArtifactName(original.getName()),
- original.getCompileTaskName(),
- original.getAssembleTaskName(),
- Arrays.asList(original.getClassesFolder()),
- null,
- null,
- original.getIdeSetupTaskNames(),
- (List)original.getGeneratedSourceFolders(),
- false,
- new IdeDependenciesImpl(Collections.emptyList(), Collections.emptyList(), Collections.emptyList(), Collections.emptyList()),
- Collections.emptyList(),
- original.getMockablePlatformJar()
- );
- assertEqualsOrSimilar(original, copy);
- }
-
- private IdeArtifactName convertArtifactName(String name) {
- switch (name) {
- case AndroidProject.ARTIFACT_MAIN:
- return IdeArtifactName.MAIN;
- case AndroidProject.ARTIFACT_ANDROID_TEST:
- return IdeArtifactName.ANDROID_TEST;
- case AndroidProject.ARTIFACT_UNIT_TEST:
- return IdeArtifactName.UNIT_TEST;
- case AndroidProject.ARTIFACT_TEST_FIXTURES:
- return IdeArtifactName.TEST_FIXTURES;
- }
- return null;
- }
-}
diff --git a/android/testSrc/com/android/tools/idea/gradle/project/model/ModelSerializationTest.kt b/android/testSrc/com/android/tools/idea/gradle/project/model/ModelSerializationTest.kt
index 416e41653ae..9605c55cdb4 100644
--- a/android/testSrc/com/android/tools/idea/gradle/project/model/ModelSerializationTest.kt
+++ b/android/testSrc/com/android/tools/idea/gradle/project/model/ModelSerializationTest.kt
@@ -18,7 +18,7 @@ package com.android.tools.idea.gradle.project.model
import com.android.ide.common.repository.GradleVersion
import com.android.tools.idea.Projects
import com.android.tools.idea.gradle.model.impl.IdeAaptOptionsImpl
-import com.android.tools.idea.gradle.model.impl.IdeAndroidArtifactImpl
+import com.android.tools.idea.gradle.model.impl.IdeAndroidArtifactCoreImpl
import com.android.tools.idea.gradle.model.impl.IdeAndroidArtifactOutputImpl
import com.android.tools.idea.gradle.model.impl.IdeAndroidGradlePluginProjectFlagsImpl
import com.android.tools.idea.gradle.model.impl.IdeAndroidLibraryDependencyImpl
@@ -28,9 +28,9 @@ import com.android.tools.idea.gradle.model.impl.IdeApiVersionImpl
import com.android.tools.idea.gradle.model.impl.IdeBuildTypeContainerImpl
import com.android.tools.idea.gradle.model.impl.IdeBuildTypeImpl
import com.android.tools.idea.gradle.model.impl.IdeClassFieldImpl
-import com.android.tools.idea.gradle.model.impl.IdeDependenciesImpl
+import com.android.tools.idea.gradle.model.impl.IdeDependenciesCoreImpl
import com.android.tools.idea.gradle.model.impl.IdeFilterDataImpl
-import com.android.tools.idea.gradle.model.impl.IdeJavaArtifactImpl
+import com.android.tools.idea.gradle.model.impl.IdeJavaArtifactCoreImpl
import com.android.tools.idea.gradle.model.impl.IdeJavaCompileOptionsImpl
import com.android.tools.idea.gradle.model.impl.IdeJavaLibraryImpl
import com.android.tools.idea.gradle.model.impl.IdeLintOptionsImpl
@@ -42,7 +42,7 @@ import com.android.tools.idea.gradle.model.impl.IdeSourceProviderContainerImpl
import com.android.tools.idea.gradle.model.impl.IdeSourceProviderImpl
import com.android.tools.idea.gradle.model.impl.IdeTestOptionsImpl
import com.android.tools.idea.gradle.model.impl.IdeTestedTargetVariantImpl
-import com.android.tools.idea.gradle.model.impl.IdeVariantImpl
+import com.android.tools.idea.gradle.model.impl.IdeVariantCoreImpl
import com.android.tools.idea.gradle.model.impl.IdeVectorDrawablesOptionsImpl
import com.android.tools.idea.gradle.model.impl.IdeViewBindingOptionsImpl
import com.android.tools.idea.gradle.model.impl.ndk.v1.IdeNativeAndroidProjectImpl
@@ -232,7 +232,7 @@ class ModelSerializationTest : AndroidGradleTestCase() {
fun testLevel2ModuleLibrary() = Truth.assertThat(IdeModuleLibraryImpl::class.java).isAssignableTo(Serializable::class.java)
@Test
- fun testLevel2Dependencies() = Truth.assertThat(IdeDependenciesImpl::class.java).isAssignableTo(Serializable::class.java)
+ fun testDependencyCores() = Truth.assertThat(IdeDependenciesCoreImpl::class.java).isAssignableTo(Serializable::class.java)
/*
* END LEVEL2 DEPENDENCY MODELS
@@ -243,7 +243,7 @@ class ModelSerializationTest : AndroidGradleTestCase() {
fun testAaptOptions() = Truth.assertThat(IdeAaptOptionsImpl::class.java).isAssignableTo(Serializable::class.java)
@Test
- fun testAndroidArtifact() = Truth.assertThat(IdeAndroidArtifactImpl::class.java).isAssignableTo(Serializable::class.java)
+ fun testAndroidArtifactCore() = Truth.assertThat(IdeAndroidArtifactCoreImpl::class.java).isAssignableTo(Serializable::class.java)
@Test
fun testAndroidArtifactOutput() = Truth.assertThat(IdeAndroidArtifactOutputImpl::class.java).isAssignableTo(Serializable::class.java)
@@ -261,7 +261,7 @@ class ModelSerializationTest : AndroidGradleTestCase() {
fun testFilterData() = Truth.assertThat(IdeFilterDataImpl::class.java).isAssignableTo(Serializable::class.java)
@Test
- fun testJavaArtifact() = Truth.assertThat(IdeJavaArtifactImpl::class.java).isAssignableTo(Serializable::class.java)
+ fun testJavaArtifactCore() = Truth.assertThat(IdeJavaArtifactCoreImpl::class.java).isAssignableTo(Serializable::class.java)
@Test
fun testJavaCompileOptions() = Truth.assertThat(IdeJavaCompileOptionsImpl::class.java).isAssignableTo(Serializable::class.java)
@@ -312,7 +312,7 @@ class ModelSerializationTest : AndroidGradleTestCase() {
fun testTestOptions() = Truth.assertThat(IdeTestOptionsImpl::class.java).isAssignableTo(Serializable::class.java)
@Test
- fun testVariant() = Truth.assertThat(IdeVariantImpl::class.java).isAssignableTo(Serializable::class.java)
+ fun testVariantCore() = Truth.assertThat(IdeVariantCoreImpl::class.java).isAssignableTo(Serializable::class.java)
@Test
fun testVectorDrawablesOptions() = Truth.assertThat(IdeVectorDrawablesOptionsImpl::class.java).isAssignableTo(Serializable::class.java)
diff --git a/android/testSrc/com/android/tools/idea/gradle/project/sync/LightSyncBasedTestsWithGradleLikeStructureTest.kt b/android/testSrc/com/android/tools/idea/gradle/project/sync/LightSyncBasedTestsWithGradleLikeStructureTest.kt
index ddb1e73c8f4..cba17eeeaac 100644
--- a/android/testSrc/com/android/tools/idea/gradle/project/sync/LightSyncBasedTestsWithGradleLikeStructureTest.kt
+++ b/android/testSrc/com/android/tools/idea/gradle/project/sync/LightSyncBasedTestsWithGradleLikeStructureTest.kt
@@ -17,6 +17,7 @@ package com.android.tools.idea.gradle.project.sync
import com.android.tools.idea.gradle.model.impl.IdeAndroidLibraryDependencyImpl
import com.android.tools.idea.gradle.model.impl.IdeAndroidLibraryImpl
+import com.android.tools.idea.gradle.model.impl.IdeAndroidLibraryDependencyCoreImpl
import com.android.tools.idea.projectsystem.ProjectSyncModificationTracker
import com.android.tools.idea.testing.AndroidModuleDependency
import com.android.tools.idea.testing.AndroidModuleModelBuilder
@@ -217,7 +218,7 @@ private fun libModuleBuilderWithLib(gradleCacheRoot: File) =
)
private fun ideAndroidLibrary(gradleCacheRoot: File, artifactAddress: String) =
- IdeAndroidLibraryDependencyImpl(
+ IdeAndroidLibraryDependencyCoreImpl(
IdeAndroidLibraryImpl.create(
artifactAddress = artifactAddress,
name = artifactAddress,
diff --git a/android/testSrc/com/android/tools/idea/gradle/stubs/android/AndroidProjectStub.java b/android/testSrc/com/android/tools/idea/gradle/stubs/android/AndroidProjectStub.java
index b4d34f8e6a5..a33015b3f17 100644
--- a/android/testSrc/com/android/tools/idea/gradle/stubs/android/AndroidProjectStub.java
+++ b/android/testSrc/com/android/tools/idea/gradle/stubs/android/AndroidProjectStub.java
@@ -36,15 +36,11 @@ import com.android.builder.model.SyncIssue;
import com.android.builder.model.Variant;
import com.android.builder.model.VariantBuildInformation;
import com.android.builder.model.ViewBindingOptions;
-import com.android.ide.common.repository.GradleVersion;
import com.android.tools.idea.gradle.model.IdeAndroidProject;
-import com.android.tools.idea.gradle.model.IdeVariant;
-import com.android.tools.idea.gradle.model.impl.IdeAndroidProjectImpl;
import com.android.tools.idea.gradle.model.stubs.AndroidGradlePluginProjectFlagsStub;
import com.android.tools.idea.gradle.model.stubs.VariantBuildInformationStub;
import com.android.tools.idea.gradle.model.stubs.ViewBindingOptionsStub;
import com.android.tools.idea.gradle.project.sync.ModelCache;
-import com.android.tools.idea.gradle.project.sync.ModuleId;
import com.android.tools.idea.gradle.stubs.FileStructure;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
@@ -396,12 +392,4 @@ public class AndroidProjectStub implements AndroidProject {
public static IdeAndroidProject toIdeAndroidProject(AndroidProjectStub androidProject) {
return ((ModelCache.V1)(ModelCache.create(false))).androidProjectFrom(androidProject);
}
-
- @NotNull
- public static List<IdeVariant> toIdeVariants(AndroidProjectStub androidProject) {
- ModelCache.V1 modelCache = (ModelCache.V1)ModelCache.create(false);
- GradleVersion modelVersion = GradleVersion.tryParseAndroidGradlePluginVersion(androidProject.getModelVersion());
- IdeAndroidProjectImpl ideAndroidProject = modelCache.androidProjectFrom(androidProject);
- return map(androidProject.getVariants(), it -> modelCache.variantFrom(ideAndroidProject, it, modelVersion, new ModuleId("", "")));
- }
}
diff --git a/android/testSrc/org/jetbrains/android/uipreview/ModuleClassLoaderTest.java b/android/testSrc/org/jetbrains/android/uipreview/ModuleClassLoaderTest.java
index 7fefeea29d3..f1ea1e831e0 100644
--- a/android/testSrc/org/jetbrains/android/uipreview/ModuleClassLoaderTest.java
+++ b/android/testSrc/org/jetbrains/android/uipreview/ModuleClassLoaderTest.java
@@ -27,8 +27,8 @@ import com.android.ide.common.rendering.api.ResourceNamespace;
import com.android.ide.common.resources.ResourceRepository;
import com.android.tools.idea.flags.StudioFlags;
import com.android.tools.idea.gradle.model.IdeAndroidProjectType;
-import com.android.tools.idea.gradle.model.impl.IdeAndroidLibraryDependencyImpl;
import com.android.tools.idea.gradle.model.impl.IdeAndroidLibraryImpl;
+import com.android.tools.idea.gradle.model.impl.IdeAndroidLibraryDependencyCoreImpl;
import com.android.tools.idea.projectsystem.SourceProviders;
import com.android.tools.idea.res.ResourceClassRegistry;
import com.android.tools.idea.res.ResourceIdManager;
@@ -411,11 +411,11 @@ public class ModuleClassLoaderTest extends AndroidTestCase {
assertNull("Disposed ModuleClassLoaders can not be copied", copy);
}
- private static IdeAndroidLibraryDependencyImpl ideAndroidLibrary(File gradleCacheRoot,
- @SuppressWarnings("SameParameterValue") String artifactAddress,
- String folder,
- String libJar) {
- return new IdeAndroidLibraryDependencyImpl(
+ private static IdeAndroidLibraryDependencyCoreImpl ideAndroidLibrary(File gradleCacheRoot,
+ @SuppressWarnings("SameParameterValue") String artifactAddress,
+ String folder,
+ String libJar) {
+ return new IdeAndroidLibraryDependencyCoreImpl(
IdeAndroidLibraryImpl.Companion.create(
artifactAddress,
artifactAddress,