mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Added info about preferred approach to open/import gradle project
remove usage of JavaGradleProjectImportBuilder GitOrigin-RevId: fcc3ca6abd9cf58a39ff51fb4ba3d5e19e51ff84
This commit is contained in:
committed by
intellij-monorepo-bot
parent
c404136819
commit
fbf9fa3abf
@@ -5,6 +5,7 @@ import com.intellij.externalSystem.JavaProjectData;
|
||||
import com.intellij.ide.util.projectWizard.WizardContext;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.components.ServiceManager;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.externalSystem.model.DataNode;
|
||||
import com.intellij.openapi.externalSystem.model.ExternalSystemDataKeys;
|
||||
import com.intellij.openapi.externalSystem.model.internal.InternalExternalProjectInfo;
|
||||
@@ -50,6 +51,8 @@ import java.util.stream.Collectors;
|
||||
*/
|
||||
@Deprecated
|
||||
public final class GradleProjectImportBuilder extends AbstractExternalProjectImportBuilder<ImportFromGradleControl> {
|
||||
private static final Logger LOG = Logger.getInstance(GradleProjectImportBuilder.class);
|
||||
|
||||
public GradleProjectImportBuilder() {
|
||||
this(ProjectDataManager.getInstance());
|
||||
}
|
||||
@@ -64,6 +67,14 @@ public final class GradleProjectImportBuilder extends AbstractExternalProjectImp
|
||||
|
||||
public GradleProjectImportBuilder(@NotNull ProjectDataManager dataManager) {
|
||||
super(dataManager, () -> new ImportFromGradleControl(), GradleConstants.SYSTEM_ID);
|
||||
LOG.warn("Do not use `GradleProjectImportBuilder` directly. Use instead:\n" +
|
||||
"Internal stable Api\n" +
|
||||
" Use `com.intellij.ide.actions.ImportModuleAction.doImport` to import (attach) a new project.\n" +
|
||||
" Use `com.intellij.ide.impl.ProjectUtil.openOrImport` to open (import) a new project.\n" +
|
||||
"Internal experimental Api\n" +
|
||||
" Use `org.jetbrains.plugins.gradle.service.project.open.openProject` to open (import) a new gradle project.\n" +
|
||||
" Use `org.jetbrains.plugins.gradle.service.project.open.importProject` to attach a gradle project to an opened idea project.",
|
||||
new Throwable());
|
||||
}
|
||||
|
||||
@NotNull
|
||||
|
||||
@@ -22,6 +22,17 @@ import org.jetbrains.plugins.gradle.util.GradleConstants
|
||||
import javax.swing.Icon
|
||||
|
||||
|
||||
/**
|
||||
* Do not use this project import builder directly.
|
||||
*
|
||||
* Internal stable Api
|
||||
* Use [com.intellij.ide.actions.ImportModuleAction.doImport] to import (attach) a new project.
|
||||
* Use [com.intellij.ide.impl.ProjectUtil.openOrImport] to open (import) a new project.
|
||||
*
|
||||
* Internal experimental Api
|
||||
* Use [org.jetbrains.plugins.gradle.service.project.open.openProject] to open (import) a new gradle project.
|
||||
* Use [org.jetbrains.plugins.gradle.service.project.open.importProject] to attach a gradle project to an opened idea project.
|
||||
*/
|
||||
class JavaGradleProjectImportBuilder : ProjectImportBuilder<Any>(), DeprecatedProjectBuilderForImport {
|
||||
|
||||
override fun getName(): String = GradleBundle.message("gradle.name")
|
||||
|
||||
@@ -9,6 +9,10 @@ import org.jetbrains.plugins.gradle.service.project.open.canImportProjectFrom
|
||||
import org.jetbrains.plugins.gradle.util.GradleConstants
|
||||
import org.jetbrains.plugins.gradle.util.GradleConstants.SYSTEM_ID
|
||||
|
||||
/**
|
||||
* Do not use this import provider directly.
|
||||
* @see JavaGradleProjectImportBuilder
|
||||
*/
|
||||
class JavaGradleProjectImportProvider : AbstractExternalProjectImportProvider(JavaGradleProjectImportBuilder(), SYSTEM_ID) {
|
||||
|
||||
override fun createSteps(context: WizardContext): Array<ModuleWizardStep> {
|
||||
|
||||
+3
@@ -29,6 +29,7 @@ import com.intellij.util.EnvironmentUtil
|
||||
import com.intellij.util.io.exists
|
||||
import com.intellij.util.text.nullize
|
||||
import org.gradle.util.GradleVersion
|
||||
import org.jetbrains.annotations.ApiStatus
|
||||
import org.jetbrains.plugins.gradle.service.GradleInstallationManager
|
||||
import org.jetbrains.plugins.gradle.settings.DistributionType
|
||||
import org.jetbrains.plugins.gradle.settings.DistributionType.DEFAULT_WRAPPED
|
||||
@@ -52,6 +53,7 @@ fun canImportProjectFrom(file: VirtualFile): Boolean {
|
||||
return file.children.any(::isGradleProjectFile)
|
||||
}
|
||||
|
||||
@ApiStatus.Experimental
|
||||
fun openProject(projectFile: VirtualFile, projectToClose: Project?, forceOpenInNewFrame: Boolean): Project? {
|
||||
if (!canImportProjectFrom(projectFile)) return null
|
||||
val projectDirectory = findExternalProjectDirectory(projectFile)
|
||||
@@ -66,6 +68,7 @@ fun openProject(projectFile: VirtualFile, projectToClose: Project?, forceOpenInN
|
||||
return project
|
||||
}
|
||||
|
||||
@ApiStatus.Experimental
|
||||
fun importProject(projectDirectory: String, project: Project) {
|
||||
LOG.info("Import project at $projectDirectory")
|
||||
val projectSdk = ProjectRootManager.getInstance(project).projectSdk
|
||||
|
||||
Reference in New Issue
Block a user