I am using a `buildSrc` module in a multi-module Kotlin project to [manage dependency definitions and versions](https://handstandsam.com/2018/02/11/kotlin-buildsrc-for-better-gradle-dependency-management/). The module makes use of [kotlin-dsl](https://github.com/gradle/kotlin-dsl) as shown in the *build.gradle.kts*:

```
plugins {
    `kotlin-dsl`
}

```

Alternative declaration:

```
plugins {
    id("org.gradle.kotlin.kotlin-dsl") version "0.16.2"
}

```

I would like to use the same Kotlin version for compiling the `buildSrc` module as well as within the application module/s. My first attempt was to simply add the JVM artifact:

```
plugins {
    `kotlin-dsl`
    kotlin("jvm") version "1.2.31"
}

```

This however leads to a build error which is discussed [here](https://github.com/gradle/kotlin-dsl/issues/520):

> 
> Error resolving plugin [id: 'org.jetbrains.kotlin.jvm', version: '1.2.31']  
> 
>  Plugin request for plugin already on the classpath must not include a version
> 
> 
> 

What is a convenient way to only **define once** the Kotlin version used throughout the project?

Related
=======

* [Gradle Kotlin DSL: Define Kotlin version in unique place](https://stackoverflow.com/questions/47588311/gradle-kotlin-dsl-define-kotlin-version-in-unique-place)
* [Kotlin versions and the Gradle Kotlin DSL](https://github.com/gradle/kotlin-dsl/blob/master/doc/getting-started/Kotlin-Versions.md)
* [Sample project: Multi-kotlin-project-with-buildSrc](https://github.com/gradle/kotlin-dsl/tree/master/samples/multi-kotlin-project-with-buildSrc)