1
1
package com.vaadin.plugin.module
2
2
3
+ import com.intellij.ide.impl.ProjectUtil
3
4
import com.intellij.ide.util.projectWizard.ModuleBuilder
4
5
import com.intellij.ide.util.projectWizard.ModuleWizardStep
5
6
import com.intellij.ide.util.projectWizard.WizardContext
@@ -8,10 +9,10 @@ import com.intellij.openapi.module.ModifiableModuleModel
8
9
import com.intellij.openapi.module.Module
9
10
import com.intellij.openapi.module.ModuleType
10
11
import com.intellij.openapi.project.ProjectType
11
- import com.intellij.openapi.roots.ui.configuration.ModulesProvider
12
+ import com.intellij.openapi.roots.ModifiableRootModel
13
+ import com.intellij.openapi.startup.StartupManager
12
14
import com.vaadin.plugin.starter.StarterModel
13
- import com.vaadin.plugin.utils.ProjectUtil
14
-
15
+ import com.vaadin.plugin.utils.VaadinProjectUtil
15
16
16
17
class VaadinModuleBuilder : ModuleBuilder () {
17
18
@@ -25,13 +26,6 @@ class VaadinModuleBuilder : ModuleBuilder() {
25
26
return VaadinModuleType (" VaadinModule" )
26
27
}
27
28
28
- override fun createWizardSteps (
29
- wizardContext : WizardContext ,
30
- modulesProvider : ModulesProvider
31
- ): Array <ModuleWizardStep > {
32
- return emptyArray()
33
- }
34
-
35
29
override fun getCustomOptionsStep (context : WizardContext ? , parentDisposable : Disposable ? ): ModuleWizardStep {
36
30
return VaadinCustomOptionsStep (this )
37
31
}
@@ -40,13 +34,21 @@ class VaadinModuleBuilder : ModuleBuilder() {
40
34
this .model = model
41
35
}
42
36
37
+ override fun setupRootModel (modifiableRootModel : ModifiableRootModel ) {
38
+ val project = modifiableRootModel.project
39
+ // TODO: Load Maven/Gradle project properly without opening new window
40
+ StartupManager .getInstance(project).runAfterOpened {
41
+ ProjectUtil .openOrImport(project.basePath!! , project, true )
42
+ }
43
+ }
44
+
43
45
override fun createModule (moduleModel : ModifiableModuleModel ): Module {
44
- ProjectUtil .downloadAndExtract(moduleModel.project, this .model!! .downloadLink())
46
+ VaadinProjectUtil .downloadAndExtract(moduleModel.project, this .model!! .downloadLink())
45
47
return super .createModule(moduleModel)
46
48
}
47
49
48
50
override fun getProjectType (): ProjectType ? {
49
- return ProjectType .create(model?.language )
51
+ return ProjectType .create(this . model!! .buildTool )
50
52
}
51
53
52
54
}
0 commit comments