d38828dRemove rootProject.buildFileName = ‘build.gradle.kts’ from settings files
See #37 a37751aUse isolated ClassLoader for Kotlin jars
Due to the lack of isolation between gradle-script-kotlin and the compiled buildscript(s), referenced Kotlin types could leak into different ClassLoader scopes causing all sorts of loader constraint violations. That lack of isolation also meant that only the specific version of Kotlin shipped with gsk could ever be used. This commit mitigates these limitations by subverting the ClassLoader delegation model when Kotlin jars are detected in the buildscript classpath. In that case, all jars in the script classpath together with the Kotlin jars are segregated into a ClassLoader that will first try to load classes locally before delegating to its parent from the ClassLoader scope hierarchy. This solution is only a stepping stone and comes with its own set of limitations, buildscript block and script body cannot exchange Kotlin library values for one. A better solution will demand more isolation between gradle-script-kotlin and core. Resolves #84 Resolves #86 Resolves #25 |
![]() |