My recent problems
So going right into details, recently I wanted to learn a bit of gradle and create precompiled script plugin for my kotlin modules to share dependencies, jvmTarget, repositories, plugins etc.
I tried to add folowing block to script:
plugins {
kotlin("jvm") version "1.5.0"
}
dependencies {
kapt(/*some dependency*/)
}
tasks.withType<KotlinCompile> {
kotlinOptions.jvmTarget = "13"
}
// other things
And I was greeted with following message
Plugin requests from precompiled scripts must not include a version number. Please remove the version from the offending request and make sure the module containing the requested plugin 'org.jetbrains.kotlin.jvm' is an implementation dependency of project ':buildSrc'.
It is obvious what should be done, isn't it?
It wasn't for me unfortunately.
Solution to the problem
I tried many things and googled a lot and I finally figured it out. Maybe this will be useful for anyone else.
// buildSrc/src/main/kotlin/kotlin-common.gradle.kts
plugins {
kotlin("jvm")
}
// buildSrc/build.gradle.kts
plugins {
`kotlin-dsl`
}
dependencies {
implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.0") // <---- This is our `kotlin("jvm")` plugin
}
repositories {
mavenCentral()
}
Respository with simple example
You can check out this repository for file structure and simple working example.
Top comments (1)
Thanks for this, works for me!