diff --git a/.github/workflows/check-publishing.yml b/.github/workflows/check-publishing.yml index 21a941aa0..90c2ff10d 100644 --- a/.github/workflows/check-publishing.yml +++ b/.github/workflows/check-publishing.yml @@ -129,4 +129,4 @@ jobs: run: ./gradlew :mirai-deps-test:publishMiraiArtifactsToMavenLocal ${{ env.gradleArgs }} "-Porg.gradle.parallel=${{ matrix.parallelCompilation }}" - name: Check Publication - run: ./gradlew :mirai-deps-test:check ${{ env.gradleArgs }} "-Dmirai.deps.test.must.run=true" + run: ./gradlew :mirai-deps-test:check ${{ env.gradleArgs }} "-Dmirai.deps.test.must.run=true" "-Porg.gradle.parallel=${{ matrix.parallelCompilation }}" diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index dc8433dba..348aba307 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -23,7 +23,7 @@ jobs: env: enableLocalPublishingTest: 'false' # All targets MUST be enabled. See #2270. - gradleArgs: --scan "-Dmirai.target=other" "-Pkotlin.compiler.execution.strategy=in-process" + gradleArgs: --scan "-Dmirai.target=other" "-Pkotlin.compiler.execution.strategy=in-process" "-Dorg.gradle.jvmargs=-Xmx4096m" "-Dfile.encoding=UTF-8" isMac: ${{ startsWith(matrix.os, 'macos') }} isWindows: ${{ startsWith(matrix.os, 'windows') }} isUbuntu: ${{ startsWith(matrix.os, 'ubuntu') }} diff --git a/buildSrc/src/main/kotlin/Versions.kt b/buildSrc/src/main/kotlin/Versions.kt index 7c2f3dead..329947c55 100644 --- a/buildSrc/src/main/kotlin/Versions.kt +++ b/buildSrc/src/main/kotlin/Versions.kt @@ -23,7 +23,7 @@ import org.jetbrains.kotlin.gradle.plugin.KotlinDependencyHandler object Versions { val project = System.getenv("mirai.build.project.version")?.takeIf { it.isNotBlank() } ?: System.getProperty("mirai.build.project.version")?.takeIf { it.isNotBlank() } - ?: /*PROJECT_VERSION_START*/"2.14.0-dev-shadow-6"/*PROJECT_VERSION_END*/ + ?: /*PROJECT_VERSION_START*/"2.14.0-dev-shadow-8"/*PROJECT_VERSION_END*/ // DO NOT ADD SPACE BETWEEN! val core get() = project diff --git a/mirai-console/tools/gradle-plugin/src/integTest/kotlin/AbstractTest.kt b/mirai-console/tools/gradle-plugin/src/integTest/kotlin/AbstractTest.kt index 9b6cb6b45..fb2cceb7a 100644 --- a/mirai-console/tools/gradle-plugin/src/integTest/kotlin/AbstractTest.kt +++ b/mirai-console/tools/gradle-plugin/src/integTest/kotlin/AbstractTest.kt @@ -38,11 +38,13 @@ abstract class AbstractTest { .forwardOutput() .withEnvironment(System.getenv()) .withArguments(buildList { - add("--no-daemon") - add("-Pkotlin.compiler.execution.strategy=in-process") - add("-Dorg.gradle.jvmargs=-Xmx256m") - add("-Dfile.encoding=UTF-8") addAll(arguments) + add("-P") + add("kotlin.compiler.execution.strategy=in-process") + add("-D") + add("org.gradle.jvmargs=-Xmx512m") + add("-D") + add("file.encoding=UTF-8") }) .build() } diff --git a/mirai-deps-test/build.gradle.kts b/mirai-deps-test/build.gradle.kts index 24c360f27..f09cbaa01 100644 --- a/mirai-deps-test/build.gradle.kts +++ b/mirai-deps-test/build.gradle.kts @@ -113,6 +113,7 @@ val publishMiraiLocalArtifacts = tasks.register("publishMiraiLocalArtifacts", Ex "--scan", "-Pkotlin.compiler.execution.strategy=in-process" ) + standardOutput = System.out errorOutput = System.err } diff --git a/mirai-deps-test/test/AbstractTest.kt b/mirai-deps-test/test/AbstractTest.kt index 9f68e14b1..d2a48f8ae 100644 --- a/mirai-deps-test/test/AbstractTest.kt +++ b/mirai-deps-test/test/AbstractTest.kt @@ -11,6 +11,7 @@ package net.mamoe.mirai.deps.test import org.gradle.api.internal.artifacts.mvnsettings.DefaultMavenFileLocations import org.gradle.testkit.runner.GradleRunner +import org.gradle.testkit.runner.internal.DefaultGradleRunner import org.junit.jupiter.api.BeforeEach import org.junit.jupiter.api.extension.AfterEachCallback import org.junit.jupiter.api.extension.RegisterExtension @@ -89,6 +90,7 @@ abstract class AbstractTest { lateinit var settingsFile: File lateinit var propertiesFile: File + private inline fun Any?.cast(): T = this as T @OptIn(ExperimentalStdlibApi::class) fun runGradle(vararg arguments: String) { @@ -99,13 +101,19 @@ abstract class AbstractTest { .withGradleVersion("7.2") .forwardOutput() .withEnvironment(System.getenv()) - .withArguments(buildList { - add("--no-daemon") - add("-Pkotlin.compiler.execution.strategy=in-process") - add("-Dorg.gradle.jvmargs=-Xmx512m") + .cast().withJvmArguments(buildList { + add("-Xmx512m") // Kotlin MPP may need memory to build add("-Dfile.encoding=UTF-8") - add("--stacktrace") + }) + .withArguments(buildList { addAll(arguments) + add("-P") + add("kotlin.compiler.execution.strategy=in-process") + add("-D") + add("org.gradle.jvmargs=-Xmx512m") + add("-D") + add("file.encoding=UTF-8") + add("--stacktrace") }) .build() } diff --git a/mirai-deps-test/test/CoreShadowRelocationTest.kt b/mirai-deps-test/test/CoreShadowRelocationTest.kt index 2e31e0a6f..74230e842 100644 --- a/mirai-deps-test/test/CoreShadowRelocationTest.kt +++ b/mirai-deps-test/test/CoreShadowRelocationTest.kt @@ -157,12 +157,13 @@ class CoreShadowRelocationTest : AbstractTest() { // mirai-core-all-2.99.0-deps-test-all.jar val miraiCoreAllJar = mavenLocalDir.resolve("net/mamoe/mirai-core-all/$miraiLocalVersion/mirai-core-all-$miraiLocalVersion-all.jar") - assertTrue("'${miraiCoreAllJar.absolutePath}' does not exist") { miraiCoreAllJar.exists() } + val path = miraiCoreAllJar.absolutePath.replace("\\", "/") // overcome string escape in source files. + assertTrue("'$path' does not exist") { miraiCoreAllJar.exists() } buildFile.appendText( """ dependencies { - implementation(fileTree("${miraiCoreAllJar.absolutePath}")) + implementation(fileTree("$path")) } """.trimIndent() )