Configure jvmRun task to set -XstartOnFirstThread on OSX such that demos can be debugged and profiled
This commit is contained in:
@@ -4,6 +4,7 @@ import CollectScreenshotsTask
|
|||||||
import org.gradle.accessors.dm.LibrariesForLibs
|
import org.gradle.accessors.dm.LibrariesForLibs
|
||||||
import org.gradle.api.tasks.testing.logging.TestExceptionFormat
|
import org.gradle.api.tasks.testing.logging.TestExceptionFormat
|
||||||
import org.gradle.nativeplatform.platform.internal.DefaultNativePlatform
|
import org.gradle.nativeplatform.platform.internal.DefaultNativePlatform
|
||||||
|
import org.gradle.nativeplatform.platform.internal.DefaultOperatingSystem
|
||||||
import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi
|
import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi
|
||||||
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
|
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
|
||||||
import org.jetbrains.kotlin.gradle.dsl.KotlinVersion
|
import org.jetbrains.kotlin.gradle.dsl.KotlinVersion
|
||||||
@@ -72,6 +73,12 @@ kotlin {
|
|||||||
useJUnitPlatform()
|
useJUnitPlatform()
|
||||||
testLogging.exceptionFormat = TestExceptionFormat.FULL
|
testLogging.exceptionFormat = TestExceptionFormat.FULL
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@OptIn(ExperimentalKotlinGradlePluginApi::class)
|
||||||
|
mainRun {
|
||||||
|
classpath(kotlin.jvm().compilations.getByName("demo").output.allOutputs)
|
||||||
|
classpath(kotlin.jvm().compilations.getByName("demo").configurations.runtimeDependencyConfiguration!!)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
js(IR) {
|
js(IR) {
|
||||||
@@ -182,12 +189,10 @@ if (shouldPublish) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
kotlin {
|
tasks.withType<JavaExec>().matching { it.name == "jvmRun" }.configureEach {
|
||||||
@OptIn(ExperimentalKotlinGradlePluginApi::class)
|
workingDir = rootDir
|
||||||
jvm().mainRun {
|
val os: OperatingSystem? = DefaultNativePlatform.getCurrentOperatingSystem()
|
||||||
classpath(kotlin.jvm().compilations.getByName("demo").output.allOutputs)
|
if (os?.name == "Mac OS X") {
|
||||||
classpath(kotlin.jvm().compilations.getByName("demo").configurations.runtimeDependencyConfiguration!!)
|
setJvmArgs(listOf("-XstartOnFirstThread"))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks.withType<JavaExec>().matching { it.name == "jvmRun" }.configureEach { workingDir = rootDir }
|
|
||||||
|
|||||||
Reference in New Issue
Block a user