1- import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
1+ import org.jetbrains.changelog.Changelog
22
33fun properties (key : String ) = project.findProperty(key).toString()
44
55plugins {
66 // Kotlin support
7- id(" org.jetbrains.kotlin.jvm" ) version " 1.7.10 "
7+ id(" org.jetbrains.kotlin.jvm" ) version " 1.7.21 "
88 // Gradle IntelliJ Plugin
9- id(" org.jetbrains.intellij" ) version " 1.8 .0"
9+ id(" org.jetbrains.intellij" ) version " 1.10 .0"
1010 // Gradle Changelog Plugin
11- id(" org.jetbrains.changelog" ) version " 1.3.1"
11+ id(" org.jetbrains.changelog" ) version " 2.0.0"
12+ // Gradle Kover Plugin
13+ id(" org.jetbrains.kotlinx.kover" ) version " 0.6.1"
1214}
1315
1416group = properties(" pluginGroup" )
@@ -19,6 +21,11 @@ repositories {
1921 mavenCentral()
2022}
2123
24+ // Set the JVM language level used to build project. Use Java 11 for 2020.3+, and Java 17 for 2022.2+.
25+ kotlin {
26+ jvmToolchain(17 )
27+ }
28+
2229dependencies {
2330 testCompileOnly(" junit:junit:4.13.2" )
2431}
@@ -33,23 +40,18 @@ intellij {
3340 plugins.set(properties(" platformPlugins" ).split(' ,' ).map(String ::trim).filter(String ::isNotEmpty))
3441}
3542
43+ // Configure Gradle Changelog Plugin - read more: https://github.com/JetBrains/gradle-changelog-plugin
3644changelog {
37- version.set(properties(" pluginVersion" ))
3845 groups.set(emptyList())
46+ repositoryUrl.set(properties(" pluginRepositoryUrl" ))
3947}
4048
41- tasks {
42- // Set the JVM compatibility versions
43- properties(" javaVersion" ).let {
44- withType<JavaCompile > {
45- sourceCompatibility = it
46- targetCompatibility = it
47- }
48- withType<KotlinCompile > {
49- kotlinOptions.jvmTarget = it
50- }
51- }
49+ // Configure Gradle Kover Plugin - read more: https://github.com/Kotlin/kotlinx-kover#configuration
50+ kover.xmlReport {
51+ onCheck.set(true )
52+ }
5253
54+ tasks {
5355 wrapper {
5456 gradleVersion = properties(" gradleVersion" )
5557 }
@@ -61,12 +63,23 @@ tasks {
6163
6264 // Get the latest available change notes from the changelog file
6365 changeNotes.set(provider {
64- changelog.run {
65- getOrNull(properties(" pluginVersion" )) ? : getLatest()
66- }.toHTML()
66+ with (changelog) {
67+ renderItem(
68+ getOrNull(properties(" pluginVersion" )) ? : getLatest(),
69+ Changelog .OutputType .HTML ,
70+ )
71+ }
6772 })
6873 }
6974
75+ runIde {
76+ maxHeapSize = " 8g"
77+ }
78+
79+ buildSearchableOptions {
80+ enabled = false
81+ }
82+
7083 test {
7184 exclude(" com/vk/kphpstorm/testing/infrastructure/**" )
7285 include(" **/*Test.class" )
0 commit comments