KSP extension for the kotlin-maven-plugin

Overview

kotlin-maven-symbol-processing

Extension for the kotlin-maven-plugin to support Kotlin Symbol Processing (KSP).

Usage

To use this extension, add the dependency to the kotlin-maven-plugin:

<dependency>
    <groupId>com.dyescape</groupId>
    <artifactId>kotlin-maven-symbol-processing</artifactId>
    <version>1.0</version>
</dependency>

Then configure the kotlin-maven-plugin to use the ksp compiler plugin:

<configuration>
    <compilerPlugins>
        <compilerPlugin>ksp</compilerPlugin>
    </compilerPlugins>
</configuration>

To now add a symbol processor, simply add the module containing the symbol processor provider to the dependencies of the kotlin-maven-plugin.

Example kotlin-maven-plugin configuration

<plugin>
    <groupId>org.jetbrains.kotlin</groupId>
    <artifactId>kotlin-maven-plugin</artifactId>
    <version>${kotlin.version}</version>
    <executions>
        <execution>
            <id>compile</id>
            <phase>compile</phase>
            <goals>
                <goal>compile</goal>
            </goals>
        </execution>
    </executions>
    <configuration>
        <compilerPlugins>
            <compilerPlugin>ksp</compilerPlugin>
        </compilerPlugins>
    </configuration>
    <dependencies>
        <dependency>
            <groupId>com.dyescape</groupId>
            <artifactId>kotlin-maven-symbol-processing</artifactId>
            <version>${ksp.version}</version>
        </dependency>
        <dependency>
            <groupId><!-- symbol processor group id --></groupId>
            <artifactId><!-- symbol processor artifact id --></artifactId>
            <version><!-- symbol processor version --></version>
        </dependency>
    </dependencies>
