Skip to content

Commit 40bceaa

Browse files
committed
Merge branch 'dev' into 2020.2
2 parents 354942e + 71193e8 commit 40bceaa

24 files changed

+94
-56
lines changed

build.gradle.kts

Lines changed: 16 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -12,25 +12,17 @@ import org.cadixdev.gradle.licenser.header.HeaderStyle
1212
import org.gradle.internal.jvm.Jvm
1313
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
1414

15-
buildscript {
16-
repositories {
17-
maven("https://dl.bintray.com/jetbrains/intellij-plugin-service")
18-
}
19-
}
20-
2115
plugins {
22-
kotlin("jvm") version "1.3.70" // kept in sync with IntelliJ's bundled dep
16+
kotlin("jvm") version "1.4.32"
2317
java
2418
mcdev
2519
groovy
2620
idea
27-
id("org.jetbrains.intellij") version "0.6.5"
28-
id("org.cadixdev.licenser") version "0.5.0"
29-
id("org.jlleitschuh.gradle.ktlint") version "9.4.1"
21+
id("org.jetbrains.intellij") version "0.7.2"
22+
id("org.cadixdev.licenser") version "0.5.1"
23+
id("org.jlleitschuh.gradle.ktlint") version "10.0.0"
3024
}
3125

32-
val coroutineVersion = "1.3.4" // Coroutine version also kept in sync with IntelliJ's bundled dep
33-
3426
val ideaVersion: String by project
3527
val ideaVersionName: String by project
3628
val coreVersion: String by project
@@ -77,11 +69,11 @@ dependencies {
7769
implementation(files(Jvm.current().toolsJar))
7870

7971
// Kotlin
80-
compileOnly(kotlin("stdlib-jdk8"))
81-
compileOnly("org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutineVersion")
82-
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-swing:$coroutineVersion") {
83-
isTransitive = false
84-
}
72+
implementation(kotlin("stdlib-jdk8"))
73+
implementation(kotlin("reflect"))
74+
val coroutineVersion = "1.4.3"
75+
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutineVersion")
76+
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-swing:$coroutineVersion")
8577

8678
implementation(files(gradleToolingExtensionJar))
8779

@@ -101,8 +93,9 @@ dependencies {
10193
gradleToolingExtension("com.jetbrains.intellij.gradle:gradle-tooling-extension:202.6397.94")
10294
gradleToolingExtension("org.jetbrains:annotations:19.0.0")
10395

104-
testImplementation("org.junit.jupiter:junit-jupiter-api:5.5.1")
105-
testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.5.1")
96+
val junitVersion = "5.7.1"
97+
testImplementation("org.junit.jupiter:junit-jupiter-api:$junitVersion")
98+
testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:$junitVersion")
10699
}
107100

