Make build-logic plugins expose binary plugins#3047
Make build-logic plugins expose binary plugins#3047paul-dingemans merged 3 commits intopinterest:masterfrom
build-logic plugins expose binary plugins#3047Conversation
mateuszkwiecinski
left a comment
There was a problem hiding this comment.
The build should be ready for review. Please accept the changes only if you find it as understandable as the current setup 😅
I'd say it's not worth merging if it feels worse in any way. I believe all of kotlin-dsl restrictions can always be worked around, like we did in the poko plugin bump
paul-dingemans
left a comment
There was a problem hiding this comment.
Cool. I think that for me the complexity is comparable to the old situation. There are just many parts in the build process that I am not really acquainted with. I trust on your experience that this is easier to maintain.
a78577c to
b38d5cc
Compare
e8dab5d to
ddf6ac4
Compare
| pluginManager.apply("ktlint-kotlin-common") | ||
| pluginManager.apply("ktlint-dokka") | ||
| pluginManager.apply("ktlint-publication") |
There was a problem hiding this comment.
| pluginManager.apply("ktlint-kotlin-common") | |
| pluginManager.apply("ktlint-dokka") | |
| pluginManager.apply("ktlint-publication") | |
| pluginManager.apply(KotlinCommonPlugin::class.java) | |
| pluginManager.apply(DokkaPlugin::class.java) | |
| pluginManager.apply(PublicationPlugin::class.java) |
Why not these?
There was a problem hiding this comment.
They are functionally the same and the benefit is string format is more similar to what's used within projects' build.gradle.kts files
There was a problem hiding this comment.
The class usages are type-safe in the context.

Description
Latest development has been facing challenges due to Kotlin version enforced by kotlin-dsl plugin.
This PR migrates build-logic to leverage binary plugins so the build-logic project is no longer affected by kotlin-dsl plugin restrictions.
Checklist
Before submitting the PR, please check following (checks which are not relevant may be ignored):
Closes #<xxx>orFixes #<xxx>(replace<xxx>with issue number)Documentation is updated. See difference between snapshot and release documentation