mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
convert to kotlin, drop useless test.
This commit is contained in:
-74
@@ -1,74 +0,0 @@
|
||||
// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
|
||||
package com.intellij.openapi.externalSystem.service.project.manage;
|
||||
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.externalSystem.ExternalSystemManager;
|
||||
import com.intellij.openapi.externalSystem.model.DataNode;
|
||||
import com.intellij.openapi.externalSystem.model.ExternalProjectInfo;
|
||||
import com.intellij.openapi.externalSystem.model.ProjectSystemId;
|
||||
import com.intellij.openapi.externalSystem.model.project.ContentRootData;
|
||||
import com.intellij.openapi.externalSystem.model.project.ProjectData;
|
||||
import com.intellij.openapi.externalSystem.service.project.IdeModifiableModelsProviderImpl;
|
||||
import com.intellij.openapi.externalSystem.service.project.ProjectDataManager;
|
||||
import com.intellij.openapi.externalSystem.util.ExternalSystemApiUtil;
|
||||
import com.intellij.openapi.module.ModuleManager;
|
||||
import com.intellij.openapi.project.DumbAware;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.startup.StartupActivity;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
import static com.intellij.openapi.externalSystem.model.ProjectKeys.CONTENT_ROOT;
|
||||
|
||||
public class ReprocessContentRootDataActivity implements StartupActivity, DumbAware {
|
||||
|
||||
private static final Logger LOG = Logger.getInstance(ReprocessContentRootDataActivity.class);
|
||||
|
||||
@Override
|
||||
public void runActivity(@NotNull Project project) {
|
||||
|
||||
final ProjectDataManager dataManager = ProjectDataManager.getInstance();
|
||||
final ContentRootDataService service = new ContentRootDataService();
|
||||
final IdeModifiableModelsProviderImpl modifiableModelsProvider = new IdeModifiableModelsProviderImpl(project);
|
||||
|
||||
logUnitTest("Adding 'reprocess content root data' activity to 'runWhenSmart' queue in project [hash=" + project.hashCode() + "]");
|
||||
ApplicationManager.getApplication().invokeLater(() -> {
|
||||
logUnitTest("Reprocessing content root data for project [hash=" + project.hashCode() + "]");
|
||||
ExternalProjectsManagerImpl.getInstance(project).init();
|
||||
final boolean haveModulesToProcess = ModuleManager.getInstance(project).getModules().length > 0;
|
||||
if (!haveModulesToProcess) {
|
||||
logUnitTest("Have zero modules to process, returning");
|
||||
return;
|
||||
}
|
||||
try {
|
||||
final Collection<ExternalSystemManager<?, ?, ?, ?, ?>> managers = ExternalSystemApiUtil.getAllManagers();
|
||||
logUnitTest("Found [" + managers.size() + "] external system managers");
|
||||
for (ExternalSystemManager<?, ?, ?, ?, ?> manager : managers) {
|
||||
ProjectSystemId id = manager.getSystemId();
|
||||
final Collection<ExternalProjectInfo> data = dataManager.getExternalProjectsData(project, id);
|
||||
logUnitTest("Found [" + data.size() + "] external project infos using manager class=[" + dataManager.getClass().getCanonicalName() + "]");
|
||||
for (ExternalProjectInfo info : data) {
|
||||
DataNode<ProjectData> projectStructure = info.getExternalProjectStructure();
|
||||
logUnitTest("External data graph root is "
|
||||
+ (projectStructure == null ? "" : "not")
|
||||
+ " null for external project path=[" + info.getExternalProjectPath() + "]");
|
||||
if (projectStructure != null) {
|
||||
Collection<DataNode<ContentRootData>> roots = ExternalSystemApiUtil.findAllRecursively(projectStructure, CONTENT_ROOT);
|
||||
service.importData(roots, null, project, modifiableModelsProvider);
|
||||
}
|
||||
}
|
||||
}
|
||||
} finally {
|
||||
ExternalSystemApiUtil.doWriteAction(() -> modifiableModelsProvider.commit());
|
||||
}
|
||||
}, project.getDisposed());
|
||||
}
|
||||
|
||||
protected void logUnitTest(String message) {
|
||||
if (ApplicationManager.getApplication().isUnitTestMode()) {
|
||||
LOG.info(message);
|
||||
}
|
||||
}
|
||||
}
|
||||
+43
@@ -0,0 +1,43 @@
|
||||
// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
|
||||
package com.intellij.openapi.externalSystem.service.project.manage
|
||||
|
||||
import com.intellij.openapi.externalSystem.model.ProjectKeys.CONTENT_ROOT
|
||||
import com.intellij.openapi.externalSystem.service.project.IdeModifiableModelsProviderImpl
|
||||
import com.intellij.openapi.externalSystem.service.project.ProjectDataManager
|
||||
import com.intellij.openapi.externalSystem.util.ExternalSystemApiUtil
|
||||
import com.intellij.openapi.module.ModuleManager
|
||||
import com.intellij.openapi.project.DumbAware
|
||||
import com.intellij.openapi.project.Project
|
||||
import com.intellij.openapi.startup.StartupActivity
|
||||
|
||||
class ReprocessContentRootDataActivity : StartupActivity, DumbAware {
|
||||
|
||||
override fun runActivity(project: Project) {
|
||||
val dataManager = ProjectDataManager.getInstance()
|
||||
val service = ContentRootDataService()
|
||||
|
||||
val externalProjectsManager = ExternalProjectsManagerImpl.getInstance(project)
|
||||
externalProjectsManager.init()
|
||||
externalProjectsManager.runWhenInitialized {
|
||||
val haveModulesToProcess = ModuleManager.getInstance(project).modules.isNotEmpty()
|
||||
if (!haveModulesToProcess) {
|
||||
return@runWhenInitialized
|
||||
}
|
||||
var modifiableModelsProvider: IdeModifiableModelsProviderImpl? = null
|
||||
try {
|
||||
modifiableModelsProvider = IdeModifiableModelsProviderImpl(project)
|
||||
ExternalSystemApiUtil.getAllManagers()
|
||||
.flatMap { dataManager.getExternalProjectsData(project, it.getSystemId()) }
|
||||
.mapNotNull { it.externalProjectStructure }
|
||||
.map { ExternalSystemApiUtil.findAllRecursively(it, CONTENT_ROOT) }
|
||||
.forEach {
|
||||
service.importData(it, null, project, modifiableModelsProvider)
|
||||
}
|
||||
println("hello!")
|
||||
}
|
||||
finally {
|
||||
ExternalSystemApiUtil.doWriteAction { modifiableModelsProvider?.commit() }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
-44
@@ -15,20 +15,12 @@
|
||||
*/
|
||||
package org.jetbrains.plugins.gradle.importing;
|
||||
|
||||
import com.intellij.openapi.application.WriteAction;
|
||||
import com.intellij.openapi.externalSystem.util.ExternalSystemApiUtil;
|
||||
import com.intellij.openapi.module.Module;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.project.ex.ProjectManagerEx;
|
||||
import com.intellij.openapi.roots.ContentEntry;
|
||||
import com.intellij.openapi.roots.ModuleRootManager;
|
||||
import com.intellij.openapi.util.Disposer;
|
||||
import com.intellij.openapi.util.Ref;
|
||||
import com.intellij.openapi.vfs.VirtualFileManager;
|
||||
import com.intellij.testFramework.PlatformTestUtil;
|
||||
import com.intellij.util.ui.UIUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.SystemIndependent;
|
||||
import org.jetbrains.jps.model.java.JavaSourceRootType;
|
||||
import org.jetbrains.plugins.gradle.tooling.annotation.TargetVersions;
|
||||
import org.junit.Test;
|
||||
@@ -320,42 +312,6 @@ public class GradleFoldersImportingTest extends GradleImportingTestCase {
|
||||
assertTestSources("project", "test-src/java");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testRootsListenersRestoredWhenProjectOpen() throws Exception {
|
||||
createProjectSubFile("src/main/java/A.java");
|
||||
importProjectUsingSingeModulePerGradleProject("apply plugin: 'java'");
|
||||
|
||||
@SystemIndependent final String path = myProject.getProjectFilePath();
|
||||
|
||||
edt(() -> {
|
||||
VirtualFileManager.getInstance().syncRefresh();
|
||||
UIUtil.dispatchAllInvocationEvents();
|
||||
PlatformTestUtil.saveProject(myProject);
|
||||
ProjectManagerEx.getInstanceEx().closeProject(myProject);
|
||||
UIUtil.dispatchAllInvocationEvents();
|
||||
});
|
||||
|
||||
final ProjectManagerEx projectManager = ProjectManagerEx.getInstanceEx();
|
||||
final Ref<Project> projectRef = new Ref<>();
|
||||
try {
|
||||
projectRef.set(projectManager.loadProject(path));
|
||||
edt(() -> projectManager.openTestProject(projectRef.get()));
|
||||
createProjectSubFile("src/test/java/ATest.java");
|
||||
|
||||
edt(() -> UIUtil.dispatchAllInvocationEvents());
|
||||
assertTestSources(projectRef.get(), "project", "src/test/java");
|
||||
}
|
||||
finally {
|
||||
if (!projectRef.isNull()) {
|
||||
edt(() -> {
|
||||
projectManager.closeTestProject(projectRef.get());
|
||||
WriteAction.run(() -> Disposer.dispose(projectRef.get()));
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
protected void assertDefaultGradleJavaProjectFolders(@NotNull String mainModuleName) {
|
||||
assertExcludes(mainModuleName, ".gradle", "build", "out");
|
||||
final String mainSourceSetModuleName = mainModuleName + "_main";
|
||||
|
||||
Reference in New Issue
Block a user