User: kyle wood Date: 15 Aug 22 22:46 Revision: cb04100074d5e24e89345cd1577c5f7fc0eccc01 Summary: Merge branch '2021.3' into 2022.1 TeamCity URL: https://ci.mcdev.io/viewModification.html?tab=vcsModificationFiles&modId=8071&personal=false Index: build.gradle.kts =================================================================== --- build.gradle.kts (revision dcb79733709f3760d54a5ec39ba83cf4122f93ff) +++ build.gradle.kts (revision cb04100074d5e24e89345cd1577c5f7fc0eccc01) @@ -3,7 +3,7 @@ * * https://minecraftdev.org * - * Copyright (c) 2021 minecraft-dev + * Copyright (c) 2022 minecraft-dev * * MIT License */ @@ -14,16 +14,17 @@ import org.jetbrains.gradle.ext.settings import org.jetbrains.gradle.ext.taskTriggers import org.jetbrains.kotlin.gradle.tasks.KotlinCompile +import org.jlleitschuh.gradle.ktlint.tasks.BaseKtLintCheckTask plugins { - kotlin("jvm") version "1.6.20" + kotlin("jvm") version "1.7.10" java mcdev groovy idea - id("org.jetbrains.intellij") version "1.5.2" + id("org.jetbrains.intellij") version "1.8.0" id("org.cadixdev.licenser") - id("org.jlleitschuh.gradle.ktlint") version "10.0.0" + id("org.jlleitschuh.gradle.ktlint") version "10.3.0" } val ideaVersionName: String by project @@ -109,8 +110,36 @@ testImplementation(libs.junit.api) testRuntimeOnly(libs.junit.entine) + testRuntimeOnly(libs.junit.platform.launcher) } +val artifactType = Attribute.of("artifactType", String::class.java) +val filtered = Attribute.of("filtered", Boolean::class.javaObjectType) + +dependencies { + attributesSchema { + attribute(filtered) + } + artifactTypes.getByName("jar") { + attributes.attribute(filtered, false) + } + + registerTransform(Filter::class) { + from.attribute(filtered, false).attribute(artifactType, "jar") + to.attribute(filtered, true).attribute(artifactType, "jar") + + parameters { + ideaVersion.set(providers.gradleProperty("ideaVersion")) + ideaVersionName.set(providers.gradleProperty("ideaVersionName")) + depsFile.set(layout.projectDirectory.file(".gradle/intellij-deps.json")) + } + } +} + +configurations.compileClasspath { + attributes.attribute(filtered, true) +} + intellij { // IntelliJ IDEA dependency version.set(providers.gradleProperty("ideaVersion")) @@ -237,6 +266,8 @@ module { generatedSourceDirs.add(file("build/gen")) excludeDirs.add(file(intellij.sandboxDir.get())) + isDownloadJavadoc = true + isDownloadSources = true } } @@ -273,8 +304,8 @@ } } -ktlint { - enableExperimentalRules.set(true) +tasks.withType().configureEach { + workerMaxHeapSize.set("512m") } tasks.register("format") { Index: gradle.properties =================================================================== --- gradle.properties (revision dcb79733709f3760d54a5ec39ba83cf4122f93ff) +++ gradle.properties (revision cb04100074d5e24e89345cd1577c5f7fc0eccc01) @@ -3,7 +3,7 @@ # # https://minecraftdev.org # -# Copyright (c) 2021 minecraft-dev +# Copyright (c) 2022 minecraft-dev # # MIT License # Index: gradle/libs.versions.toml =================================================================== --- gradle/libs.versions.toml (revision dcb79733709f3760d54a5ec39ba83cf4122f93ff) +++ gradle/libs.versions.toml (revision cb04100074d5e24e89345cd1577c5f7fc0eccc01) @@ -1,10 +1,12 @@ [versions] -coroutines = "1.5.2" -junit = "5.7.1" -asm = "9.2" +coroutines = "1.6.3" +junit = "5.9.0" +junit-platform = "1.9.0" +asm = "9.3" [libraries] coroutines-core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "coroutines" } +coroutines-jdk8 = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-jdk8", version.ref = "coroutines" } coroutines-swing = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-swing", version.ref = "coroutines" } templateMakerFabric = "com.extracraftx.minecraft:TemplateMakerFabric:0.4.1" @@ -17,8 +19,8 @@ # Gradle Tooling gradleToolingExtension = "com.jetbrains.intellij.gradle:gradle-tooling-extension:221.5080.210" -annotations = "org.jetbrains:annotations:20.1.0" -groovy = "org.codehaus.groovy:groovy-all:2.5.14" +annotations = "org.jetbrains:annotations:23.0.0" +groovy = "org.codehaus.groovy:groovy-all:2.5.18" asm = { module = "org.ow2.asm:asm", version.ref = "asm" } asm-tree = { module = "org.ow2.asm:asm-tree", version.ref = "asm" } @@ -32,7 +34,8 @@ junit-api = { module = "org.junit.jupiter:junit-jupiter-api", version.ref = "junit" } junit-entine = { module = "org.junit.jupiter:junit-jupiter-engine", version.ref = "junit" } +junit-platform-launcher = { module = "org.junit.platform:junit-platform-launcher", version.ref = "junit-platform" } [bundles] -coroutines = ["coroutines-core", "coroutines-swing"] +coroutines = ["coroutines-core", "coroutines-jdk8", "coroutines-swing"] asm = ["asm", "asm-tree", "asm-analysis"] Index: src/main/kotlin/creator/MinecraftModuleBuilder.kt =================================================================== --- src/main/kotlin/creator/MinecraftModuleBuilder.kt (revision dcb79733709f3760d54a5ec39ba83cf4122f93ff) +++ src/main/kotlin/creator/MinecraftModuleBuilder.kt (revision cb04100074d5e24e89345cd1577c5f7fc0eccc01) @@ -3,7 +3,7 @@ * * https://minecraftdev.org * - * Copyright (c) 2021 minecraft-dev + * Copyright (c) 2022 minecraft-dev * * MIT License */ Index: src/main/kotlin/creator/ProjectConfig.kt =================================================================== --- src/main/kotlin/creator/ProjectConfig.kt (revision dcb79733709f3760d54a5ec39ba83cf4122f93ff) +++ src/main/kotlin/creator/ProjectConfig.kt (revision cb04100074d5e24e89345cd1577c5f7fc0eccc01) @@ -3,7 +3,7 @@ * * https://minecraftdev.org * - * Copyright (c) 2021 minecraft-dev + * Copyright (c) 2022 minecraft-dev * * MIT License */ Index: src/main/kotlin/creator/ProjectSetupFinalizerWizardStep.kt =================================================================== --- src/main/kotlin/creator/ProjectSetupFinalizerWizardStep.kt (revision dcb79733709f3760d54a5ec39ba83cf4122f93ff) +++ src/main/kotlin/creator/ProjectSetupFinalizerWizardStep.kt (revision cb04100074d5e24e89345cd1577c5f7fc0eccc01) @@ -3,7 +3,7 @@ * * https://minecraftdev.org * - * Copyright (c) 2021 minecraft-dev + * Copyright (c) 2022 minecraft-dev * * MIT License */ Index: src/main/kotlin/creator/buildsystem/gradle/gradle-steps.kt =================================================================== --- src/main/kotlin/creator/buildsystem/gradle/gradle-steps.kt (revision dcb79733709f3760d54a5ec39ba83cf4122f93ff) +++ src/main/kotlin/creator/buildsystem/gradle/gradle-steps.kt (revision cb04100074d5e24e89345cd1577c5f7fc0eccc01) @@ -3,7 +3,7 @@ * * https://minecraftdev.org * - * Copyright (c) 2021 minecraft-dev + * Copyright (c) 2022 minecraft-dev * * MIT License */ Index: src/main/kotlin/errorreporter/ErrorReporter.kt =================================================================== --- src/main/kotlin/errorreporter/ErrorReporter.kt (revision dcb79733709f3760d54a5ec39ba83cf4122f93ff) +++ src/main/kotlin/errorreporter/ErrorReporter.kt (revision cb04100074d5e24e89345cd1577c5f7fc0eccc01) @@ -3,7 +3,7 @@ * * https://minecraftdev.org * - * Copyright (c) 2021 minecraft-dev + * Copyright (c) 2022 minecraft-dev * * MIT License */ Index: src/main/kotlin/nbt/editor/NbtFileEditorProvider.kt =================================================================== --- src/main/kotlin/nbt/editor/NbtFileEditorProvider.kt (revision dcb79733709f3760d54a5ec39ba83cf4122f93ff) +++ src/main/kotlin/nbt/editor/NbtFileEditorProvider.kt (revision cb04100074d5e24e89345cd1577c5f7fc0eccc01) @@ -3,7 +3,7 @@ * * https://minecraftdev.org * - * Copyright (c) 2021 minecraft-dev + * Copyright (c) 2022 minecraft-dev * * MIT License */ Index: src/main/kotlin/platform/mixin/util/AsmUtil.kt =================================================================== --- src/main/kotlin/platform/mixin/util/AsmUtil.kt (revision dcb79733709f3760d54a5ec39ba83cf4122f93ff) +++ src/main/kotlin/platform/mixin/util/AsmUtil.kt (revision cb04100074d5e24e89345cd1577c5f7fc0eccc01) @@ -3,7 +3,7 @@ * * https://minecraftdev.org * - * Copyright (c) 2021 minecraft-dev + * Copyright (c) 2022 minecraft-dev * * MIT License */ Index: src/main/kotlin/translations/TranslationEditorNotificationProvider.kt =================================================================== --- src/main/kotlin/translations/TranslationEditorNotificationProvider.kt (revision dcb79733709f3760d54a5ec39ba83cf4122f93ff) +++ src/main/kotlin/translations/TranslationEditorNotificationProvider.kt (revision cb04100074d5e24e89345cd1577c5f7fc0eccc01) @@ -3,7 +3,7 @@ * * https://minecraftdev.org * - * Copyright (c) 2021 minecraft-dev + * Copyright (c) 2022 minecraft-dev * * MIT License */ Index: src/main/kotlin/translations/index/providers.kt =================================================================== --- src/main/kotlin/translations/index/providers.kt (revision dcb79733709f3760d54a5ec39ba83cf4122f93ff) +++ src/main/kotlin/translations/index/providers.kt (revision cb04100074d5e24e89345cd1577c5f7fc0eccc01) @@ -3,7 +3,7 @@ * * https://minecraftdev.org * - * Copyright (c) 2021 minecraft-dev + * Copyright (c) 2022 minecraft-dev * * MIT License */ Index: src/main/kotlin/util/utils.kt =================================================================== --- src/main/kotlin/util/utils.kt (revision dcb79733709f3760d54a5ec39ba83cf4122f93ff) +++ src/main/kotlin/util/utils.kt (revision cb04100074d5e24e89345cd1577c5f7fc0eccc01) @@ -3,7 +3,7 @@ * * https://minecraftdev.org * - * Copyright (c) 2021 minecraft-dev + * Copyright (c) 2022 minecraft-dev * * MIT License */ @@ -13,8 +13,10 @@ import com.google.gson.Gson import com.google.gson.reflect.TypeToken import com.intellij.lang.java.lexer.JavaLexer +import com.intellij.openapi.application.AppUIExecutor import com.intellij.openapi.application.ApplicationManager import com.intellij.openapi.application.ModalityState +import com.intellij.openapi.application.impl.coroutineDispatchingContext import com.intellij.openapi.application.runReadAction import com.intellij.openapi.command.WriteCommandAction import com.intellij.openapi.module.Module @@ -32,6 +34,8 @@ import com.intellij.psi.PsiDocumentManager import com.intellij.psi.PsiFile import java.util.Locale +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.runBlocking inline fun runWriteTask(crossinline func: () -> T): T { return invokeAndWait { @@ -89,6 +93,10 @@ ApplicationManager.getApplication().invokeLater(func, ModalityState.any()) } +fun edtCoroutineScope(block: suspend CoroutineScope.() -> T): T { + return runBlocking(AppUIExecutor.onUiThread().coroutineDispatchingContext(), block) +} + inline fun PsiFile.runWriteAction(crossinline func: () -> T) = applyWriteAction { func() } Index: src/test/kotlin/framework/ProjectBuilderTest.kt =================================================================== --- src/test/kotlin/framework/ProjectBuilderTest.kt (revision dcb79733709f3760d54a5ec39ba83cf4122f93ff) +++ src/test/kotlin/framework/ProjectBuilderTest.kt (revision cb04100074d5e24e89345cd1577c5f7fc0eccc01) @@ -3,7 +3,7 @@ * * https://minecraftdev.org * - * Copyright (c) 2021 minecraft-dev + * Copyright (c) 2022 minecraft-dev * * MIT License */