Skip to content

Commit 9f0749b

Browse files
authored
Update Kotlin, gradle-intellij-plugin and add support for IJ 2021.3 (#991)
1 parent 9f17abf commit 9f0749b

File tree

14 files changed

+76
-61
lines changed

14 files changed

+76
-61
lines changed

.github/workflows/check-pr-idea-plugin.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ jobs:
1515
build:
1616
strategy:
1717
matrix:
18-
ij_sdk: [IJ193, IJ201, IJ202, IJ203, IJ211, IJ212]
18+
ij_sdk: [IJ193, IJ201, IJ202, IJ203, IJ211, IJ212, IJ213]
1919
runs-on: ubuntu-latest
2020
steps:
2121
- uses: actions/checkout@v2

.github/workflows/ci.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ jobs:
4545
strategy:
4646
fail-fast: false
4747
matrix:
48-
ij_sdk: [IJ193, IJ201, IJ202, IJ203, IJ211, IJ212]
48+
ij_sdk: [IJ193, IJ201, IJ202, IJ203, IJ211, IJ212, IJ213]
4949
runs-on: ubuntu-latest
5050
steps:
5151
- uses: actions/checkout@v2

buildSrc/build.gradle.kts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,14 @@ plugins {
55
}
66

77
repositories {
8-
jcenter()
8+
mavenCentral()
99
gradlePluginPortal()
1010
}
1111

1212
dependencies {
13-
api(kotlin("gradle-plugin", version = "1.4.32"))
13+
api(kotlin("gradle-plugin", version = "1.5.31"))
1414
api("org.jetbrains.dokka:dokka-gradle-plugin:0.9.17")
1515
api("com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.4")
16-
api("gradle.plugin.org.jetbrains.intellij.plugins:gradle-intellij-plugin:0.4.10")
16+
api("org.jetbrains.intellij.plugins:gradle-intellij-plugin:1.4.0")
1717
api("com.github.jengelman.gradle.plugins:shadow:4.0.2")
1818
}

buildSrc/src/main/kotlin/Dependencies.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ object Dependencies {
1616
val mockitoCore = "org.mockito:mockito-core:2.23.4"
1717
val mockitoInline = "org.mockito:mockito-inline:2.23.4"
1818

19-
val kotlinCoroutinesCore = "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.4.3"
19+
val kotlinCoroutinesCore = "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.5.2"
2020

2121
val autoService = "com.google.auto.service:auto-service:1.0-rc4"
2222
}

buildSrc/src/main/kotlin/ij/BuildConfig.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,5 @@ data class BuildConfig(
77
val prefix: String,
88
val extraSource: String,
99
val version: VersionRange,
10-
val deps: Array<String> = emptyArray()
10+
val deps: List<String> = emptyList()
1111
)
Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import org.jetbrains.intellij.tasks.PublishTask
1+
import org.jetbrains.intellij.tasks.PublishPluginTask
22

33
val channel = if (project.extra["releaseMode"] == true) {
44
"default"
@@ -9,8 +9,8 @@ val channel = if (project.extra["releaseMode"] == true) {
99
val publishToken = propOrEnv("HUB_API_TOKEN")
1010

1111
tasks {
12-
withType(PublishTask::class) {
13-
setToken(publishToken)
14-
setChannels(channel)
12+
withType(PublishPluginTask::class) {
13+
token.set(publishToken)
14+
channels.set(listOf(channel))
1515
}
16-
}
16+
}

spek-gradle-plugin/build.gradle.kts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
plugins {
2-
id("org.ajoberstar.reckon") version "0.8.0"
32
`kotlin-dsl`
4-
kotlin("kapt") version "1.3.61"
3+
kotlin("kapt") version "1.5.31"
4+
id("org.ajoberstar.reckon") version "0.8.0"
5+
56
}
67

78
buildscript {
89
dependencies {
9-
classpath(kotlin("gradle-plugin", version = "1.3.61"))
10+
classpath(kotlin("gradle-plugin", version = "1.5.31"))
1011
}
1112
}
1213

spek-gradle-plugin/src/main/kotlin/org/spekframework/spek2/gradle/task/ExecSpekTests.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,15 @@
11
package org.spekframework.spek2.gradle.task
22

33
import org.gradle.api.DefaultTask
4+
import org.gradle.api.tasks.Input
45
import org.gradle.api.tasks.TaskAction
56
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilation
67
import org.jetbrains.kotlin.gradle.plugin.KotlinTarget
78

89
open class ExecSpekTests: DefaultTask() {
10+
@Input
911
val target = project.objects.property(KotlinTarget::class.java)
12+
@Input
1013
val compilation = project.objects.property(KotlinCompilation::class.java)
1114

1215
@TaskAction

spek-ide-plugin-android-studio/build.gradle.kts

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,39 +11,38 @@ val buildMatrix = mapOf(
1111
"Studio3.6",
1212
"AS34",
1313
ij.VersionRange("192.7142.36", "192.7142.36.*"),
14-
arrayOf("android", "java", "org.jetbrains.kotlin:1.3.61-release-Studio3.6-1")
14+
listOf("android", "java", "org.jetbrains.kotlin:1.3.61-release-Studio3.6-1")
1515
),
1616
"AS40" to ij.BuildConfig(
1717
"193.6911.18",
1818
"Studio4.0",
1919
"AS34",
2020
ij.VersionRange("193.6911.18", "193.6911.18.*"),
21-
arrayOf("android", "java", "org.jetbrains.kotlin:1.3.70-release-Studio4.0-1")
21+
listOf("android", "java", "org.jetbrains.kotlin:1.3.70-release-Studio4.0-1")
2222
),
2323
"AS41" to ij.BuildConfig(
2424
"201.7223.91",
2525
"Studio4.1",
2626
"AS34",
2727
ij.VersionRange("201.8743.12", "201.8743.12.*"),
28-
arrayOf("android", "java", "org.jetbrains.kotlin:1.3.72-release-Studio4.1-5")
28+
listOf("android", "java", "org.jetbrains.kotlin:1.3.72-release-Studio4.1-5")
2929
),
3030
"AS42" to ij.BuildConfig(
3131
"202.7660.26",
3232
"Studio4.2",
3333
"AS34",
3434
ij.VersionRange("202.7660.26", "202.7660.26.*"),
35-
arrayOf("android", "java", "org.jetbrains.kotlin:1.4.10-release-Studio4.2-1")
35+
listOf("android", "java", "org.jetbrains.kotlin:1.4.10-release-Studio4.2-1")
3636
)
3737
)
3838

3939
val sdkVersion = project.properties["as.version"] ?: "AS42"
4040
val settings = checkNotNull(buildMatrix[sdkVersion])
4141

4242
intellij {
43-
pluginName = "Spek Framework"
44-
val plugins = arrayOf("gradle", "android") + settings.deps
45-
setPlugins(*plugins)
46-
version = settings.sdk
43+
pluginName.set("Spek Framework")
44+
plugins.set(listOf("gradle", "android") + settings.deps)
45+
version.set(settings.sdk)
4746
}
4847

4948
sourceSets {
@@ -73,8 +72,12 @@ tasks {
7372

7473
patchPluginXml {
7574
setVersion("${project.version}-${settings.prefix}")
76-
setSinceBuild(settings.version.since)
77-
setUntilBuild(settings.version.until)
75+
sinceBuild.set(settings.version.since)
76+
untilBuild.set(settings.version.until)
77+
}
78+
79+
buildSearchableOptions {
80+
enabled = false
7881
}
7982
}
8083

spek-ide-plugin-intellij-base-jvm/build.gradle.kts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ plugins {
44
}
55

66
intellij {
7-
pluginName = "spek-base-jvm"
8-
setPlugins("org.jetbrains.kotlin:1.3.30-release-IJ2018.1-1")
9-
version = "2018.1"
7+
pluginName.set("spek-base-jvm")
8+
plugins.set(listOf("org.jetbrains.kotlin:1.3.61-release-IJ2018.3-1"))
9+
version.set("2018.3")
1010
}
1111

1212
dependencies {

spek-ide-plugin-intellij-base/build.gradle.kts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ plugins {
44
}
55

66
intellij {
7-
pluginName = "spek-base"
8-
setPlugins("org.jetbrains.kotlin:1.3.30-release-IJ2018.1-1")
9-
version = "2018.1"
7+
pluginName.set("spek-base")
8+
plugins.set(listOf("org.jetbrains.kotlin:1.3.61-release-IJ2018.3-1"))
9+
version.set("2018.3")
1010
}
1111

1212
dependencies {
@@ -24,6 +24,6 @@ tasks {
2424
}
2525

2626
patchPluginXml {
27-
setSinceBuild("181.*")
27+
sinceBuild.set("181.*")
2828
}
2929
}

spek-ide-plugin-intellij-base/src/main/kotlin/org/spekframework/intellij/SpekRunConfigurationProducer.kt

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import org.jetbrains.kotlin.idea.caches.project.implementingModules
1515
import org.jetbrains.kotlin.idea.core.getPackage
1616
import org.jetbrains.kotlin.idea.util.module
1717
import org.jetbrains.kotlin.platform.IdePlatformKind
18+
import org.jetbrains.kotlin.platform.idePlatformKind
1819
import org.jetbrains.kotlin.platform.impl.CommonIdePlatformKind
1920
import org.jetbrains.kotlin.psi.KtCallExpression
2021
import org.jetbrains.kotlin.psi.KtClassOrObject
@@ -103,22 +104,22 @@ abstract class SpekRunConfigurationProducer(val producerType: ProducerType, type
103104
if (path != null) {
104105
configuration.data.path = path
105106
configuration.data.generatedNameHint = nameHint
106-
val kotlinFacetSettings = KotlinFacetSettingsProvider.getInstance(context.project)
107+
val kotlinFacetSettings = KotlinFacetSettingsProvider.getInstance(context.project)!!
107108
.getInitializedSettings(context.module)
108109

109110

110111
var canRun = false
111-
if (isPlatformSupported(kotlinFacetSettings.platform!!.kind)) {
112+
if (isPlatformSupported(kotlinFacetSettings.targetPlatform!!.idePlatformKind)) {
112113
configuration.configureForModule(context.module)
113114
configuration.data.producerType = producerType
114115
canRun = true
115116
configuration.data.producerType = producerType
116-
} else if (kotlinFacetSettings.platform!!.kind == CommonIdePlatformKind) {
117+
} else if (kotlinFacetSettings.targetPlatform!!.idePlatformKind == CommonIdePlatformKind) {
117118
val result = findSupportedModule(context.project, context.module)
118119
if (result != null) {
119120
val (module, moduleKotlinFacetSettings) = result
120121
configuration.configureForModule(module)
121-
configuration.data.producerType = moduleKotlinFacetSettings.platform!!.kind.toProducerType()
122+
configuration.data.producerType = moduleKotlinFacetSettings.targetPlatform!!.idePlatformKind.toProducerType()
122123
canRun = true
123124
}
124125
}
@@ -153,11 +154,11 @@ abstract class SpekRunConfigurationProducer(val producerType: ProducerType, type
153154
}
154155

155156
private fun findSupportedModule(project: Project, commonModule: Module): Pair<Module, KotlinFacetSettings>? {
156-
val kotlinFacetSettingsProvider = KotlinFacetSettingsProvider.getInstance(project)
157+
val kotlinFacetSettingsProvider = KotlinFacetSettingsProvider.getInstance(project)!!
157158
return commonModule.implementingModules
158159
.map { it to kotlinFacetSettingsProvider.getInitializedSettings(it) }
159160
.firstOrNull {
160-
isPlatformSupported(it.second.platform!!.kind)
161+
isPlatformSupported(it.second.targetPlatform!!.idePlatformKind)
161162
}
162163
}
163164

spek-ide-plugin-intellij-idea/build.gradle.kts

Lines changed: 25 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -11,52 +11,54 @@ val buildMatrix = mapOf(
1111
"IJ2019.3",
1212
"IJ183",
1313
ij.VersionRange("193.1", "193.*"),
14-
arrayOf("java", "org.jetbrains.kotlin:1.3.50-release-IJ2019.2-1")
15-
),
16-
"IJ201" to ij.BuildConfig(
14+
listOf("java", "org.jetbrains.kotlin:1.3.50-release-IJ2019.2-1")
15+
), "IJ201" to ij.BuildConfig(
1716
"201.8743.12",
1817
"IJ2020.1",
1918
"IJ183",
2019
ij.VersionRange("201.1", "201.*"),
21-
arrayOf("java", "org.jetbrains.kotlin:1.3.61-release-IJ2019.3-1")
22-
),
23-
"IJ202" to ij.BuildConfig(
20+
listOf("java", "org.jetbrains.kotlin:1.3.61-release-IJ2019.3-1")
21+
), "IJ202" to ij.BuildConfig(
2422
"202.8194.7",
2523
"IJ2020.2",
2624
"IJ183",
2725
ij.VersionRange("202.1", "202.*"),
28-
arrayOf("java", "org.jetbrains.kotlin:1.3.72-release-IJ2020.1-5")
29-
),
30-
"IJ203" to ij.BuildConfig(
26+
listOf("java", "org.jetbrains.kotlin:1.3.72-release-IJ2020.1-5")
27+
), "IJ203" to ij.BuildConfig(
3128
"203.5981.155",
3229
"IJ2020.3",
3330
"IJ183",
3431
ij.VersionRange("203.1", "203.*"),
35-
arrayOf("java", "org.jetbrains.kotlin:1.4.0-release-IJ2020.2-1")
36-
),
37-
"IJ211" to ij.BuildConfig(
38-
"211-EAP-SNAPSHOT",
32+
listOf("java", "org.jetbrains.kotlin:1.4.0-release-IJ2020.2-1")
33+
), "IJ211" to ij.BuildConfig(
34+
"211.7628.21",
3935
"IJ2021.1",
4036
"IJ183",
4137
ij.VersionRange("211.1", "211.*"),
42-
arrayOf("java", "org.jetbrains.kotlin:211-1.4.21-release-IJ6556.4")
43-
),
44-
"IJ212" to ij.BuildConfig(
38+
listOf("java", "org.jetbrains.kotlin:211-1.4.21-release-IJ6556.4")
39+
), "IJ212" to ij.BuildConfig(
4540
"212.4746.92",
4641
"IJ2021.2",
4742
"IJ183",
4843
ij.VersionRange("212.1", "212.*"),
49-
arrayOf("java", "org.jetbrains.kotlin:212-1.4.32-release-IJ2230")
44+
listOf("java", "org.jetbrains.kotlin:212-1.4.32-release-IJ2230")
45+
),
46+
"IJ213" to ij.BuildConfig(
47+
"213.6461.79",
48+
"IJ2021.3",
49+
"IJ183",
50+
ij.VersionRange("213.1", "213.*"),
51+
listOf("java", "org.jetbrains.kotlin:213-1.6.10-release-944-IJ6461.79")
5052
)
5153
)
5254

53-
val sdkVersion = project.properties["ij.version"] ?: "IJ212"
55+
val sdkVersion = project.properties["ij.version"] ?: "IJ213"
5456
val settings = checkNotNull(buildMatrix[sdkVersion])
5557

5658
intellij {
57-
pluginName = "Spek Framework"
58-
setPlugins(*settings.deps)
59-
version = settings.sdk
59+
pluginName.set("Spek Framework")
60+
plugins.set(settings.deps)
61+
version.set(settings.sdk)
6062
}
6163

6264
sourceSets {
@@ -86,8 +88,8 @@ tasks {
8688

8789
patchPluginXml {
8890
setVersion("${project.version}-${settings.prefix}")
89-
setSinceBuild(settings.version.since)
90-
setUntilBuild(settings.version.until)
91+
sinceBuild.set(settings.version.since)
92+
untilBuild.set(settings.version.until)
9193
}
9294
}
9395

spek-ide-plugin-intellij-idea/src/main/kotlin/org/spekframework/intellij/SpekJvmConfigurationFactory.kt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,9 @@ import com.intellij.openapi.project.Project
99
class SpekJvmConfigurationFactory(type: ConfigurationType): ConfigurationFactory(type) {
1010
override fun createTemplateConfiguration(project: Project): RunConfiguration =
1111
SpekJvmRunConfiguration("Un-named", JavaRunConfigurationModule(project, true), this)
12+
13+
override fun getId(): String {
14+
// name is not localized
15+
return name
16+
}
1217
}

0 commit comments

Comments
 (0)