Debian Patches
Status for gradle-kotlin-dsl/0.15.6-1
| Patch | Description | Author | Forwarded | Bugs | Origin | Last update |
|---|---|---|---|---|---|---|
| 01-kotlin-compatibility.patch | Fixes the compatibility with the version of Kotlin in Debian | Emmanuel Bourg <ebourg@apache.org> | not-needed | |||
| 02-generate-KotlinDependencyExtensions.patch | Generates KotlinDependencyExtensions.kt until the Gradle build can be used | Emmanuel Bourg <ebourg@apache.org> | not-needed | |||
| 05-kotlin-1.3-scripting-plugin.patch | Register the scripting compiler plugin with the embedded compiler Kotlin 1.2 handled the JVMConfigurationKeys.SCRIPT_DEFINITIONS setting in the compiler itself. Kotlin 1.3 moved that handling to the scripting compiler plugin: ScriptingCompilerConfigurationExtension is what reads the key and hands the definitions to the script definition provider, and it is installed by ScriptingCompilerConfigurationComponentRegistrar. . The plugin is loaded from the command line by the Kotlin compiler, but not when the compiler is embedded as it is here, so the script definition of the build scripts was registered and never read. The Kotlin front-end then found no descriptor for the script and failed with "Descriptor wasn't found for declaration SCRIPT". |
Emmanuel Bourg <ebourg@apache.org> | not-needed | |||
| 06-kotlin-jar-names.patch | Recognize the unversioned Kotlin jars of Debian The Kotlin jars of the Gradle distribution carry their version in their name, for example kotlin-stdlib-1.2.21.jar, and the filter selecting them for the classpath used to compile the build scripts expects the trailing dash. Debian installs them without a version, as kotlin-stdlib.jar and kotlin-reflect.jar, so they were all rejected and the scripts were compiled without the Kotlin standard library: "Cannot access class 'kotlin.Unit'". |
Emmanuel Bourg <ebourg@apache.org> | not-needed | |||
| 07-fast-class-files-reading.patch | Read the class files the way the command line compiler does The Kotlin compiler has two implementations for reading class files, and the command line compiler enables the faster one that does not go through the PSI layer. The Kotlin DSL leaves the setting at its default when it embeds the compiler to build the Gradle scripts, and the PSI based reader fails on java.lang.String as soon as its supertypes are resolved: since Java 12 it implements java.lang.constant.ConstantDesc, which the reader does not find. Concatenating two strings in a build script was enough to trigger it. . Upstream never met the problem because Gradle 4.6 was built and run with Java 8, where String has no such supertype. |
Emmanuel Bourg <ebourg@apache.org> | not-needed |
