mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[NPW] cleanup: create project/module directory inside NewProjectWizardBaseStep
The base NPW step specifies, prepares and validates project location. Therefore it should ensure that the project/module directory is created. Also, all project file and scripts generators should ensure that the parent directories is created. Because the IO cannot be protected from external modification. And the NPW API cannot guarantee that project/module directory is exists during the whole project/module creation process. GitOrigin-RevId: e1332ce096846629c6c86234032fbee142dbb7e5
This commit is contained in:
committed by
intellij-monorepo-bot
parent
425c84ef60
commit
21e4d0cf71
@@ -333,6 +333,7 @@ label.project.wizard.new.assets.step.generate.sources.progress=Generating projec
|
||||
error.project.wizard.new.project.title=New {0,choice,0#Module|1#Project} Wizard Error
|
||||
error.project.wizard.new.project.sample.code=Unable to generate {0,choice,0#module|1#project} sources
|
||||
error.project.wizard.new.project.git=Unable to create a Git repository
|
||||
error.project.wizard.new.project.directory=Unable to create a {0,choice,0#module|1#project} directory
|
||||
|
||||
kotlin.dsl.validation.missing.value=Field must be set
|
||||
kotlin.dsl.validation.no.whitespaces=Whitespaces are not allowed here
|
||||
|
||||
@@ -33,6 +33,7 @@ import com.intellij.ui.UIBundle
|
||||
import com.intellij.ui.dsl.builder.*
|
||||
import com.intellij.ui.util.getTextWidth
|
||||
import com.intellij.util.applyIf
|
||||
import java.nio.file.Files
|
||||
import java.nio.file.Path
|
||||
import kotlin.io.path.name
|
||||
|
||||
@@ -141,6 +142,9 @@ class NewProjectWizardBaseStep(parent: NewProjectWizardStep) : AbstractNewProjec
|
||||
}
|
||||
|
||||
override fun setupProject(project: Project) {
|
||||
setupProjectSafe(project, UIBundle.message("error.project.wizard.new.project.directory", context.isCreatingNewProjectInt)) {
|
||||
Files.createDirectories(Path.of(path).resolve(name))
|
||||
}
|
||||
if (context.isCreatingNewProject) {
|
||||
invokeAndWaitIfNeeded {
|
||||
runWriteAction {
|
||||
|
||||
@@ -43,7 +43,6 @@ import com.intellij.openapi.startup.StartupManager;
|
||||
import com.intellij.openapi.util.InvalidDataException;
|
||||
import com.intellij.openapi.util.Key;
|
||||
import com.intellij.openapi.util.io.FileUtil;
|
||||
import com.intellij.openapi.util.io.FileUtilRt;
|
||||
import com.intellij.openapi.util.io.NioPathUtil;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.openapi.vfs.*;
|
||||
@@ -149,7 +148,6 @@ public abstract class AbstractGradleModuleBuilder extends AbstractExternalModule
|
||||
return;
|
||||
}
|
||||
File contentRootDir = new File(contentEntryPath);
|
||||
FileUtilRt.createDirectory(contentRootDir);
|
||||
LocalFileSystem fileSystem = LocalFileSystem.getInstance();
|
||||
VirtualFile modelContentRootDir = fileSystem.refreshAndFindFileByIoFile(contentRootDir);
|
||||
if (modelContentRootDir == null) {
|
||||
|
||||
Reference in New Issue
Block a user