Skip to content

Commit 0411d09

Browse files
committed
Merge branch 'dev' into 2018.3
2 parents bd542c0 + fe78b5e commit 0411d09

File tree

13 files changed

+54
-55
lines changed

13 files changed

+54
-55
lines changed

build.gradle.kts

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,10 @@ buildscript {
2323
}
2424

2525
plugins {
26-
id("org.jetbrains.kotlin.jvm") version "1.2.51" // kept in sync with IntelliJ's bundled dep
26+
id("org.jetbrains.kotlin.jvm") version "1.3.0" // kept in sync with IntelliJ's bundled dep
2727
groovy
2828
idea
29-
id("org.jetbrains.intellij") version "0.3.9"
29+
id("org.jetbrains.intellij") version "0.3.12"
3030
id("net.minecrell.licenser") version "0.4.1"
3131
}
3232

@@ -97,8 +97,7 @@ dependencies {
9797
"testLibs"("org.spongepowered:mixin:0.7-SNAPSHOT:thin")
9898

9999
// For non-SNAPSHOT versions (unless Jetbrains fixes this...) find the version with:
100-
// intellij.ideaDependency.buildNumber.substring(intellij.type.length + 1)
101-
"gradle-tooling-extension"("com.jetbrains.intellij.gradle:gradle-tooling-extension:183-EAP-SNAPSHOT")
100+
"gradle-tooling-extension"("com.jetbrains.intellij.gradle:gradle-tooling-extension:183.4284.85")
102101
}
103102

