Fix build script to avoid jvm plugin applied #3389
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This addresses #3345.
Why moving the script back to root build.gradle? (Partially reverting #2621)
According to Gradle official doc,
buildSrc
is being imported as included build.buildSrc
is useful for pinning versions for common dependencies, or defining tasks or plugins that are shareable across multiple projects.Although
common.gradle.kts
haskotlin("jvm") apply false
, when rootbuild.gradle
applies the plugincommon
frombuildSrc
,koltin("jvm")
is still applied. This behavior caused the issue in #3345 that Kotlin/JVM gradle plugin is applied to the root project.Test
Before: https://scans.gradle.com/s/vetym5o5m7fj6 577 tasks
After: https://gradle.com/s/5w5rmu7is7vyk 572 tasks
Out of scope
This PR only solves a limited problem for Kotlin/JVM gradle plugin being applied to the root
build.gradle
. There are still other scripts likepackaging
,releasing
, anddetekt
in the buildSrc. There are still top-level tasks registered, like:jar
,:detekt
etc.