</plugin>
Comments
  • Add maven plugin to project

    Add maven plugin to project

    Here I've been trying to add this plugin to a project, but it didn't seem to work, what repository definition is missing, or is there something in the configurations that I am missing. The PR is here https://github.com/arrow-kt/Arrow-Maven-Template/pull/17

    There is a similar setup here using Gradle, which works fine

    Any feedback or help is welcome 🙏🏾

    opened by i-walker 6
  • Plugin options append options, instead of replacing

    Plugin options append options, instead of replacing

    Example given in the README doesn't work, when trying to set <pluginOptions> <option>ksp:kotlinOutputDir=/my/output/dir</option> </pluginOptions> Build fails with error of duplicate ksp:kotlinOutputDir option (enabling debug output for maven hints that default value is not being overridden with the new one)

    opened by Gzernov 5
  • Clashes with allopen plugin

    Clashes with allopen plugin

    Hi, when there is a dependency on allopen plugin project doesn't build with error java.lang.IllegalStateException: The provided plugin org.jetbrains.kotlin.allopen.AllOpenComponentRegistrar is not compatible with this version of compiler I checked that kotlin version is set to 1.6.20 across the project. Not sure if it's an issue of ksp itself

    (From maven debug output) [DEBUG] Options for plugin ksp: [classOutputDir: ~/myProject/target/classes, javaOutputDir: ~/myProject/target/generated-sources/ksp-java, kotlinOutputDir: ~/myProject/target/generated-sources/ksp, resourceOutputDir: ~/myProject/target/classes, projectBaseDir: ~/myProject, kspOutputDir: ~/myProject/target/ksp, apclasspath: ~/.m2/repository/org/jetbrains/kotlin/kotlin-maven-allopen/1.6.20/kotlin-maven-allopen-1.6.20.jar:~/.m2/repository/com/dyescape/kotlin-maven-symbol-processing/1.2/kotlin-maven-symbol-processing-1.2.jar, cachesDir: ~/.m2/repository/.cache/ksp, withCompilation: true, kotlinOutputDir: /qwe] I tried to remove allopen from the classpath changing constructProcessorClassPath method, but that didn't help

    On a side note list of options is being appended, instead of replacing existing value. See kotlinOutputDir being duplicated

    opened by Gzernov 3
  • Pass custom options to the KSP plugin

    Pass custom options to the KSP plugin

    Hello. Is it possible to pass custom options to the KSP plugin? I tried to do something like

                <pluginOptions>
                    <option>ksp:hello=false</option>
                </pluginOptions>
    

    but it breaks with the message

    [ERROR] Unsupported plugin option: com.google.devtools.ksp.symbol-processing:hello=true
    

    which makes sense, since I haven't put any special care as it seems to define this option. I even tried to add it at the getPluginOptions function "manually", but this still didn''t work...

    Any hints what to do?

    opened by teras 3
  • Version 1.3 doesn't seem to work well with Arrow Optics.

    Version 1.3 doesn't seem to work well with Arrow Optics.

    Hi there,

    I have a project where I do all sorts of Kotlin studies and it compiles great with version 1.2 of this plugin. It works very very well with all things Project Arrow related. It generates @optics source code perfectly and I have no issues with it. Version 1.3 though, doesn't seem to work with Arrow and I get this exception constantly:

    Error:  Failed to execute goal org.jetbrains.kotlin:kotlin-maven-plugin:1.7.22:compile (compile) on
     project jeorg-kotlin-optics-crums-1: Compilation failure
    Error:  java.lang.NoSuchMethodError:
     'void org.jetbrains.kotlin.codegen.state.KotlinTypeMapper.<init>(org.jetbrains.kotlin.resolve.BindingContext, 
    org.jetbrains.kotlin.codegen.ClassBuilderMode, java.lang.String, 
    org.jetbrains.kotlin.config.LanguageVersionSettings, boolean,
     org.jetbrains.kotlin.codegen.state.IncompatibleClassTracker, org.jetbrains.kotlin.config.JvmTarget, boolean,
     kotlin.jvm.functions.Function1, 
    kotlin.jvm.functions.Function1, int, kotlin.jvm.internal.DefaultConstructorMarker)'
    

    Here is a build example: https://github.com/jesperancinha/jeorg-kotlin-test-drives/actions/runs/3725908532/jobs/6319000885

    Maybe I'm missing something or perhaps there is just something not working very well with Arrow?

    bug 
    opened by jesperancinha 2
  • Bump kotlin-stdlib from 1.8.0-Beta to 1.8.0-RC2

    Bump kotlin-stdlib from 1.8.0-Beta to 1.8.0-RC2

    Bumps kotlin-stdlib from 1.8.0-Beta to 1.8.0-RC2.

    Release notes

    Sourced from kotlin-stdlib's releases.

    Kotlin 1.8.0-RC2

    Changelog

    Compiler

    • KT-55357 IllegalStateException when reading a class that delegates to a Java class with a definitely-not-null type with a flexible upper bound
    • KT-55068 Kotlin Gradle DSL: No mapping for symbol: VALUE_PARAMETER SCRIPT_IMPLICIT_RECEIVER on JVM IR backend
    • KT-51284 SAM conversion doesn't work if method has context receivers
    • KT-55065 Kotlin Gradle DSL: Reflection cannot find class data for lambda, produced by JVM IR backend

    Tools. Compiler plugins. Serialization

    • KT-55340 Argument for kotlinx.serialization.UseSerializers does not implement KSerializer or does not provide serializer for concrete type

    Tools. Gradle

    • KT-55334 kaptGenerateStubs passes wrong android variant module names to compiler
    • KT-55255 Gradle: stdlib version alignment fails build on dynamic stdlib version.
    • KT-55363 [K1.8.0-Beta] Command line parsing treats plugin parameters as source files

    Checksums

    File Sha256
    kotlin-compiler-1.8.0-RC2.zip 149492cac31a94e8ee5173035520bb31286f6f6eb004cc0306b47127f7a72ce9
    kotlin-native-linux-x86_64-1.8.0-RC2.tar.gz 859031d2f8dc86398a3484a9103eea3dffbe546be658063bff69913c2d1d7233
    kotlin-native-macos-x86_64-1.8.0-RC2.tar.gz cb25632ddc061c04a0a7a23a3afdf9dcc5a8c5d4a536fd8b5396be700ad87b38
    kotlin-native-macos-aarch64-1.8.0-RC2.tar.gz 9ba55a4e4ca3fc263d9758bd5f5ded732c0ef53fae7920a495715907c9a43c33
    kotlin-native-windows-x86_64-1.8.0-RC2.zip 2c6a2b11523929563845b945faa8b7c481727d0408d18e41dcd48bf6bdf7e570

    Kotlin 1.8.0-RC

    Changelog

    Compiler

    • KT-55108 IR interpreter: Error occurred while optimizing an expression: VARARG
    • KT-54884 "StackOverflowError: null" caused by Enum constant name in constructor of the same Enum constant
    • KT-55013 State checker use-after-free with XCode 14.1
    • KT-54275 K2: "IllegalArgumentException: KtParameter is not a subtype of class KtAnnotationEntry for factory REPEATED_ANNOTATION"

    JavaScript

    • KT-55097 KJS / IR + IC: Using an internal function from a friend module throws an unbound symbol exception
    • KT-54934 KJS / IR + IC: Suspend abstract function stubs are generated with unstable lowered ic signatures
    • KT-54895 KJS / IR + IC: broken cross module references for function default param wrappers

    Language Design

    • KT-48516 Forbid @Synchronized annotation on suspend functions

    ... (truncated)

    Changelog

    Sourced from kotlin-stdlib's changelog.

    1.8.0-RC2

    Compiler

    • KT-55357 IllegalStateException when reading a class that delegates to a Java class with a definitely-not-null type with a flexible upper bound
    • KT-55068 Kotlin Gradle DSL: No mapping for symbol: VALUE_PARAMETER SCRIPT_IMPLICIT_RECEIVER on JVM IR backend
    • KT-51284 SAM conversion doesn't work if method has context receivers
    • KT-55065 Kotlin Gradle DSL: Reflection cannot find class data for lambda, produced by JVM IR backend

    Tools. Compiler plugins. Serialization

    • KT-55340 Argument for kotlinx.serialization.UseSerializers does not implement KSerializer or does not provide serializer for concrete type

    Tools. Gradle

    • KT-55334 kaptGenerateStubs passes wrong android variant module names to compiler
    • KT-55255 Gradle: stdlib version alignment fails build on dynamic stdlib version.
    • KT-55363 [K1.8.0-Beta] Command line parsing treats plugin parameters as source files

    1.8.0-RC

    Compiler

    • KT-55108 IR interpreter: Error occurred while optimizing an expression: VARARG
    • KT-54884 "StackOverflowError: null" caused by Enum constant name in constructor of the same Enum constant
    • KT-55013 State checker use-after-free with XCode 14.1
    • KT-54275 K2: "IllegalArgumentException: KtParameter is not a subtype of class KtAnnotationEntry for factory REPEATED_ANNOTATION"

    JavaScript

    • KT-55097 KJS / IR + IC: Using an internal function from a friend module throws an unbound symbol exception
    • KT-54934 KJS / IR + IC: Suspend abstract function stubs are generated with unstable lowered ic signatures
    • KT-54895 KJS / IR + IC: broken cross module references for function default param wrappers

    Language Design

    Libraries

    • KT-54835 Document that Iterable.all(emptyCollection) returns TRUE.
    • KT-54168 Expand on natural order in comparator docs

    Native. Platform Libraries

    Tools. Compiler plugins. Serialization

    ... (truncated)

    Commits
    • da1a843 Add ChangeLog for 1.8.0-RC2
    • d325cf8 Call additional publishToMavenLocal in maven build scripts and enable info
    • 0403d70 Don't leave Gradle daemons after build scripts
    • 52b225d Fix task module-name is not propagated to compiler arguments
    • d40ebc3 Specify versions-maven-plugin version explicitly
    • 2e829ed Fix version parsing crash on Gradle rich version string
    • f603c0e Scripting, IR: fix capturing of implicit receiver
    • 06cbf8f Scripting, tests: enable custom script tests with IR
    • d61cef0 Fix deserialization exception for DNN types from Java
    • ea33e72 JVM IR: script is a valid container for local delegated properties
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies java 
    opened by dependabot[bot] 1
  • Bump kotlin-compiler from 1.8.0-Beta to 1.8.0-RC2

    Bump kotlin-compiler from 1.8.0-Beta to 1.8.0-RC2

    Bumps kotlin-compiler from 1.8.0-Beta to 1.8.0-RC2.

    Release notes

    Sourced from kotlin-compiler's releases.

    Kotlin 1.8.0-RC2

    Changelog

    Compiler

    • KT-55357 IllegalStateException when reading a class that delegates to a Java class with a definitely-not-null type with a flexible upper bound
    • KT-55068 Kotlin Gradle DSL: No mapping for symbol: VALUE_PARAMETER SCRIPT_IMPLICIT_RECEIVER on JVM IR backend
    • KT-51284 SAM conversion doesn't work if method has context receivers
    • KT-55065 Kotlin Gradle DSL: Reflection cannot find class data for lambda, produced by JVM IR backend

    Tools. Compiler plugins. Serialization

    • KT-55340 Argument for kotlinx.serialization.UseSerializers does not implement KSerializer or does not provide serializer for concrete type

    Tools. Gradle

    • KT-55334 kaptGenerateStubs passes wrong android variant module names to compiler
    • KT-55255 Gradle: stdlib version alignment fails build on dynamic stdlib version.
    • KT-55363 [K1.8.0-Beta] Command line parsing treats plugin parameters as source files

    Checksums

    File Sha256
    kotlin-compiler-1.8.0-RC2.zip 149492cac31a94e8ee5173035520bb31286f6f6eb004cc0306b47127f7a72ce9
    kotlin-native-linux-x86_64-1.8.0-RC2.tar.gz 859031d2f8dc86398a3484a9103eea3dffbe546be658063bff69913c2d1d7233
    kotlin-native-macos-x86_64-1.8.0-RC2.tar.gz cb25632ddc061c04a0a7a23a3afdf9dcc5a8c5d4a536fd8b5396be700ad87b38
    kotlin-native-macos-aarch64-1.8.0-RC2.tar.gz 9ba55a4e4ca3fc263d9758bd5f5ded732c0ef53fae7920a495715907c9a43c33
    kotlin-native-windows-x86_64-1.8.0-RC2.zip 2c6a2b11523929563845b945faa8b7c481727d0408d18e41dcd48bf6bdf7e570

    Kotlin 1.8.0-RC

    Changelog

    Compiler

    • KT-55108 IR interpreter: Error occurred while optimizing an expression: VARARG
    • KT-54884 "StackOverflowError: null" caused by Enum constant name in constructor of the same Enum constant
    • KT-55013 State checker use-after-free with XCode 14.1
    • KT-54275 K2: "IllegalArgumentException: KtParameter is not a subtype of class KtAnnotationEntry for factory REPEATED_ANNOTATION"

    JavaScript

    • KT-55097 KJS / IR + IC: Using an internal function from a friend module throws an unbound symbol exception
    • KT-54934 KJS / IR + IC: Suspend abstract function stubs are generated with unstable lowered ic signatures
    • KT-54895 KJS / IR + IC: broken cross module references for function default param wrappers

    Language Design

    • KT-48516 Forbid @Synchronized annotation on suspend functions

    ... (truncated)

    Changelog

    Sourced from kotlin-compiler's changelog.

    1.8.0-RC2

    Compiler

    • KT-55357 IllegalStateException when reading a class that delegates to a Java class with a definitely-not-null type with a flexible upper bound
    • KT-55068 Kotlin Gradle DSL: No mapping for symbol: VALUE_PARAMETER SCRIPT_IMPLICIT_RECEIVER on JVM IR backend
    • KT-51284 SAM conversion doesn't work if method has context receivers
    • KT-55065 Kotlin Gradle DSL: Reflection cannot find class data for lambda, produced by JVM IR backend

    Tools. Compiler plugins. Serialization

    • KT-55340 Argument for kotlinx.serialization.UseSerializers does not implement KSerializer or does not provide serializer for concrete type

    Tools. Gradle

    • KT-55334 kaptGenerateStubs passes wrong android variant module names to compiler
    • KT-55255 Gradle: stdlib version alignment fails build on dynamic stdlib version.
    • KT-55363 [K1.8.0-Beta] Command line parsing treats plugin parameters as source files

    1.8.0-RC

    Compiler

    • KT-55108 IR interpreter: Error occurred while optimizing an expression: VARARG
    • KT-54884 "StackOverflowError: null" caused by Enum constant name in constructor of the same Enum constant
    • KT-55013 State checker use-after-free with XCode 14.1
    • KT-54275 K2: "IllegalArgumentException: KtParameter is not a subtype of class KtAnnotationEntry for factory REPEATED_ANNOTATION"

    JavaScript

    • KT-55097 KJS / IR + IC: Using an internal function from a friend module throws an unbound symbol exception
    • KT-54934 KJS / IR + IC: Suspend abstract function stubs are generated with unstable lowered ic signatures
    • KT-54895 KJS / IR + IC: broken cross module references for function default param wrappers

    Language Design

    Libraries

    • KT-54835 Document that Iterable.all(emptyCollection) returns TRUE.
    • KT-54168 Expand on natural order in comparator docs

    Native. Platform Libraries

    Tools. Compiler plugins. Serialization

    ... (truncated)

    Commits
    • da1a843 Add ChangeLog for 1.8.0-RC2
    • d325cf8 Call additional publishToMavenLocal in maven build scripts and enable info
    • 0403d70 Don't leave Gradle daemons after build scripts
    • 52b225d Fix task module-name is not propagated to compiler arguments
    • d40ebc3 Specify versions-maven-plugin version explicitly
    • 2e829ed Fix version parsing crash on Gradle rich version string
    • f603c0e Scripting, IR: fix capturing of implicit receiver
    • 06cbf8f Scripting, tests: enable custom script tests with IR
    • d61cef0 Fix deserialization exception for DNN types from Java
    • ea33e72 JVM IR: script is a valid container for local delegated properties
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies java 
    opened by dependabot[bot] 1
  • Bump kotlin-maven-plugin from 1.8.0-Beta to 1.8.0-RC2

    Bump kotlin-maven-plugin from 1.8.0-Beta to 1.8.0-RC2

    Bumps kotlin-maven-plugin from 1.8.0-Beta to 1.8.0-RC2.

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies java 
    opened by dependabot[bot] 1
  • Bump kotlin-compiler from 1.8.0-Beta to 1.8.0-RC

    Bump kotlin-compiler from 1.8.0-Beta to 1.8.0-RC

    Bumps kotlin-compiler from 1.8.0-Beta to 1.8.0-RC.

    Release notes

    Sourced from kotlin-compiler's releases.

    Kotlin 1.8.0-RC

    Changelog

    Compiler

    • KT-55108 IR interpreter: Error occurred while optimizing an expression: VARARG
    • KT-54884 "StackOverflowError: null" caused by Enum constant name in constructor of the same Enum constant
    • KT-55013 State checker use-after-free with XCode 14.1
    • KT-54275 K2: "IllegalArgumentException: KtParameter is not a subtype of class KtAnnotationEntry for factory REPEATED_ANNOTATION"

    JavaScript

    • KT-55097 KJS / IR + IC: Using an internal function from a friend module throws an unbound symbol exception
    • KT-54934 KJS / IR + IC: Suspend abstract function stubs are generated with unstable lowered ic signatures
    • KT-54895 KJS / IR + IC: broken cross module references for function default param wrappers

    Language Design

    • KT-48516 Forbid @Synchronized annotation on suspend functions

    Libraries

    • KT-54835 Document that Iterable.all(emptyCollection) returns TRUE.
    • KT-54168 Expand on natural order in comparator docs

    Native. Platform Libraries

    Tools. Compiler plugins. Serialization

    • KT-55296 Improve exceptions in serialization plugin
    • KT-55180 KJS: regression in serialization for Kotlin 1.8.0-beta
    • KT-54878 JVM/IR: java.lang.ClassCastException: class org.jetbrains.kotlin.ir.types.impl.IrStarProjectionImpl cannot be cast to class org.jetbrains.kotlin.ir.types.IrTypeProjection on serializer()

    Tools. Gradle

    • KT-50115 Setting toolchain via Java extension does not configure 'kotlinOptions.jvmTarget' value when Kotlin compilation tasks are created eagerly
    • KT-55222 Migrate AndroidDependencyResolver to the new Gradle API
    • KT-54993 Raise kotlin.jvm.target.validation.mode check default level to error when build is running on Gradle 8+
    • KT-54995 [1.8.0-Beta] compileAppleMainKotlinMetadata fails on default parameters with No value passed for parameter 'mustExist'
    • KT-45335 kotlinOptions.jvmTarget conflicts with Gradle variants
    • KT-55019 Gradle sync: UnknownConfigurationException when adding implementation dependencies to a Kotlin with Java compilation
    • KT-55004 jvmTarget value is ignored by depending modules if a task "UsesKotlinJavaToolchain" is configured for all project modules using allProjects {}
    • KT-54888 Add Gradle property to suppress kotlinOptions.freeCompilerArgs modification on execution phase

    Tools. Gradle. JS

    • KT-55099 K/JS: Second declaration of JS target without compiler type report warning incorrectly

    ... (truncated)

    Changelog

    Sourced from kotlin-compiler's changelog.

    1.8.0-RC

    Compiler

    • KT-55108 IR interpreter: Error occurred while optimizing an expression: VARARG
    • KT-54884 "StackOverflowError: null" caused by Enum constant name in constructor of the same Enum constant
    • KT-55013 State checker use-after-free with XCode 14.1
    • KT-54275 K2: "IllegalArgumentException: KtParameter is not a subtype of class KtAnnotationEntry for factory REPEATED_ANNOTATION"

    JavaScript

    • KT-55097 KJS / IR + IC: Using an internal function from a friend module throws an unbound symbol exception
    • KT-54934 KJS / IR + IC: Suspend abstract function stubs are generated with unstable lowered ic signatures
    • KT-54895 KJS / IR + IC: broken cross module references for function default param wrappers

    Language Design

    Libraries

    • KT-54835 Document that Iterable.all(emptyCollection) returns TRUE.
    • KT-54168 Expand on natural order in comparator docs

    Native. Platform Libraries

    Tools. Compiler plugins. Serialization

    • KT-55296 Improve exceptions in serialization plugin
    • KT-55180 KJS: regression in serialization for Kotlin 1.8.0-beta
    • KT-54878 JVM/IR: java.lang.ClassCastException: class org.jetbrains.kotlin.ir.types.impl.IrStarProjectionImpl cannot be cast to class org.jetbrains.kotlin.ir.types.IrTypeProjection on serializer()

    Tools. Gradle

    • KT-50115 Setting toolchain via Java extension does not configure 'kotlinOptions.jvmTarget' value when Kotlin compilation tasks are created eagerly
    • KT-55222 Migrate AndroidDependencyResolver to the new Gradle API
    • KT-54993 Raise kotlin.jvm.target.validation.mode check default level to error when build is running on Gradle 8+
    • KT-54995 [1.8.0-Beta] compileAppleMainKotlinMetadata fails on default parameters with No value passed for parameter 'mustExist'
    • KT-45335 kotlinOptions.jvmTarget conflicts with Gradle variants
    • KT-55019 Gradle sync: UnknownConfigurationException when adding implementation dependencies to a Kotlin with Java compilation
    • KT-55004 jvmTarget value is ignored by depending modules if a task "UsesKotlinJavaToolchain" is configured for all project modules using allProjects {}
    • KT-54888 Add Gradle property to suppress kotlinOptions.freeCompilerArgs modification on execution phase

    Tools. Gradle. JS

    • KT-55099 K/JS: Second declaration of JS target without compiler type report warning incorrectly

    Tools. Gradle. Multiplatform

    ... (truncated)

    Commits
    • 4985a66 Add ChangeLog for 1.8.0-RC
    • 0cb5527 Change throw AssertionError to error() that throws IllegalStateException
    • e223bd3 [Gradle] Workaround KT-55222 via reflection to make the project compilable
    • a7f2dd4 [K/JS] Generating TypeScript definitions for exceptions and rest of the types...
    • 1eabf6d [Gradle] Access MppTestReportHelper factory directly instead of providers
    • 8ed2863 [Gradle] Migrate AndroidDependencyResolver to the new variants selection API
    • 15f6667 [Gradle] Introduce MppTestReportHelper to handle differences in internal Grad...
    • 40e2ab7 [Gradle] Workaround KT-55222 via reflection to make the project compilable
    • 82a502b [Gradle] Update Gradle API for the common sourceset to 7.6
    • 5b4c796 [Gradle] Add test for KT-54634
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies java 
    opened by dependabot[bot] 1
  • Bump kotlin-maven-plugin from 1.8.0-Beta to 1.8.0-RC

    Bump kotlin-maven-plugin from 1.8.0-Beta to 1.8.0-RC

    Bumps kotlin-maven-plugin from 1.8.0-Beta to 1.8.0-RC.

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies java 
    opened by dependabot[bot] 1
  • Bump kotlin-stdlib from 1.8.0-Beta to 1.8.0-RC

    Bump kotlin-stdlib from 1.8.0-Beta to 1.8.0-RC

    Bumps kotlin-stdlib from 1.8.0-Beta to 1.8.0-RC.

    Release notes

    Sourced from kotlin-stdlib's releases.

    Kotlin 1.8.0-RC

    Changelog

    Compiler

    • KT-55108 IR interpreter: Error occurred while optimizing an expression: VARARG
    • KT-54884 "StackOverflowError: null" caused by Enum constant name in constructor of the same Enum constant
    • KT-55013 State checker use-after-free with XCode 14.1
    • KT-54275 K2: "IllegalArgumentException: KtParameter is not a subtype of class KtAnnotationEntry for factory REPEATED_ANNOTATION"

    JavaScript

    • KT-55097 KJS / IR + IC: Using an internal function from a friend module throws an unbound symbol exception
    • KT-54934 KJS / IR + IC: Suspend abstract function stubs are generated with unstable lowered ic signatures
    • KT-54895 KJS / IR + IC: broken cross module references for function default param wrappers

    Language Design

    • KT-48516 Forbid @Synchronized annotation on suspend functions

    Libraries

    • KT-54835 Document that Iterable.all(emptyCollection) returns TRUE.
    • KT-54168 Expand on natural order in comparator docs

    Native. Platform Libraries

    Tools. Compiler plugins. Serialization

    • KT-55296 Improve exceptions in serialization plugin
    • KT-55180 KJS: regression in serialization for Kotlin 1.8.0-beta
    • KT-54878 JVM/IR: java.lang.ClassCastException: class org.jetbrains.kotlin.ir.types.impl.IrStarProjectionImpl cannot be cast to class org.jetbrains.kotlin.ir.types.IrTypeProjection on serializer()

    Tools. Gradle

    • KT-50115 Setting toolchain via Java extension does not configure 'kotlinOptions.jvmTarget' value when Kotlin compilation tasks are created eagerly
    • KT-55222 Migrate AndroidDependencyResolver to the new Gradle API
    • KT-54993 Raise kotlin.jvm.target.validation.mode check default level to error when build is running on Gradle 8+
    • KT-54995 [1.8.0-Beta] compileAppleMainKotlinMetadata fails on default parameters with No value passed for parameter 'mustExist'
    • KT-45335 kotlinOptions.jvmTarget conflicts with Gradle variants
    • KT-55019 Gradle sync: UnknownConfigurationException when adding implementation dependencies to a Kotlin with Java compilation
    • KT-55004 jvmTarget value is ignored by depending modules if a task "UsesKotlinJavaToolchain" is configured for all project modules using allProjects {}
    • KT-54888 Add Gradle property to suppress kotlinOptions.freeCompilerArgs modification on execution phase

    Tools. Gradle. JS

    • KT-55099 K/JS: Second declaration of JS target without compiler type report warning incorrectly

    ... (truncated)

    Changelog

    Sourced from kotlin-stdlib's changelog.

    1.8.0-RC

    Compiler

    • KT-55108 IR interpreter: Error occurred while optimizing an expression: VARARG
    • KT-54884 "StackOverflowError: null" caused by Enum constant name in constructor of the same Enum constant
    • KT-55013 State checker use-after-free with XCode 14.1
    • KT-54275 K2: "IllegalArgumentException: KtParameter is not a subtype of class KtAnnotationEntry for factory REPEATED_ANNOTATION"

    JavaScript

    • KT-55097 KJS / IR + IC: Using an internal function from a friend module throws an unbound symbol exception
    • KT-54934 KJS / IR + IC: Suspend abstract function stubs are generated with unstable lowered ic signatures
    • KT-54895 KJS / IR + IC: broken cross module references for function default param wrappers

    Language Design

    Libraries

    • KT-54835 Document that Iterable.all(emptyCollection) returns TRUE.
    • KT-54168 Expand on natural order in comparator docs

    Native. Platform Libraries

    Tools. Compiler plugins. Serialization

    • KT-55296 Improve exceptions in serialization plugin
    • KT-55180 KJS: regression in serialization for Kotlin 1.8.0-beta
    • KT-54878 JVM/IR: java.lang.ClassCastException: class org.jetbrains.kotlin.ir.types.impl.IrStarProjectionImpl cannot be cast to class org.jetbrains.kotlin.ir.types.IrTypeProjection on serializer()

    Tools. Gradle

    • KT-50115 Setting toolchain via Java extension does not configure 'kotlinOptions.jvmTarget' value when Kotlin compilation tasks are created eagerly
    • KT-55222 Migrate AndroidDependencyResolver to the new Gradle API
    • KT-54993 Raise kotlin.jvm.target.validation.mode check default level to error when build is running on Gradle 8+
    • KT-54995 [1.8.0-Beta] compileAppleMainKotlinMetadata fails on default parameters with No value passed for parameter 'mustExist'
    • KT-45335 kotlinOptions.jvmTarget conflicts with Gradle variants
    • KT-55019 Gradle sync: UnknownConfigurationException when adding implementation dependencies to a Kotlin with Java compilation
    • KT-55004 jvmTarget value is ignored by depending modules if a task "UsesKotlinJavaToolchain" is configured for all project modules using allProjects {}
    • KT-54888 Add Gradle property to suppress kotlinOptions.freeCompilerArgs modification on execution phase

    Tools. Gradle. JS

    • KT-55099 K/JS: Second declaration of JS target without compiler type report warning incorrectly

    Tools. Gradle. Multiplatform

    ... (truncated)

    Commits
    • 4985a66 Add ChangeLog for 1.8.0-RC
    • 0cb5527 Change throw AssertionError to error() that throws IllegalStateException
    • e223bd3 [Gradle] Workaround KT-55222 via reflection to make the project compilable
    • a7f2dd4 [K/JS] Generating TypeScript definitions for exceptions and rest of the types...
    • 1eabf6d [Gradle] Access MppTestReportHelper factory directly instead of providers
    • 8ed2863 [Gradle] Migrate AndroidDependencyResolver to the new variants selection API
    • 15f6667 [Gradle] Introduce MppTestReportHelper to handle differences in internal Grad...
    • 40e2ab7 [Gradle] Workaround KT-55222 via reflection to make the project compilable
    • 82a502b [Gradle] Update Gradle API for the common sourceset to 7.6
    • 5b4c796 [Gradle] Add test for KT-54634
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies java 
    opened by dependabot[bot] 1
  • Bump kotlin-maven-plugin from 1.8.0-Beta to 1.8.0

    Bump kotlin-maven-plugin from 1.8.0-Beta to 1.8.0

    Bumps kotlin-maven-plugin from 1.8.0-Beta to 1.8.0.

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies java 
    opened by dependabot[bot] 0
  • Bump kotlin-compiler from 1.8.0-Beta to 1.8.0

    Bump kotlin-compiler from 1.8.0-Beta to 1.8.0

    Bumps kotlin-compiler from 1.8.0-Beta to 1.8.0.

    Release notes

    Sourced from kotlin-compiler's releases.

    Kotlin 1.8.0

    Changelog

    Analysis API

    • KT-50255 Analysis API: Implement standalone mode for the Analysis API

    Analysis API. FIR

    • KT-54292 Symbol Light classes: implement PsiVariable.computeConstantValue for light field
    • KT-54293 Analysis API: fix constructor symbol creation when its accessed via type alias

    Android

    • KT-53342 TCS: New AndroidSourceSet layout for multiplatform
    • KT-53013 Increase AGP compile version in KGP to 4.1.3
    • KT-54013 Report error when using deprecated Kotlin Android Extensions compiler plugin
    • KT-53709 MPP, Android SSL2: Conflicting warnings for androidTest/kotlin source set folder

    Backend. Native. Debug

    • KT-53561 Invalid LLVM module: "inlinable function call in a function with debug info must have a !dbg location"

    Compiler

    New Features

    • KT-52817 Add @JvmSerializableLambda annotation to keep old behavior of non-invokedynamic lambdas
    • KT-54460 Implementation of non-local break and continue
    • KT-53916 Support Xcode 14 and new Objective-C frameworks in Kotlin/Native compiler
    • KT-32208 Generate method annotations into bytecode for suspend lambdas (on invokeSuspend)
    • KT-53438 Introduce a way to get SourceDebugExtension attribute value via JVMTI for profiler and coverage

    Performance Improvements

    • KT-53347 Get rid of excess allocations in parser
    • KT-53689 JVM: Optimize equality on class literals
    • KT-53119 Improve String Concatenation Lowering

    Fixes

    • KT-53465 Unnecessary checkcast to array of reified type is not optimized since Kotlin 1.6.20
    • KT-49658 NI: False negative TYPE_MISMATCH on nullable type with when
    • KT-48162 NON_VARARG_SPREAD isn't reported on *toTypedArray() call
    • KT-43493 NI: False negative: no compilation error "Operator '==' cannot be applied to 'Long' and 'Int'" is reported in builder inference lambdas
    • KT-54393 Change in behavior from 1.7.10 to 1.7.20 for java field override.
    • KT-55357 IllegalStateException when reading a class that delegates to a Java class with a definitely-not-null type with a flexible upper bound
    • KT-55068 Kotlin Gradle DSL: No mapping for symbol: VALUE_PARAMETER SCRIPT_IMPLICIT_RECEIVER on JVM IR backend
    • KT-51284 SAM conversion doesn't work if method has context receivers
    • KT-48532 Remove old JVM backend

    ... (truncated)

    Changelog

    Sourced from kotlin-compiler's changelog.

    1.8.0

    Analysis API

    • KT-50255 Analysis API: Implement standalone mode for the Analysis API

    Analysis API. FIR

    • KT-54292 Symbol Light classes: implement PsiVariable.computeConstantValue for light field
    • KT-54293 Analysis API: fix constructor symbol creation when its accessed via type alias

    Android

    • KT-53342 TCS: New AndroidSourceSet layout for multiplatform
    • KT-53013 Increase AGP compile version in KGP to 4.1.3
    • KT-54013 Report error when using deprecated Kotlin Android Extensions compiler plugin
    • KT-53709 MPP, Android SSL2: Conflicting warnings for androidTest/kotlin source set folder

    Backend. Native. Debug

    • KT-53561 Invalid LLVM module: "inlinable function call in a function with debug info must have a !dbg location"

    Compiler

    New Features

    • KT-52817 Add @JvmSerializableLambda annotation to keep old behavior of non-invokedynamic lambdas
    • KT-54460 Implementation of non-local break and continue
    • KT-53916 Support Xcode 14 and new Objective-C frameworks in Kotlin/Native compiler
    • KT-32208 Generate method annotations into bytecode for suspend lambdas (on invokeSuspend)
    • KT-53438 Introduce a way to get SourceDebugExtension attribute value via JVMTI for profiler and coverage

    Performance Improvements

    • KT-53347 Get rid of excess allocations in parser
    • KT-53689 JVM: Optimize equality on class literals
    • KT-53119 Improve String Concatenation Lowering

    Fixes

    • KT-53465 Unnecessary checkcast to array of reified type is not optimized since Kotlin 1.6.20
    • KT-49658 NI: False negative TYPE_MISMATCH on nullable type with when
    • KT-48162 NON_VARARG_SPREAD isn't reported on *toTypedArray() call
    • KT-43493 NI: False negative: no compilation error "Operator '==' cannot be applied to 'Long' and 'Int'" is reported in builder inference lambdas
    • KT-54393 Change in behavior from 1.7.10 to 1.7.20 for java field override.
    • KT-55357 IllegalStateException when reading a class that delegates to a Java class with a definitely-not-null type with a flexible upper bound
    • KT-55068 Kotlin Gradle DSL: No mapping for symbol: VALUE_PARAMETER SCRIPT_IMPLICIT_RECEIVER on JVM IR backend
    • KT-51284 SAM conversion doesn't work if method has context receivers
    • KT-48532 Remove old JVM backend
    • KT-55065 Kotlin Gradle DSL: Reflection cannot find class data for lambda, produced by JVM IR backend

    ... (truncated)

    Commits
    • da1a843 Add ChangeLog for 1.8.0-RC2
    • d325cf8 Call additional publishToMavenLocal in maven build scripts and enable info
    • 0403d70 Don't leave Gradle daemons after build scripts
    • 52b225d Fix task module-name is not propagated to compiler arguments
    • d40ebc3 Specify versions-maven-plugin version explicitly
    • 2e829ed Fix version parsing crash on Gradle rich version string
    • f603c0e Scripting, IR: fix capturing of implicit receiver
    • 06cbf8f Scripting, tests: enable custom script tests with IR
    • d61cef0 Fix deserialization exception for DNN types from Java
    • ea33e72 JVM IR: script is a valid container for local delegated properties
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies java 
    opened by dependabot[bot] 0
  • Bump kotlin-stdlib from 1.8.0-Beta to 1.8.0

    Bump kotlin-stdlib from 1.8.0-Beta to 1.8.0

    Bumps kotlin-stdlib from 1.8.0-Beta to 1.8.0.

    Release notes

    Sourced from kotlin-stdlib's releases.

    Kotlin 1.8.0

    Changelog

    Analysis API

    • KT-50255 Analysis API: Implement standalone mode for the Analysis API

    Analysis API. FIR

    • KT-54292 Symbol Light classes: implement PsiVariable.computeConstantValue for light field
    • KT-54293 Analysis API: fix constructor symbol creation when its accessed via type alias

    Android

    • KT-53342 TCS: New AndroidSourceSet layout for multiplatform
    • KT-53013 Increase AGP compile version in KGP to 4.1.3
    • KT-54013 Report error when using deprecated Kotlin Android Extensions compiler plugin
    • KT-53709 MPP, Android SSL2: Conflicting warnings for androidTest/kotlin source set folder

    Backend. Native. Debug

    • KT-53561 Invalid LLVM module: "inlinable function call in a function with debug info must have a !dbg location"

    Compiler

    New Features

    • KT-52817 Add @JvmSerializableLambda annotation to keep old behavior of non-invokedynamic lambdas
    • KT-54460 Implementation of non-local break and continue
    • KT-53916 Support Xcode 14 and new Objective-C frameworks in Kotlin/Native compiler
    • KT-32208 Generate method annotations into bytecode for suspend lambdas (on invokeSuspend)
    • KT-53438 Introduce a way to get SourceDebugExtension attribute value via JVMTI for profiler and coverage

    Performance Improvements

    • KT-53347 Get rid of excess allocations in parser
    • KT-53689 JVM: Optimize equality on class literals
    • KT-53119 Improve String Concatenation Lowering

    Fixes

    • KT-53465 Unnecessary checkcast to array of reified type is not optimized since Kotlin 1.6.20
    • KT-49658 NI: False negative TYPE_MISMATCH on nullable type with when
    • KT-48162 NON_VARARG_SPREAD isn't reported on *toTypedArray() call
    • KT-43493 NI: False negative: no compilation error "Operator '==' cannot be applied to 'Long' and 'Int'" is reported in builder inference lambdas
    • KT-54393 Change in behavior from 1.7.10 to 1.7.20 for java field override.
    • KT-55357 IllegalStateException when reading a class that delegates to a Java class with a definitely-not-null type with a flexible upper bound
    • KT-55068 Kotlin Gradle DSL: No mapping for symbol: VALUE_PARAMETER SCRIPT_IMPLICIT_RECEIVER on JVM IR backend
    • KT-51284 SAM conversion doesn't work if method has context receivers
    • KT-48532 Remove old JVM backend

    ... (truncated)

    Changelog

    Sourced from kotlin-stdlib's changelog.

    1.8.0

    Analysis API

    • KT-50255 Analysis API: Implement standalone mode for the Analysis API

    Analysis API. FIR

    • KT-54292 Symbol Light classes: implement PsiVariable.computeConstantValue for light field
    • KT-54293 Analysis API: fix constructor symbol creation when its accessed via type alias

    Android

    • KT-53342 TCS: New AndroidSourceSet layout for multiplatform
    • KT-53013 Increase AGP compile version in KGP to 4.1.3
    • KT-54013 Report error when using deprecated Kotlin Android Extensions compiler plugin
    • KT-53709 MPP, Android SSL2: Conflicting warnings for androidTest/kotlin source set folder

    Backend. Native. Debug

    • KT-53561 Invalid LLVM module: "inlinable function call in a function with debug info must have a !dbg location"

    Compiler

    New Features

    • KT-52817 Add @JvmSerializableLambda annotation to keep old behavior of non-invokedynamic lambdas
    • KT-54460 Implementation of non-local break and continue
    • KT-53916 Support Xcode 14 and new Objective-C frameworks in Kotlin/Native compiler
    • KT-32208 Generate method annotations into bytecode for suspend lambdas (on invokeSuspend)
    • KT-53438 Introduce a way to get SourceDebugExtension attribute value via JVMTI for profiler and coverage

    Performance Improvements

    • KT-53347 Get rid of excess allocations in parser
    • KT-53689 JVM: Optimize equality on class literals
    • KT-53119 Improve String Concatenation Lowering

    Fixes

    • KT-53465 Unnecessary checkcast to array of reified type is not optimized since Kotlin 1.6.20
    • KT-49658 NI: False negative TYPE_MISMATCH on nullable type with when
    • KT-48162 NON_VARARG_SPREAD isn't reported on *toTypedArray() call
    • KT-43493 NI: False negative: no compilation error "Operator '==' cannot be applied to 'Long' and 'Int'" is reported in builder inference lambdas
    • KT-54393 Change in behavior from 1.7.10 to 1.7.20 for java field override.
    • KT-55357 IllegalStateException when reading a class that delegates to a Java class with a definitely-not-null type with a flexible upper bound
    • KT-55068 Kotlin Gradle DSL: No mapping for symbol: VALUE_PARAMETER SCRIPT_IMPLICIT_RECEIVER on JVM IR backend
    • KT-51284 SAM conversion doesn't work if method has context receivers
    • KT-48532 Remove old JVM backend
    • KT-55065 Kotlin Gradle DSL: Reflection cannot find class data for lambda, produced by JVM IR backend

    ... (truncated)

    Commits
    • da1a843 Add ChangeLog for 1.8.0-RC2
    • d325cf8 Call additional publishToMavenLocal in maven build scripts and enable info
    • 0403d70 Don't leave Gradle daemons after build scripts
    • 52b225d Fix task module-name is not propagated to compiler arguments
    • d40ebc3 Specify versions-maven-plugin version explicitly
    • 2e829ed Fix version parsing crash on Gradle rich version string
    • f603c0e Scripting, IR: fix capturing of implicit receiver
    • 06cbf8f Scripting, tests: enable custom script tests with IR
    • d61cef0 Fix deserialization exception for DNN types from Java
    • ea33e72 JVM IR: script is a valid container for local delegated properties
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies java 
    opened by dependabot[bot] 0
  • Bump maven-shade-plugin from 3.3.0 to 3.4.1

    Bump maven-shade-plugin from 3.3.0 to 3.4.1

    Bumps maven-shade-plugin from 3.3.0 to 3.4.1.

    Commits
    • fbbec08 [maven-release-plugin] prepare release maven-shade-plugin-3.4.1
    • 7078d92 [MSHADE-413] Fix endless loop caused by manipulating shared objects (#124)
    • 0945bcb [MSHADE-417] Fix null bytes appended to small files (#160)
    • 41bd72f [MSHADE-366] "Access denied" during 'minimizeJar' (#161)
    • e342059 [MSHADE-432] Duplicate services entries can be generated (#159)
    • 7603e57 Bump asmVersion from 9.3 to 9.4 (#156)
    • 5e955d8 Bump maven-dependency-tree from 3.0.1 to 3.2.0 (#148)
    • 5f45ecf [MSHADE-431] Use a caching output stream (#158)
    • 31d3506 Bump plexus-utils from 3.3.0 to 3.4.2 (#139)
    • b039731 [MSHADE-430] Remove usage of deprecated ModelBase#getReports()
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies java 
    opened by dependabot[bot] 0
  • Patch for updating to Kotlin 1.7.20

    Patch for updating to Kotlin 1.7.20

    Easy Patch to work with Kotlin 1.7.20. Nothing else need to be changed.

    From ed4d9613b7ae186668445224a48da0fd314fe305 Mon Sep 17 00:00:00 2001
    From: Xarno
    Date: Thu, 10 Nov 2022 17:05:26 +0100
    Subject: [PATCH 1/1] Connect to Kotlin 1.7.20
    
    ---
     pom.xml | 15 ++++++++-------
     1 file changed, 8 insertions(+), 7 deletions(-)
    
    diff --git a/pom.xml b/pom.xml
    index 07c4a70..9b6281e 100644
    --- a/pom.xml
    +++ b/pom.xml
    @@ -44,29 +44,30 @@
    
         <properties>
             <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    +        <kotlin.version>1.7.20</kotlin.version>
         </properties>
    
         <dependencies>
             <dependency>
                 <groupId>org.jetbrains.kotlin</groupId>
                 <artifactId>kotlin-stdlib-jdk8</artifactId>
    -            <version>1.6.21</version>
    +            <version>${kotlin.version}</version>
             </dependency>
             <dependency>
                 <groupId>com.google.devtools.ksp</groupId>
                 <artifactId>symbol-processing-cmdline</artifactId>
    -            <version>1.6.21-1.0.5</version>
    +            <version>${kotlin.version}-1.0.8</version>
             </dependency>
             <dependency>
                 <groupId>org.jetbrains.kotlin</groupId>
                 <artifactId>kotlin-compiler</artifactId>
    -            <version>1.6.21</version>
    +            <version>${kotlin.version}</version>
                 <scope>provided</scope>
             </dependency>
             <dependency>
                 <groupId>org.jetbrains.kotlin</groupId>
                 <artifactId>kotlin-maven-plugin</artifactId>
    -            <version>1.6.21</version>
    +            <version>${kotlin.version}</version>
                 <scope>provided</scope>
             </dependency>
         </dependencies>
    @@ -78,7 +79,7 @@
                 <plugin>
                     <groupId>org.jetbrains.kotlin</groupId>
                     <artifactId>kotlin-maven-plugin</artifactId>
    -                <version>1.6.21</version>
    +                <version>${kotlin.version}</version>
    
                     <executions>
                         <execution>
    @@ -106,7 +107,7 @@
                 <plugin>
                     <groupId>org.apache.maven.plugins</groupId>
                     <artifactId>maven-shade-plugin</artifactId>
    -                <version>3.3.0</version>
    +                <version>3.4.1</version>
                     <executions>
                         <execution>
                             <id>shade</id>
    @@ -191,7 +192,7 @@
                         <plugin>
                             <groupId>org.jetbrains.dokka</groupId>
                             <artifactId>dokka-maven-plugin</artifactId>
    -                        <version>1.6.21</version>
    +                        <version>${kotlin.version}</version>
                             <executions>
                                 <execution>
                                     <phase>prepare-package</phase>
    --
    2.37.1 (Apple Git-137.1)
    
    enhancement 
    opened by Xarno 3
  • Bump dokka-maven-plugin from 1.6.21 to 1.7.20

    Bump dokka-maven-plugin from 1.6.21 to 1.7.20

    Bumps dokka-maven-plugin from 1.6.21 to 1.7.20.

    Release notes

    Sourced from dokka-maven-plugin's releases.

    1.7.20 Beta

    This release focuses primarily on improving user experience and HTML format in particular.

    Improvements

    General

    • Display inherited extensions (can be disabled by setting suppressInheritedMembers configuration property) (#2625)
    • Display details for @Deprecated declarations such as deprecation message, level and proposed replacement (#2622)
    • Display and document Enum's synthetic values() and valueOf() functions (#2650)
    • Do not render constructors for annotation classes (#2642)
    • Display values of Java constants (#2609)
    • Trim spaces inside indented code blocks (#2661, #2232, #2233)
    • Replace package name on the cover of package pages with "Package-level declarations" (#2586)

    HTML format

    • Add IntelliJ icons to the navigation side menu (#2578)
    • Add auto-scrolling to selected navigation item (#2575)
    • Use OS color scheme to initialize light/dark mode, thanks to @​pt2121! (#2611)
    • Update styling of all section tabs (including platform tabs) to match kotlinlang.org (#2589)
    • Format long signatures dynamically based on client width (#2659)
    • Add a horizontal divider between function overloads that are displayed on the same page (#2585)
    • Add Cmd + K / Ctrl + K hotkey for opening search dialog, thanks to @​atyrin! (#2633)
    • Make current breadcrumb element not clickable and of default font color (#2588)
    • Update code highlighting colors (#2670)
    • Do not render platform tabs for common-only content (#2613)
    • Apply the same style to all KDoc tag headers, making it more consistent (#2587)
    • Move source links into signature, especially helpful on pages with many overloads (#2476)
    • Add inner/nested declarations to the navigation side menu (#2597)
    • Disable copy button for signatures (#2577)

    Javadoc format

    Kotlin-as-Java plugin

    • Render annotation blocks for transformed classes, previously ignored (#2549)

    Gradle runner

    • Remove kotlin-stdlib dependency, which should fix errors like Module was compiled with an incompatible version of Kotlin, thanks to @​martinbonnin! (#2570)

    Bugfixes

    • Fixed missing spaces between adjacent Markdown elements, where _try_ *this* would be rendered as trythis (#2640)
    • Fixed dependency resolution errors when building documentation for multiplatform projects with enabled compatibility metadata variant (#2634)
    • Fixed a rare StackOverflowError related to type-aliased native references (#2664)
    • Fixed IllegalStateException that was caused by using JS's dynamic types (#2645)
    • Fixed a bug where certain private declarations were rendered as public (#2639)
    • Fixed incorrect handling of static declarations used within @see tag (#2627)
    • Fixed Java Enum types being rendered as Any (#2647)
    • Fixed incorrect signature generation that was caused by generic types caching (#2619)
    • Fixed incorrect parsing of static imports in Java annotation params (#2593)
    • Fixed sourceRoots configuration param not handling single .java files, thanks to @​2017398956! (#2604)

    ... (truncated)

    Commits
    • d61df34 Change log level to INFO for messages about alpha plugin versions (#2693)
    • 9bfc049 Change version to release
    • 1e67fe7 Update Kotlin to 1.7.20 (#2692)
    • b923bb6 Fix some extra indentation in code block that is inside list (#2233)
    • a7750c6 Update Kotlin to 1.7.20-RC (#2682)
    • 86f9559 Add documentation for synthetic Enum values() and valueOf() functions (#2...
    • 9207f8f Fix source links in case of dri clashing (#2676)
    • ee8e730 Extract classpath from KotlinSharedNativeCompilation as well (#2664)
    • a816e91 Trim four spaces inside indented code block (#2661)
    • a0250a5 Update integration tests: coroutines, serialization, biojava (#2672)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies java 
    opened by dependabot[bot] 0
Owner
Dyescape
A unique Minecraft MMORPG experience featuring a vibrant fantasy world to explore, fight, and make friends in.
Dyescape
Ktorm KSP extension to help generate boilerplate code.

Ktorm KSP extension to help generate boilerplate code. It can automatically generate Table objects through entity classes, while making entities defined by data classes easier to use, and supports custom extension code generation logic.

KTORM.ORG 24 Dec 30, 2022
Mocking for Kotlin/Native and Kotlin Multiplatform using the Kotlin Symbol Processing API (KSP)

Mockative Mocking for Kotlin/Native and Kotlin Multiplatform using the Kotlin Symbol Processing API (KSP). Installation Mockative uses KSP to generate

Mockative 121 Dec 26, 2022
Exploring Kotlin Symbol Processing - KSP. This is just an experiment.

KSP example Exploring Kotlin Symbol Processing - KSP. This is just an experiment. Project contains 2 modules Processing Example Processing module is t

Merab Tato Kutalia 12 Aug 23, 2022
Kotlin Symbol Processing (KSP) sample project

Kotlin Symbol Processing (KSP) Sample Project Sample annotation processor created with Kotlin Symbol Processing (KSP) API. The repository supplements

Pavlo Stavytskyi 33 Dec 23, 2022
glide's ksp compiler ,use kotlin symbol processor

glide-ksp glide's ksp compiler ,use kotlin symbol processor requirements library version kotlin >= 1.6.10 ksp 1.6.10-1.0.2 usage add jitpack repositor

Mistletoe 24 Oct 17, 2022
BindsAdapter is an Android library to help you create and maintain Adapter class easier via ksp( Kotlin Symbol Processing).

BindsAdapter BindsAdapter is an Android library to help you create and maintain Adapter class easier via ksp( Kotlin Symbol Processing). Installation

Jintin 5 Jul 30, 2022
Example project for using the Selenium toolkit with Kotlin, Maven, TestNg and the config is managed via a property file.

Selenium-Java-Toolkit-TestNg-Playground This is the sample-Project and show you how to use the Selenium-Toolkit. The Selenium-Toolkit is a Java based

Selenium Consulting 0 Dec 15, 2021
Kotlin cli maven spring failsafe findbugs cucumber mockito junit car data

Kotlin cli maven spring failsafe findbugs cucumber mockito junit car data

null 0 Feb 1, 2022
android webview loader using ksp

KSPWebViewLoader ?? @WebViewBuilder Annotation can be automating your webview settings. (WIP) How to use @WebViewBuilder( url = "https://www.googl

sehee Jeong 8 Apr 8, 2022
KSP annotation processor for Toothpick

toothpick-ksp KSP annotation processor for Toothpick. All credits go to olivierperez/ksp for the initial work on a KSP processor. Bear in mind this is

null 0 Oct 19, 2021
A collection of code generators powered by ksp.

AutoKsp A collection of code generators powered by ksp. status: working in progress Projects AutoGradlePlugin - Generate gradle plugin properties file

shenghaiyang 0 Nov 8, 2021
Ksp-di-library - Small library for DI in KMM apps

DI-KSP Small library for DI in KMM apps. Uses KSP for processing DI annotations:

Anna Zharkova 3 Feb 6, 2022
KSP-based library that generates lists from your annotation usages

ListGen, Generate Lists From Functions That Have @Listed Annotations! Welcome to ListGen! ListGen is a KSP-based library that can generate lists (and

Adib Faramarzi 24 Dec 6, 2022
A ksp library to automatically generate navigation functions for jetpack compose.

Compose/Navigation/Generator ⚠️ This library is still under development and not considered stable! Content Introduction Usage Example: Single destinat

Steffen Eckardt 4 Sep 13, 2022
Gha-central-test - GitHub Actions Maven Central Test

GitHub Actions Maven Central Test Pushing a tag does a release. Local Maven Depl

James Ward 1 Jan 19, 2022
An AutoValue extension that generates binary and source compatible equivalent Kotlin data classes of AutoValue models.

AutoValue Kotlin auto-value-kotlin (AVK) is an AutoValue extension that generates binary-and-source-compatible, equivalent Kotlin data classes. This i

Slack 19 Aug 5, 2022
Kotlin extension function provides a facility to "add" methods to class without inheriting a class or using any type of design pattern

What is Kotlin Extension Function ? Kotlin extension function provides a facility to "add" methods to class without inheriting a class or using any ty

mohsen 21 Dec 3, 2022
Exktor - Extension modules for Ktor

Extension modules for Ktor ExKtor - it's set of extension libraries for Ktor tha

Simone Stefani 0 Sep 11, 2022
A simple plugin to patch the memory leak in Kotlin Gradle Plugin 1.5.0

kgp-150-leak-patcher A simple plugin to automatically patch the memory leak in Kotlin Gradle Plugin 1.5.0 in https://youtrack.jetbrains.com/issue/KT-4

Zac Sweers 40 Dec 20, 2021