spring-projects / spring-projects/spring-boot
Support Kotlin/Multiplatform Gradle plugin natively
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 81.5k
- Forks
- 42.7k
- Avg merge
- 2d 4h
- Merged PRs (30d)
- 65
Description
It would be nice if Spring-boot Gradle plugin could support natively Kotlin/Multiplatform ("org.jetbrains.kotlin.multiplatform") Gradle plugin:
- Kotlin 2.1.20 is prohibiting Gradle
java,java-libraryandapplicationplugins in combination with Kotlin multiplatform plugin if a project is using Gradle 8.7+. With previous Gradle versions such combination produces a warning. (issue) - For
applicationplugin replacement new experimental API similar to the Gradle one was added (issue) - Kotlin multiplatform plugin for a several releases already by default always applies
java-baseGradle plugin
Spring boot plugin currently expects that Gradlejavaplugin is present in the project to do the main configuration
The possible ways to solve it - either to react on java-base plugin or create a special plugin action for "org.jetbrains.kotlin.multiplatform" plugin.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/plugin/JavaPluginAction.java and review how the plugin currently reacts to the Java plugin. Compare the Kotlin Multiplatform plugin's java-base and executable APIs described in the issue, then verify that a supported configuration works without applying java, java-library, or application.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, kotlin
- Domain
- build-system
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100