Skip to content

Commit 2f5a0eb

Browse files
committed
Use RunManager.createConfiguration to create new configurations
Fixes #469
1 parent ecf13af commit 2f5a0eb

File tree

1 file changed

+11
-24
lines changed

1 file changed

+11
-24
lines changed

src/main/kotlin/com/demonwav/mcdev/platform/forge/gradle/ForgeRunConfigDataService.kt

Lines changed: 11 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,6 @@ import com.demonwav.mcdev.util.runWriteTaskLater
1616
import com.intellij.execution.RunManager
1717
import com.intellij.execution.application.ApplicationConfiguration
1818
import com.intellij.execution.application.ApplicationConfigurationType
19-
import com.intellij.execution.impl.RunManagerImpl
20-
import com.intellij.execution.impl.RunnerAndConfigurationSettingsImpl
2119
import com.intellij.openapi.application.runReadAction
2220
import com.intellij.openapi.externalSystem.model.DataNode
2321
import com.intellij.openapi.externalSystem.model.ProjectKeys
@@ -73,48 +71,43 @@ class ForgeRunConfigDataService : AbstractProjectDataService<ProjectData, Projec
7371
}
7472
val forgeModule = moduleMap[rootModule.name + "-forge"]
7573

74+
val runManager = RunManager.getInstance(project)
75+
val factory = ApplicationConfigurationType.getInstance().configurationFactories.first()
76+
7677
// Client run config
77-
val runClientConfiguration = ApplicationConfiguration(
78+
val clientSettings = runManager.createConfiguration(
7879
(forgeModule ?: rootModule).name + " run client",
79-
project,
80-
ApplicationConfigurationType.getInstance()
80+
factory
8181
)
82+
val runClientConfiguration = clientSettings.configuration as ApplicationConfiguration
8283

8384
val runningDir = File(project.basePath, "run")
8485
if (!runningDir.exists()) {
8586
runningDir.mkdir()
8687
}
8788

8889
runClientConfiguration.workingDirectory = project.basePath + File.separator + "run"
89-
runClientConfiguration.setMainClassName("GradleStart")
90+
runClientConfiguration.mainClassName = "GradleStart"
9091

9192
if (size == 1) {
9293
runClientConfiguration.setModule(mainModule ?: rootModule)
9394
} else {
9495
runClientConfiguration.setModule(mainModule ?: forgeModule ?: rootModule)
9596
}
96-
97-
val clientSettings = RunnerAndConfigurationSettingsImpl(
98-
RunManagerImpl.getInstanceImpl(project),
99-
runClientConfiguration,
100-
false
101-
)
102-
10397
clientSettings.isActivateToolWindowBeforeRun = true
10498
clientSettings.isSingleton = true
10599

106-
val runManager = RunManager.getInstance(project)
107100
runManager.addConfiguration(clientSettings, false)
108101
runManager.selectedConfiguration = clientSettings
109102

110103
// Server run config
111-
val runServerConfiguration = ApplicationConfiguration(
104+
val serverSettings = runManager.createConfiguration(
112105
(forgeModule ?: rootModule).name + " run server",
113-
project,
114-
ApplicationConfigurationType.getInstance()
106+
factory
115107
)
108+
val runServerConfiguration = serverSettings.configuration as ApplicationConfiguration
116109

117-
runServerConfiguration.setMainClassName("GradleStartServer")
110+
runServerConfiguration.mainClassName = "GradleStartServer"
118111
runServerConfiguration.programParameters = "nogui"
119112
runServerConfiguration.workingDirectory = project.basePath + File.separator + "run"
120113

@@ -124,12 +117,6 @@ class ForgeRunConfigDataService : AbstractProjectDataService<ProjectData, Projec
124117
runServerConfiguration.setModule(mainModule ?: forgeModule ?: rootModule)
125118
}
126119

127-
val serverSettings = RunnerAndConfigurationSettingsImpl(
128-
RunManagerImpl.getInstanceImpl(project),
129-
runServerConfiguration,
130-
false
131-
)
132-
133120
serverSettings.isActivateToolWindowBeforeRun = true
134121
serverSettings.isSingleton = true
135122
runManager.addConfiguration(serverSettings, false)

0 commit comments

Comments
 (0)