108101
intellij {
@@ -140,13 +133,15 @@ tasks.publishPlugin {
140133
}
141134

142135
java {
143-
sourceCompatibility = JavaVersion.VERSION_1_8
144-
targetCompatibility = JavaVersion.VERSION_1_8
136+
toolchain {
137+
languageVersion.set(JavaLanguageVersion.of(11))
138+
}
145139
}
146140

147141
tasks.withType<JavaCompile>().configureEach {
148142
options.encoding = "UTF-8"
149143
options.compilerArgs = listOf("-proc:none")
144+
options.release.set(8)
150145
}
151146

152147
tasks.withType<KotlinCompile>().configureEach {
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.2-bin.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.3-bin.zip
44
zipStoreBase=GRADLE_USER_HOME
55
zipStorePath=wrapper/dists

src/main/kotlin/creator/BuildSystemWizardStep.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ class BuildSystemWizardStep(private val creator: MinecraftProjectCreator) : Modu
6464
.groupingBy { it }
6565
.eachCount()
6666

67-
val maxValue = counts.maxBy { it.value }?.value ?: return
67+
val maxValue = counts.maxByOrNull { it.value }?.value ?: return
6868
counts.asSequence()
6969
.filter { it.value == maxValue }
7070
.map { it.key }

src/main/kotlin/creator/MinecraftProjectCreator.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ class MinecraftProjectCreator {
3939
private var currentStep: Pair<Any, Int>? = null
4040

4141
fun printState(sb: StringBuilder) {
42-
sb.append(" ").appendln(if (config is String) config else config.javaClass.name)
42+
sb.append(" ").appendLine(if (config is String) config else config.javaClass.name)
4343
for ((step, indent) in steps) {
4444
printStep(sb, step, " ", indent)
4545
}
@@ -52,7 +52,7 @@ class MinecraftProjectCreator {
5252
repeat(indent) {
5353
sb.append(" ")
5454
}
55-
sb.append(baseIndent).appendln(if (step is String) step else step.javaClass.name)
55+
sb.append(baseIndent).appendLine(if (step is String) step else step.javaClass.name)
5656
}
5757

5858
fun newCurrentStep(newStep: Any, indent: Int = 0) {
@@ -160,7 +160,7 @@ class MinecraftProjectCreator {
160160
}
161161
} catch (e: Exception) {
162162
val workLogText = buildString {
163-
appendln("Build steps completed:")
163+
appendLine("Build steps completed:")
164164
for (workLogStep in workLog) {
165165
workLogStep.printState(this)
166166
}

src/main/kotlin/facet/MinecraftFacetEditorTab.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -255,6 +255,7 @@ class MinecraftFacetEditorTab(private val configuration: MinecraftFacetConfigura
255255
}
256256

257257
private operator fun Boolean.plus(n: Boolean) = this || n
258+
258259
// This is here so we can use vararg. Can't use parameter modifiers in function type definitions for some reason
259260
open class Invoker {
260261
open operator fun invoke(vararg indexes: Int) {}

src/main/kotlin/nbt/NbtVirtualFile.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ class NbtVirtualFile(private val backingFile: VirtualFile, private val project:
8686
override fun isDirectory() = false
8787
override fun getTimeStamp() = backingFile.timeStamp
8888
override fun getModificationStamp() = 0L
89+
8990
override fun getName() =
9091
backingFile.name + (if (parseSuccessful) ".nbtt" else ".txt") // don't highlight syntax on bad files
9192

src/main/kotlin/nbt/lang/format/NbttCodeStyleSettings.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,13 @@ class NbttCodeStyleSettings(container: CodeStyleSettings) : CustomCodeStyleSetti
1919

2020
@JvmField
2121
var SPACE_AFTER_COLON = true
22+
2223
@JvmField
2324
var SPACE_BEFORE_COLON = false
25+
2426
@JvmField
2527
var LIST_WRAPPING = CommonCodeStyleSettings.WRAP_ALWAYS
28+
2629
@JvmField
2730
var ARRAY_WRAPPING = CommonCodeStyleSettings.WRAP_ALWAYS
2831
}

src/main/kotlin/platform/bukkit/creator/BukkitProjectSettingsWizard.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,16 +36,19 @@ class BukkitProjectSettingsWizard(private val creator: MinecraftProjectCreator)
3636

3737
@ValidatedField(NON_BLANK)
3838
private lateinit var pluginNameField: JTextField
39+
3940
@ValidatedField(NON_BLANK, CLASS_NAME)
4041
private lateinit var mainClassField: JTextField
4142
private lateinit var panel: JPanel
4243
private lateinit var descriptionField: JTextField
44+
4345
@ValidatedField(LIST)
4446
private lateinit var authorsField: JTextField
4547
private lateinit var websiteField: JTextField
4648
private lateinit var prefixField: JTextField
4749
private lateinit var loadOrderBox: JComboBox<*>
4850
private lateinit var loadBeforeField: JTextField
51+
4952
@ValidatedField(LIST)
5053
private lateinit var dependField: JTextField
5154
private lateinit var softDependField: JTextField

src/main/kotlin/platform/bungeecord/creator/BungeeCordProjectSettingsWizard.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,13 +36,17 @@ class BungeeCordProjectSettingsWizard(
3636
) : MinecraftModuleWizardStep() {
3737

3838
private lateinit var panel: JPanel
39+
3940
@ValidatedField(NON_BLANK)
4041
private lateinit var pluginNameField: JTextField
42+
4143
@ValidatedField(NON_BLANK, CLASS_NAME)
4244
private lateinit var mainClassField: JTextField
4345
private lateinit var descriptionField: JTextField
46+
4447
@ValidatedField(LIST)
4548
private lateinit var authorField: JTextField
49+
4650
@ValidatedField(LIST)
4751
private lateinit var dependField: JTextField
4852
private lateinit var softDependField: JTextField

src/main/kotlin/platform/fabric/creator/FabricProjectConfig.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ class FabricProjectConfig : ProjectConfig(), GradleCreator {
2727

2828
var yarnVersion = ""
2929
var yarnClassifier: String? = "v2"
30+
3031
// Minecraft does not follow semver in the snapshots
3132
var mcVersion = ""
3233
var semanticMcVersion = SemanticVersion.release()

src/main/kotlin/platform/fabric/creator/FabricProjectSettingsWizard.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ class FabricProjectSettingsWizard(private val creator: MinecraftProjectCreator)
6161
private lateinit var panel: JPanel
6262
private lateinit var title: JLabel
6363
private lateinit var descriptionField: JTextField
64+
6465
@ValidatedField(LIST)
6566
private lateinit var authorsField: JTextField
6667
private lateinit var websiteField: JTextField

src/main/kotlin/platform/forge/creator/ForgeProjectSettingsWizard.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,11 +44,13 @@ class ForgeProjectSettingsWizard(private val creator: MinecraftProjectCreator) :
4444

4545
@ValidatedField(NON_BLANK)
4646
private lateinit var modNameField: JTextField
47+
4748
@ValidatedField(NON_BLANK, CLASS_NAME)
4849
private lateinit var mainClassField: JTextField
4950
private lateinit var panel: JPanel
5051
private lateinit var title: JLabel
5152
private lateinit var descriptionField: JTextField
53+
5254
@ValidatedField(LIST)
5355
private lateinit var authorsField: JTextField
5456
private lateinit var websiteField: JTextField

src/main/kotlin/platform/forge/util/ForgeConstants.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ object ForgeConstants {
3131
const val PACK_MCMETA = "pack.mcmeta"
3232

3333
const val JAR_VERSION_VAR = "\${file.jarVersion}"
34+
3435
// From https://github.com/MinecraftForge/MinecraftForge/blob/0ff8a596fc1ef33d4070be89dd5cb4851f93f731/src/fmllauncher/java/net/minecraftforge/fml/loading/StringSubstitutor.java
3536
val KNOWN_SUBSTITUTIONS = setOf(JAR_VERSION_VAR, "\${global.mcVersion}", "\${global.forgeVersion}")
3637

src/main/kotlin/platform/forge/version/ForgeVersion.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ class ForgeVersion private constructor(val versions: List<String>) {
5757
val result = mutableListOf<String>()
5858
url.openStream().use { stream ->
5959
val inputFactory = XMLInputFactory.newInstance()
60+
6061
@Suppress("UNCHECKED_CAST")
6162
val reader = inputFactory.createXMLEventReader(stream) as Iterator<XMLEvent>
6263
for (event in reader) {

src/main/kotlin/platform/liteloader/creator/LiteLoaderProjectSettingsWizard.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,10 @@ class LiteLoaderProjectSettingsWizard(private val creator: MinecraftProjectCreat
5151

5252
private lateinit var panel: JPanel
5353
private lateinit var mcpWarning: JLabel
54+
5455
@ValidatedField(NON_BLANK)
5556
private lateinit var modNameField: JTextField
57+
5658
@ValidatedField(NON_BLANK, CLASS_NAME)
5759
private lateinit var mainClassField: JTextField
5860
private lateinit var minecraftVersionBox: JComboBox<SemanticVersion>

src/main/kotlin/platform/liteloader/version/LiteLoaderVersion.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ class LiteLoaderVersion private constructor(private var map: Map<*, *>) {
2121

2222
val sortedMcVersions: List<SemanticVersion> by lazy {
2323
val mcVersion = map["versions"] as Map<*, *>
24+
2425
@Suppress("UNCHECKED_CAST")
2526
val keys = mcVersion.keys as Collection<String>
2627
return@lazy sortVersions(keys)

src/main/kotlin/platform/mcp/actions/GotoAtEntryAction.kt

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -64,14 +64,10 @@ class GotoAtEntryAction : AnAction() {
6464
when (parent) {
6565
is PsiField -> {
6666
val reference = srgMap.getSrgField(parent) ?: parent.simpleQualifiedMemberReference
67-
?: return@onSuccess showBalloon(e)
6867
searchForText(e, data, reference.name)
6968
}
7069
is PsiMethod -> {
71-
val reference =
72-
srgMap.getSrgMethod(parent) ?: parent.qualifiedMemberReference ?: return@onSuccess showBalloon(
73-
e
74-
)
70+
val reference = srgMap.getSrgMethod(parent) ?: parent.qualifiedMemberReference
7571
searchForText(e, data, reference.name + reference.descriptor)
7672
}
7773
else ->

src/main/kotlin/platform/mixin/MixinModule.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ class MixinModule(facet: MinecraftFacet) : AbstractModule(facet) {
6868
): MixinConfig? {
6969
return getMixinConfigs(project, scope)
7070
.filter { it.isWritable && mixinClassName.startsWith("${it.pkg}.") }
71-
.maxBy { it.pkg?.length ?: 0 }
71+
.maxByOrNull { it.pkg?.length ?: 0 }
7272
}
7373
}
7474
}

src/main/kotlin/platform/mixin/action/GenerateAccessorHandler.kt

Lines changed: 18 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ class GenerateAccessorHandler : GenerateMembersHandlerBase("Generate Accessor/In
122122
} catch (e: GenerateCodeException) {
123123
val message = e.message ?: "Unknown error"
124124
ApplicationManager.getApplication().invokeLater(
125-
Runnable {
125+
{
126126
if (!mixinEditor.isDisposed) {
127127
mixinEditor.caretModel.moveToOffset(offset)
128128
HintManager.getInstance().showErrorHint(editor, message)
@@ -235,11 +235,13 @@ class GenerateAccessorHandler : GenerateMembersHandlerBase("Generate Accessor/In
235235
}
236236

237237
private fun createAccessorMixin(project: Project, targetClass: PsiClass): PsiClass? {
238-
val config = MixinModule.getMixinConfigs(project, GlobalSearchScope.projectScope(project)).maxBy {
239-
return@maxBy countAccessorMixins(project, it.qualifiedMixins) +
240-
countAccessorMixins(project, it.qualifiedClient) +
241-
countAccessorMixins(project, it.qualifiedServer)
242-
}
238+
val config = MixinModule
239+
.getMixinConfigs(project, GlobalSearchScope.projectScope(project))
240+
.maxByOrNull {
241+
countAccessorMixins(project, it.qualifiedMixins) +
242+
countAccessorMixins(project, it.qualifiedClient) +
243+
countAccessorMixins(project, it.qualifiedServer)
244+
}
243245

244246
if (config == null) {
245247
// TODO: generate the mixin configuration file (modding platform dependent)
@@ -277,10 +279,10 @@ class GenerateAccessorHandler : GenerateMembersHandlerBase("Generate Accessor/In
277279
JavaDirectoryService.getInstance().createInterface(pkg, name)
278280
} catch (e: IncorrectOperationException) {
279281
invokeLater {
280-
val message = "${CodeInsightBundle.message(
282+
val message = CodeInsightBundle.message(
281283
"intention.error.cannot.create.class.message",
282284
name
283-
)}\n${e.localizedMessage}"
285+
) + "\n" + e.localizedMessage
284286
Messages.showErrorDialog(
285287
project,
286288
message,
@@ -398,9 +400,7 @@ class GenerateAccessorHandler : GenerateMembersHandlerBase("Generate Accessor/In
398400
val method = factory.createMethodFromText(
399401
"""
400402
@${MixinConstants.Annotations.ACCESSOR}
401-
${staticPrefix(isStatic)}ReturnType $prefix${target.name.capitalize()}()${methodBody(
402-
isStatic
403-
)}
403+
${staticPrefix(isStatic)}ReturnType $prefix${target.name.capitalize()}()${methodBody(isStatic)}
404404
""".trimIndent(),
405405
mixin
406406
)
@@ -409,12 +409,9 @@ class GenerateAccessorHandler : GenerateMembersHandlerBase("Generate Accessor/In
409409
}
410410
if (generateSetter) {
411411
val method = factory.createMethodFromText(
412-
"""
413-
@${MixinConstants.Annotations.ACCESSOR}
414-
${staticPrefix(isStatic)}void set${target.name.capitalize()}(ParamType ${target.name})${methodBody(
415-
isStatic
416-
)}
417-
""".trimIndent(),
412+
"@${MixinConstants.Annotations.ACCESSOR}\n" +
413+
staticPrefix(isStatic) + "void set${target.name.capitalize()}" +
414+
"(ParamType ${target.name})" + methodBody(isStatic),
418415
mixin
419416
)
420417
target.typeElement?.let { method.parameterList.parameters[0].typeElement?.replace(it) }
@@ -440,9 +437,7 @@ class GenerateAccessorHandler : GenerateMembersHandlerBase("Generate Accessor/In
440437
val method = factory.createMethodFromText(
441438
"""
442439
@${MixinConstants.Annotations.INVOKER}
443-
${staticPrefix(isStatic)}ReturnType $name()${methodBody(
444-
isStatic
445-
)}
440+
${staticPrefix(isStatic)}ReturnType $name()${methodBody(isStatic)}
446441
""".trimIndent(),
447442
mixin
448443
)
@@ -468,7 +463,7 @@ class GenerateAccessorHandler : GenerateMembersHandlerBase("Generate Accessor/In
468463

469464
private fun methodBody(isStatic: Boolean): String {
470465
return if (isStatic) {
471-
"{ throw new java.lang.UnsupportedOperationException(); }"
466+
" { throw new java.lang.UnsupportedOperationException(); }"
472467
} else {
473468
";"
474469
}
@@ -477,6 +472,7 @@ class GenerateAccessorHandler : GenerateMembersHandlerBase("Generate Accessor/In
477472
private class HeaderPanel : JComponent() {
478473
val gettersCheckbox = JBCheckBox("Generate Getter Accessors")
479474
val settersCheckbox = JBCheckBox("Generate Setter Accessors")
475+
480476
init {
481477
gettersCheckbox.isSelected = true
482478
gettersCheckbox.addItemListener {
@@ -493,6 +489,7 @@ class GenerateAccessorHandler : GenerateMembersHandlerBase("Generate Accessor/In
493489
add(gettersCheckbox, createConstraints(0))
494490
add(settersCheckbox, createConstraints(1))
495491
}
492+
496493
private fun createConstraints(row: Int): GridConstraints {
497494
val constraints = GridConstraints()
498495
constraints.anchor = GridConstraints.ANCHOR_WEST

src/main/kotlin/platform/sponge/creator/SpongeProjectSettingsWizard.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,14 +35,17 @@ class SpongeProjectSettingsWizard(private val creator: MinecraftProjectCreator)
3535

3636
@ValidatedField(NON_BLANK)
3737
private lateinit var pluginNameField: JTextField
38+
3839
@ValidatedField(NON_BLANK, CLASS_NAME)
3940
private lateinit var mainClassField: JTextField
4041
private lateinit var panel: JPanel
4142
private lateinit var title: JLabel
4243
private lateinit var descriptionField: JTextField
44+
4345
@ValidatedField(LIST)
4446
private lateinit var authorsField: JTextField
4547
private lateinit var websiteField: JTextField
48+
4649
@ValidatedField(LIST)
4750
private lateinit var dependField: JTextField
4851
private lateinit var spongeApiVersionBox: JComboBox<String>

0 commit comments

Comments
 (0)