104103
intellij {

gradle.properties

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@
99
#
1010

1111
# suppress inspection "UnusedProperty" for whole file
12-
ideaVersion = 183-EAP-SNAPSHOT
12+
ideaVersion = 2018.3
1313

1414
name = MinecraftDev
1515
group = com.demonwav.minecraft-dev
16-
version = 2018.3-1.2.10
16+
version = 2018.3-1.2.11
1717
downloadIdeaSources = true

readme.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ Minecraft Development for IntelliJ
1111
| **Travis (macOS)** |[![Travis macOS Build Status](https://travis-matrix-badges.herokuapp.com/repos/minecraft-dev/MinecraftDev/branches/dev/2)](https://travis-ci.org/minecraft-dev/MinecraftDev/)|
1212
| **TeamCity (Windows)** |[![TeamCity Windows Build Status](https://tc.demonwav.com/app/rest/builds/buildType:(id:MinecraftDev_WindowsBuild)/statusIcon)](https://ci.demonwav.com/viewType.html?buildTypeId=MinecraftDev_WindowsBuild)|
1313

14-
Info and Documentation [![Current Release](https://img.shields.io/badge/release-2018.3--1.2.10-orange.svg?style=flat-square)](https://plugins.jetbrains.com/plugin/8327)
14+
Info and Documentation [![Current Release](https://img.shields.io/badge/release-2018.3--1.2.11-orange.svg?style=flat-square)](https://plugins.jetbrains.com/plugin/8327)
1515
----------------------
1616

1717
<a href="https://discord.gg/j6UNcfr"><img src="https://i.imgur.com/JXu9C1G.png" height="48px"></img></a>

src/main/kotlin/com/demonwav/mcdev/buildsystem/gradle/GradleBuildSystem.kt

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ class GradleBuildSystem : BuildSystem() {
6767
var buildGradle: VirtualFile? = null
6868

6969
override fun create(project: Project, configuration: ProjectConfiguration, indicator: ProgressIndicator) {
70-
rootDirectory.refresh(false, true)
70+
rootDirectory.refresh(false, true)
7171
createDirectories()
7272

7373
if (configuration.type == PlatformType.FORGE || configuration is SpongeForgeProjectConfiguration) {
@@ -204,11 +204,11 @@ class GradleBuildSystem : BuildSystem() {
204204
element.children.asSequence()
205205
.filter {
206206
// We want to find the child which has a GrReferenceExpression with the right name
207-
it.children.any { it is GrReferenceExpression && it.text == name }
207+
it.children.any { child -> child is GrReferenceExpression && child.text == name }
208208
}.map {
209209
// We want to find the grandchild which is a GrClosable block, this is the
210210
// basis for the method block
211-
it.children.mapNotNull { it as? GrClosableBlock }.firstOrNull()
211+
it.children.mapNotNull { child -> child as? GrClosableBlock }.firstOrNull()
212212
}.filterNotNull()
213213
.firstOrNull()
214214

@@ -294,6 +294,8 @@ class GradleBuildSystem : BuildSystem() {
294294
requestCreateForgeRunConfigs(project, rootModule, configurations)
295295
}
296296

297+
val runManager = RunManager.getInstance(project)
298+
297299
val runConfiguration = ExternalSystemRunConfiguration(
298300
GradleConstants.SYSTEM_ID,
299301
project,
@@ -306,16 +308,15 @@ class GradleBuildSystem : BuildSystem() {
306308
runConfiguration.settings.executionName = rootModule.name + " build"
307309
runConfiguration.settings.taskNames = listOf("build")
308310

309-
val settings = RunnerAndConfigurationSettingsImpl(
310-
RunManagerImpl.getInstanceImpl(project),
311+
runConfiguration.isAllowRunningInParallel = false
312+
313+
val settings = runManager.createConfiguration(
311314
runConfiguration,
312-
false
315+
GradleExternalTaskConfigurationType.getInstance().configurationFactories.first()
313316
)
314317

315318
settings.isActivateToolWindowBeforeRun = true
316-
settings.isSingleton = true
317319

318-
val runManager = RunManager.getInstance(project)
319320
runManager.addConfiguration(settings, false)
320321
if (runManager.selectedConfiguration == null) {
321322
runManager.selectedConfiguration = settings

src/main/kotlin/com/demonwav/mcdev/i18n/reference/I18nGotoModel.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ import java.util.Locale
2323
import java.util.TreeSet
2424

2525
class I18nGotoModel(project: Project, val filter: Regex? = null) :
26-
ContributorsBasedGotoByModel(project, arrayOf(Extensions.findExtension(ChooseByNameContributor.SYMBOL_EP_NAME, I18nGotoSymbolContributor::class.java))) {
26+
ContributorsBasedGotoByModel(project, arrayOf(ChooseByNameContributor.SYMBOL_EP_NAME.findExtensionOrFail(I18nGotoSymbolContributor::class.java))) {
2727
override fun acceptItem(item: NavigationItem?): Boolean {
2828
return (item as I18nEntry).containingFile.virtualFile.nameWithoutExtension.toLowerCase(Locale.ROOT) == I18nConstants.DEFAULT_LOCALE
2929
}

src/main/kotlin/com/demonwav/mcdev/platform/bukkit/BukkitTemplate.kt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,14 @@ object BukkitTemplate {
101101
properties.setProperty("HAS_WEBSITE", "true")
102102
}
103103

104+
// Plugins targeting 1.13 or newer need an explicit api declaration flag
105+
// Unfortunately this flag has no contract to match any specific API version
106+
val mcVer = settings.minecraftVersion.substring(0, 4).toDoubleOrNull()
107+
if (mcVer != null && mcVer >= 1.13) {
108+
properties.setProperty("API_VERSION", "1.13")
109+
properties.setProperty("HAS_API_VERSION", "true")
110+
}
111+
104112
BaseTemplate.applyTemplate(project, file, MinecraftFileTemplateGroupFactory.BUKKIT_PLUGIN_YML_TEMPLATE, properties, true)
105113
}
106114
}

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
@@ -76,12 +74,16 @@ class ForgeRunConfigDataService : AbstractProjectDataService<ProjectData, Projec
7674
}
7775
val forgeModule = moduleMap[rootModule.name + "-forge"]
7876

77+
val runManager = RunManager.getInstance(project)
78+
val factory = ApplicationConfigurationType.getInstance().configurationFactories.first()
79+
7980
// Client run config
80-
val runClientConfiguration = ApplicationConfiguration(
81+
val clientSettings = runManager.createConfiguration(
8182
(forgeModule ?: rootModule).name + " run client",
82-
project,
83-
ApplicationConfigurationType.getInstance()
83+
factory
8484
)
85+
val runClientConfiguration = clientSettings.configuration as ApplicationConfiguration
86+
runClientConfiguration.isAllowRunningInParallel = false
8587

8688
val runningDir = File(project.basePath, "run")
8789
if (!runningDir.exists()) {
@@ -96,26 +98,18 @@ class ForgeRunConfigDataService : AbstractProjectDataService<ProjectData, Projec
9698
} else {
9799
runClientConfiguration.setModule(mainModule ?: forgeModule ?: rootModule)
98100
}
99-
100-
val clientSettings = RunnerAndConfigurationSettingsImpl(
101-
RunManagerImpl.getInstanceImpl(project),
102-
runClientConfiguration,
103-
false
104-
)
105-
106101
clientSettings.isActivateToolWindowBeforeRun = true
107-
clientSettings.isSingleton = true
108102

109-
val runManager = RunManager.getInstance(project)
110103
runManager.addConfiguration(clientSettings, false)
111104
runManager.selectedConfiguration = clientSettings
112105

113106
// Server run config
114-
val runServerConfiguration = ApplicationConfiguration(
107+
val serverSettings = runManager.createConfiguration(
115108
(forgeModule ?: rootModule).name + " run server",
116-
project,
117-
ApplicationConfigurationType.getInstance()
109+
factory
118110
)
111+
val runServerConfiguration = serverSettings.configuration as ApplicationConfiguration
112+
runServerConfiguration.isAllowRunningInParallel = false
119113

120114
runServerConfiguration.mainClassName = "GradleStartServer"
121115
runServerConfiguration.programParameters = "nogui"
@@ -127,14 +121,7 @@ class ForgeRunConfigDataService : AbstractProjectDataService<ProjectData, Projec
127121
runServerConfiguration.setModule(mainModule ?: forgeModule ?: rootModule)
128122
}
129123

130-
val serverSettings = RunnerAndConfigurationSettingsImpl(
131-
RunManagerImpl.getInstanceImpl(project),
132-
runServerConfiguration,
133-
false
134-
)
135-
136124
serverSettings.isActivateToolWindowBeforeRun = true
137-
serverSettings.isSingleton = true
138125
runManager.addConfiguration(serverSettings, false)
139126
}
140127
}

src/main/kotlin/com/demonwav/mcdev/platform/mixin/action/GenerateShadowAction.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ import com.intellij.ide.util.MemberChooser
3333
import com.intellij.lang.java.JavaLanguage
3434
import com.intellij.openapi.application.runWriteAction
3535
import com.intellij.openapi.editor.Editor
36+
import com.intellij.openapi.extensions.ExtensionPointName
3637
import com.intellij.openapi.extensions.Extensions
3738
import com.intellij.openapi.project.Project
3839
import com.intellij.psi.CommonClassNames
@@ -189,7 +190,7 @@ private fun copyModifiers(modifiers: PsiModifierList, newModifiers: PsiModifierL
189190

190191
private fun copyAnnotations(file: PsiFile, modifiers: PsiModifierList, newModifiers: PsiModifierList) {
191192
// Copy annotations registered by extensions (e.g. @Nullable), based on OverrideImplementUtil.annotateOnOverrideImplement
192-
for (ext in Extensions.getExtensions(OverrideImplementsAnnotationsHandler.EP_NAME)) {
193+
for (ext in OverrideImplementsAnnotationsHandler.EP_NAME.extensionList) {
193194
for (annotation in ext.getAnnotations(file)) {
194195
copyAnnotation(modifiers, newModifiers, annotation)
195196
}

src/main/kotlin/com/demonwav/mcdev/util/ModuleDebugRunConfigurationExtension.kt

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,28 +23,28 @@ import org.jdom.Element
2323

2424
abstract class ModuleDebugRunConfigurationExtension : RunConfigurationExtension() {
2525

26-
override fun isApplicableFor(configuration: RunConfigurationBase): Boolean {
27-
return configuration is ModuleBasedConfiguration<*>
26+
override fun isApplicableFor(configuration: RunConfigurationBase<*>): Boolean {
27+
return configuration is ModuleBasedConfiguration<*, *>
2828
}
2929

30-
override fun <T : RunConfigurationBase?> updateJavaParameters(configuration: T, params: JavaParameters?, runnerSettings: RunnerSettings?) {}
30+
override fun <T : RunConfigurationBase<*>?> updateJavaParameters(configuration: T, params: JavaParameters?, runnerSettings: RunnerSettings?) {}
3131

3232
protected abstract fun attachToProcess(handler: ProcessHandler, module: Module)
3333

34-
override fun attachToProcess(configuration: RunConfigurationBase, handler: ProcessHandler, runnerSettings: RunnerSettings?) {
34+
override fun attachToProcess(configuration: RunConfigurationBase<*>, handler: ProcessHandler, runnerSettings: RunnerSettings?) {
3535
// Check if we are in a debug run
3636
if (runnerSettings !is DebuggingRunnerData) {
3737
return
3838
}
3939

40-
val config = configuration as ModuleBasedConfiguration<*>
40+
val config = configuration as ModuleBasedConfiguration<*, *>
4141
val module = config.configurationModule.module ?: return
4242
attachToProcess(handler, module)
4343
}
4444

45-
override fun readExternal(runConfiguration: RunConfigurationBase, element: Element) {}
45+
override fun readExternal(runConfiguration: RunConfigurationBase<*>, element: Element) {}
4646

4747
override fun getEditorTitle(): String? = null
48-
override fun <P : RunConfigurationBase?> createEditor(configuration: P): SettingsEditor<P>? = null
48+
override fun <P : RunConfigurationBase<*>?> createEditor(configuration: P): SettingsEditor<P>? = null
4949

5050
}

src/main/kotlin/com/demonwav/mcdev/util/class-utils.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ fun PsiElement.getAnonymousIndex(anonymousElement: PsiElement): Int {
174174
@get:Contract(pure = true)
175175
val PsiElement.anonymousElements: Array<PsiElement>
176176
get() {
177-
for (provider in Extensions.getExtensions(AnonymousElementProvider.EP_NAME)) {
177+
for (provider in AnonymousElementProvider.EP_NAME.extensionList) {
178178
val elements = provider.getAnonymousElements(this)
179179
if (elements.isNotEmpty()) {
180180
return elements

0 commit comments

Comments
 (0)