diff --git a/platform/external-system-api/src/com/intellij/openapi/externalSystem/settings/AbstractExternalSystemSettings.java b/platform/external-system-api/src/com/intellij/openapi/externalSystem/settings/AbstractExternalSystemSettings.java index 2d0411a9e666..0b0108fac4a3 100644 --- a/platform/external-system-api/src/com/intellij/openapi/externalSystem/settings/AbstractExternalSystemSettings.java +++ b/platform/external-system-api/src/com/intellij/openapi/externalSystem/settings/AbstractExternalSystemSettings.java @@ -22,6 +22,7 @@ import com.intellij.openapi.externalSystem.model.ProjectSystemId; import com.intellij.openapi.externalSystem.service.execution.ProgressExecutionMode; import com.intellij.openapi.externalSystem.service.project.manage.ExternalProjectsManager; import com.intellij.openapi.project.Project; +import com.intellij.util.SystemProperties; import com.intellij.util.containers.ContainerUtilRt; import com.intellij.util.messages.Topic; import org.jetbrains.annotations.NotNull; @@ -69,6 +70,10 @@ public abstract class AbstractExternalSystemSettings< return myProject; } + public boolean showSelectiveImportDialogOnInitialImport() { + return SystemProperties.is("external.system.show.selective.import.dialog"); + } + /** * Every time particular external system setting is changed corresponding message is sent via ide * messaging sub-system. diff --git a/platform/external-system-impl/src/com/intellij/openapi/externalSystem/service/project/wizard/AbstractExternalProjectImportBuilder.java b/platform/external-system-impl/src/com/intellij/openapi/externalSystem/service/project/wizard/AbstractExternalProjectImportBuilder.java index 4458a5a35f26..0ae14ea8ed42 100644 --- a/platform/external-system-impl/src/com/intellij/openapi/externalSystem/service/project/wizard/AbstractExternalProjectImportBuilder.java +++ b/platform/external-system-impl/src/com/intellij/openapi/externalSystem/service/project/wizard/AbstractExternalProjectImportBuilder.java @@ -183,7 +183,7 @@ public abstract class AbstractExternalProjectImportBuilder ServiceManager.getService(ProjectDataManager.class).importData(externalProject, project, false); - if (!ApplicationManager.getApplication().isHeadlessEnvironment()) { + boolean showSelectiveImportDialog = GradleSettings.getInstance(project).showSelectiveImportDialogOnInitialImport(); + if (showSelectiveImportDialog && !ApplicationManager.getApplication().isHeadlessEnvironment()) { ApplicationManager.getApplication().invokeLater(() -> { selectDataTask.run(); ApplicationManager.getApplication().executeOnPooledThread(importTask);