Fix compilation IntelliJLintClient, IntelliJLintProject, IDEAndroidLayoutXmlFileManager
This commit is contained in:
committed by
Nikolay Krasko
parent
c07096c9d7
commit
a142c2f8fa
+4
-4
@@ -17,7 +17,7 @@
|
||||
package org.jetbrains.kotlin.android.synthetic.idea.res
|
||||
|
||||
import com.android.builder.model.SourceProvider
|
||||
import com.android.tools.idea.gradle.AndroidGradleModel
|
||||
import com.android.tools.idea.gradle.project.model.AndroidModuleModel
|
||||
import com.intellij.openapi.module.Module
|
||||
import com.intellij.openapi.roots.ProjectRootModificationTracker
|
||||
import com.intellij.psi.PsiElement
|
||||
@@ -126,7 +126,7 @@ class IDEAndroidLayoutXmlFileManager(val module: Module) : AndroidLayoutXmlFileM
|
||||
sourceProviders?.map { it.toVariant() } ?: listOf()
|
||||
}
|
||||
else {
|
||||
val model = AndroidGradleModel.get(androidFacet.module)
|
||||
val model = AndroidModuleModel.get(androidFacet.module)
|
||||
model?.flavorSourceProviders?.map { it.toVariant() } ?: listOf(androidFacet.mainSourceProvider.toVariant())
|
||||
}
|
||||
|
||||
@@ -143,7 +143,7 @@ class IDEAndroidLayoutXmlFileManager(val module: Module) : AndroidLayoutXmlFileM
|
||||
val allResDirectories = androidFacet.getAppResources(true)?.resourceDirs.orEmpty().mapNotNull { it.canonicalPath }
|
||||
|
||||
val resDirectoriesForMainVariant = androidFacet.run {
|
||||
val resDirsFromSourceProviders = AndroidGradleModel.get(this.module)?.allSourceProviders.orEmpty()
|
||||
val resDirsFromSourceProviders = AndroidModuleModel.get(this.module)?.allSourceProviders.orEmpty()
|
||||
.filter { it.name != "main" }
|
||||
.flatMap { it.resDirectories }
|
||||
.map { it.canonicalPath }
|
||||
@@ -153,7 +153,7 @@ class IDEAndroidLayoutXmlFileManager(val module: Module) : AndroidLayoutXmlFileM
|
||||
|
||||
val variants = mutableListOf(AndroidVariant("main", resDirectoriesForMainVariant))
|
||||
|
||||
AndroidGradleModel.get(androidFacet.module)?.let { androidGradleModel ->
|
||||
AndroidModuleModel.get(androidFacet.module)?.let { androidGradleModel ->
|
||||
androidGradleModel.activeSourceProviders.filter { it.name != "main" }.forEach { sourceProvider ->
|
||||
variants += sourceProvider.toVariant()
|
||||
}
|
||||
|
||||
+3
-2
@@ -9,6 +9,7 @@ import com.android.ide.common.res2.ResourceFile;
|
||||
import com.android.ide.common.res2.ResourceItem;
|
||||
import com.android.sdklib.repository.AndroidSdkHandler;
|
||||
import com.android.tools.idea.gradle.util.Projects;
|
||||
import com.android.tools.idea.project.AndroidProjectInfo;
|
||||
import com.android.tools.idea.res.AppResourceRepository;
|
||||
import com.android.tools.idea.res.LocalResourceRepository;
|
||||
import com.android.tools.idea.sdk.IdeSdks;
|
||||
@@ -329,7 +330,7 @@ public class IntellijLintClient extends LintClient implements Disposable {
|
||||
}
|
||||
}
|
||||
|
||||
return IdeSdks.getAndroidSdkPath();
|
||||
return IdeSdks.getInstance().getAndroidSdkPath();
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@@ -380,7 +381,7 @@ public class IntellijLintClient extends LintClient implements Disposable {
|
||||
AndroidFacet facet = AndroidFacet.getInstance(module);
|
||||
return facet != null && facet.requiresAndroidModel();
|
||||
}
|
||||
return Projects.requiresAndroidModel(myProject);
|
||||
return AndroidProjectInfo.getInstance(this.myProject).requiresAndroidModel();
|
||||
}
|
||||
|
||||
// Overridden such that lint doesn't complain about missing a bin dir property in the event
|
||||
|
||||
+23
-23
@@ -19,7 +19,7 @@ import com.android.annotations.NonNull;
|
||||
import com.android.builder.model.*;
|
||||
import com.android.sdklib.AndroidTargetHash;
|
||||
import com.android.sdklib.AndroidVersion;
|
||||
import com.android.tools.idea.gradle.AndroidGradleModel;
|
||||
import com.android.tools.idea.gradle.project.model.AndroidModuleModel;
|
||||
import com.android.tools.idea.gradle.util.GradleUtil;
|
||||
import com.android.tools.idea.model.AndroidModel;
|
||||
import com.android.tools.idea.model.AndroidModuleInfo;
|
||||
@@ -257,9 +257,9 @@ class IntellijLintProject extends Project {
|
||||
|
||||
AndroidFacet facet = AndroidFacet.getInstance(module);
|
||||
if (facet != null) {
|
||||
AndroidGradleModel androidGradleModel = AndroidGradleModel.get(facet);
|
||||
if (androidGradleModel != null) {
|
||||
addGradleLibraryProjects(client, files, libraryMap, projects, facet, androidGradleModel, project, projectMap, dependencies);
|
||||
AndroidModuleModel androidModuleModel = AndroidModuleModel.get(facet);
|
||||
if (androidModuleModel != null) {
|
||||
addGradleLibraryProjects(client, files, libraryMap, projects, facet, androidModuleModel, project, projectMap, dependencies);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -320,8 +320,8 @@ class IntellijLintProject extends Project {
|
||||
}
|
||||
else if (facet.requiresAndroidModel()) {
|
||||
AndroidModel androidModel = facet.getAndroidModel();
|
||||
if (androidModel instanceof AndroidGradleModel) {
|
||||
project = new LintGradleProject(client, dir, dir, facet, (AndroidGradleModel)androidModel);
|
||||
if (androidModel instanceof AndroidModuleModel) {
|
||||
project = new LintGradleProject(client, dir, dir, facet, (AndroidModuleModel)androidModel);
|
||||
} else {
|
||||
project = new LintAndroidModelProject(client, dir, dir, facet, androidModel);
|
||||
}
|
||||
@@ -358,11 +358,11 @@ class IntellijLintProject extends Project {
|
||||
@NonNull Map<AndroidLibrary, Project> libraryMap,
|
||||
@NonNull List<Project> projects,
|
||||
@NonNull AndroidFacet facet,
|
||||
@NonNull AndroidGradleModel androidGradleModel,
|
||||
@NonNull AndroidModuleModel AndroidModuleModel,
|
||||
@NonNull LintModuleProject project,
|
||||
@NonNull Map<Project,Module> projectMap,
|
||||
@NonNull List<Project> dependencies) {
|
||||
Collection<AndroidLibrary> libraries = androidGradleModel.getMainArtifact().getDependencies().getLibraries();
|
||||
Collection<AndroidLibrary> libraries = AndroidModuleModel.getMainArtifact().getDependencies().getLibraries();
|
||||
for (AndroidLibrary library : libraries) {
|
||||
Project p = libraryMap.get(library);
|
||||
if (p == null) {
|
||||
@@ -705,7 +705,7 @@ class IntellijLintProject extends Project {
|
||||
}
|
||||
|
||||
private static class LintGradleProject extends LintAndroidModelProject {
|
||||
private final AndroidGradleModel myAndroidGradleModel;
|
||||
private final AndroidModuleModel myAndroidModuleModel;
|
||||
|
||||
/**
|
||||
* Creates a new Project. Use one of the factory methods to create.
|
||||
@@ -715,11 +715,11 @@ class IntellijLintProject extends Project {
|
||||
@NonNull File dir,
|
||||
@NonNull File referenceDir,
|
||||
@NonNull AndroidFacet facet,
|
||||
@NonNull AndroidGradleModel androidGradleModel) {
|
||||
super(client, dir, referenceDir, facet, androidGradleModel);
|
||||
@NonNull AndroidModuleModel AndroidModuleModel) {
|
||||
super(client, dir, referenceDir, facet, AndroidModuleModel);
|
||||
mGradleProject = true;
|
||||
mMergeManifests = true;
|
||||
myAndroidGradleModel = androidGradleModel;
|
||||
myAndroidModuleModel = AndroidModuleModel;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@@ -732,7 +732,7 @@ class IntellijLintProject extends Project {
|
||||
mManifestFiles.add(mainManifest);
|
||||
}
|
||||
|
||||
List<SourceProvider> flavorSourceProviders = myAndroidGradleModel.getFlavorSourceProviders();
|
||||
List<SourceProvider> flavorSourceProviders = myAndroidModuleModel.getFlavorSourceProviders();
|
||||
if (flavorSourceProviders != null) {
|
||||
for (SourceProvider provider : flavorSourceProviders) {
|
||||
File manifestFile = provider.getManifestFile();
|
||||
@@ -742,7 +742,7 @@ class IntellijLintProject extends Project {
|
||||
}
|
||||
}
|
||||
|
||||
SourceProvider multiProvider = myAndroidGradleModel.getMultiFlavorSourceProvider();
|
||||
SourceProvider multiProvider = myAndroidModuleModel.getMultiFlavorSourceProvider();
|
||||
if (multiProvider != null) {
|
||||
File manifestFile = multiProvider.getManifestFile();
|
||||
if (manifestFile.exists()) {
|
||||
@@ -750,7 +750,7 @@ class IntellijLintProject extends Project {
|
||||
}
|
||||
}
|
||||
|
||||
SourceProvider buildTypeSourceProvider = myAndroidGradleModel.getBuildTypeSourceProvider();
|
||||
SourceProvider buildTypeSourceProvider = myAndroidModuleModel.getBuildTypeSourceProvider();
|
||||
if (buildTypeSourceProvider != null) {
|
||||
File manifestFile = buildTypeSourceProvider.getManifestFile();
|
||||
if (manifestFile.exists()) {
|
||||
@@ -758,7 +758,7 @@ class IntellijLintProject extends Project {
|
||||
}
|
||||
}
|
||||
|
||||
SourceProvider variantProvider = myAndroidGradleModel.getVariantSourceProvider();
|
||||
SourceProvider variantProvider = myAndroidModuleModel.getVariantSourceProvider();
|
||||
if (variantProvider != null) {
|
||||
File manifestFile = variantProvider.getManifestFile();
|
||||
if (manifestFile.exists()) {
|
||||
@@ -794,7 +794,7 @@ class IntellijLintProject extends Project {
|
||||
if (mProguardFiles == null) {
|
||||
if (myFacet.requiresAndroidModel()) {
|
||||
// TODO: b/22928250
|
||||
AndroidGradleModel androidModel = AndroidGradleModel.get(myFacet);
|
||||
AndroidModuleModel androidModel = AndroidModuleModel.get(myFacet);
|
||||
if (androidModel != null) {
|
||||
ProductFlavor flavor = androidModel.getAndroidProject().getDefaultConfig().getProductFlavor();
|
||||
mProguardFiles = Lists.newArrayList();
|
||||
@@ -833,7 +833,7 @@ class IntellijLintProject extends Project {
|
||||
// Overridden because we don't synchronize the gradle output directory to
|
||||
// the AndroidDexCompiler settings the way java source roots are mapped into
|
||||
// the module content root settings
|
||||
File dir = myAndroidGradleModel.getMainArtifact().getClassesFolder();
|
||||
File dir = myAndroidModuleModel.getMainArtifact().getClassesFolder();
|
||||
if (dir != null) {
|
||||
mJavaClassFolders = Collections.singletonList(dir);
|
||||
} else {
|
||||
@@ -855,7 +855,7 @@ class IntellijLintProject extends Project {
|
||||
if (SUPPORT_CLASS_FILES) {
|
||||
if (mJavaLibraries == null) {
|
||||
if (myFacet.requiresAndroidModel() && myFacet.getAndroidModel() != null) {
|
||||
Collection<JavaLibrary> libs = myAndroidGradleModel.getMainArtifact().getDependencies().getJavaLibraries();
|
||||
Collection<JavaLibrary> libs = myAndroidModuleModel.getMainArtifact().getDependencies().getJavaLibraries();
|
||||
mJavaLibraries = Lists.newArrayListWithExpectedSize(libs.size());
|
||||
for (JavaLibrary lib : libs) {
|
||||
if (!includeProvided) {
|
||||
@@ -892,7 +892,7 @@ class IntellijLintProject extends Project {
|
||||
@Override
|
||||
public int getBuildSdk() {
|
||||
// TODO: b/22928250
|
||||
AndroidGradleModel androidModel = AndroidGradleModel.get(myFacet);
|
||||
AndroidModuleModel androidModel = AndroidModuleModel.get(myFacet);
|
||||
if (androidModel != null) {
|
||||
String compileTarget = androidModel.getAndroidProject().getCompileTarget();
|
||||
AndroidVersion version = AndroidTargetHash.getPlatformVersion(compileTarget);
|
||||
@@ -913,7 +913,7 @@ class IntellijLintProject extends Project {
|
||||
@Override
|
||||
public AndroidProject getGradleProjectModel() {
|
||||
// TODO: b/22928250
|
||||
AndroidGradleModel androidModel = AndroidGradleModel.get(myFacet);
|
||||
AndroidModuleModel androidModel = AndroidModuleModel.get(myFacet);
|
||||
if (androidModel != null) {
|
||||
return androidModel.getAndroidProject();
|
||||
}
|
||||
@@ -925,7 +925,7 @@ class IntellijLintProject extends Project {
|
||||
@Override
|
||||
public Variant getCurrentVariant() {
|
||||
// TODO: b/22928250
|
||||
AndroidGradleModel androidModel = AndroidGradleModel.get(myFacet);
|
||||
AndroidModuleModel androidModel = AndroidModuleModel.get(myFacet);
|
||||
if (androidModel != null) {
|
||||
return androidModel.getSelectedVariant();
|
||||
}
|
||||
@@ -943,7 +943,7 @@ class IntellijLintProject extends Project {
|
||||
@Override
|
||||
public Boolean dependsOn(@NonNull String artifact) {
|
||||
// TODO: b/22928250
|
||||
AndroidGradleModel androidModel = AndroidGradleModel.get(myFacet);
|
||||
AndroidModuleModel androidModel = AndroidModuleModel.get(myFacet);
|
||||
|
||||
if (SUPPORT_LIB_ARTIFACT.equals(artifact)) {
|
||||
if (mSupportLib == null) {
|
||||
|
||||
Reference in New Issue
Block a user