Skip to content

Commit 504a6be

Browse files
committed
Fix for Rider 2025.3.1
1 parent 66cefbc commit 504a6be

File tree

9 files changed

+40
-35
lines changed

9 files changed

+40
-35
lines changed

build.gradle.kts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
12
import com.jetbrains.plugin.structure.base.utils.isFile
23
import groovy.ant.FileNameFinder
34
import org.apache.tools.ant.taskdefs.condition.Os
@@ -7,7 +8,7 @@ import java.io.ByteArrayOutputStream
78
plugins {
89
id("java")
910
alias(libs.plugins.kotlinJvm)
10-
id("org.jetbrains.intellij.platform") version "2.2.0" // See https://github.com/JetBrains/intellij-platform-gradle-plugin/releases
11+
id("org.jetbrains.intellij.platform") version "2.10.5" // See https://github.com/JetBrains/intellij-platform-gradle-plugin/releases
1112
id("me.filippov.gradle.jvm.wrapper") version "0.14.0"
1213
}
1314

@@ -54,8 +55,11 @@ sourceSets {
5455
}
5556
}
5657

57-
tasks.compileKotlin {
58-
kotlinOptions { jvmTarget = "17" }
58+
kotlin {
59+
jvmToolchain {
60+
languageVersion.set(JavaLanguageVersion.of(17))
61+
}
62+
// compilerOptions { jvmTarget = JvmTarget.JVM_17 }
5963
}
6064

6165
val setBuildTool by tasks.registering {

gradle.properties

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
DotnetPluginId=ReSharperPlugin.BSMT
55
DotnetSolution=ReSharperPlugin.BSMT-Rider.sln
66
RiderPluginId=bsmt_rider
7-
PluginVersion=0.1.30
7+
PluginVersion=0.1.31
88

99
BuildConfiguration=Release
1010

@@ -15,7 +15,7 @@ PublishToken="_PLACEHOLDER_"
1515
# Release: 2020.2
1616
# Nightly: 2020.3-SNAPSHOT
1717
# EAP: 2020.3-EAP2-SNAPSHOT
18-
ProductVersion=2024.3
18+
ProductVersion=2025.3.1
1919
# 2021.3.3
2020

2121
# Kotlin 1.4 will bundle the stdlib dependency by default, causing problems with the version bundled with the IDE

gradle/libs.versions.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[versions]
2-
kotlin = "1.9.24" # https://plugins.jetbrains.com/docs/intellij/using-kotlin.html#kotlin-standard-library
2+
kotlin = "2.2.20" # https://plugins.jetbrains.com/docs/intellij/using-kotlin.html#kotlin-standard-library
33
rdGen = "2024.3.1" # https://github.com/JetBrains/rd/releases
44

55
[libraries]

gradle/wrapper/gradle-wrapper.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionUrl=https\://cache-redirector.jetbrains.com/services.gradle.org/distributions/gradle-8.8-all.zip
3+
distributionUrl=https\://cache-redirector.jetbrains.com/services.gradle.org/distributions/gradle-8.13-all.zip
44
networkTimeout=10000
55
validateDistributionUrl=true
66
zipStoreBase=GRADLE_USER_HOME

src/rider/main/kotlin/com/github/fernthedev/bsmt_rider/BeatSaberProjectManager.kt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@ import com.intellij.openapi.application.readActionBlocking
99
import com.intellij.openapi.application.writeAction
1010
import com.intellij.openapi.components.Service
1111
import com.intellij.openapi.components.service
12+
import com.intellij.openapi.progress.checkCanceled
1213
import com.intellij.openapi.project.Project
1314
import com.intellij.openapi.vfs.VfsUtil
14-
import com.jetbrains.cidr.util.checkCanceled
1515
import com.jetbrains.rider.projectView.workspace.ProjectModelEntity
1616
import kotlinx.coroutines.CoroutineScope
1717
import java.io.File
@@ -65,8 +65,8 @@ class BeatSaberProjectManager(
6565
val content = generateFileContent(userString)
6666

6767

68+
checkCanceled()
6869
writeAction {
69-
checkCanceled()
7070
userFile.createNewFile()
7171
VfsUtil.saveText(VfsUtil.findFileByIoFile(userFile, true)!!, content)
7272
}
@@ -79,13 +79,13 @@ class BeatSaberProjectManager(
7979

8080
if (!file.exists()) return false
8181

82+
checkCanceled()
8283
val vfsFile = readActionBlocking {
83-
checkCanceled()
8484
VfsUtil.findFileByIoFile(file, true)!!
8585
}
8686

87+
checkCanceled()
8788
val contents = readActionBlocking {
88-
checkCanceled()
8989
VfsUtil.loadText(vfsFile)
9090
}
9191

@@ -99,8 +99,8 @@ class BeatSaberProjectManager(
9999
private suspend fun updateUserFile(userCsprojFile: File, beatSaberFolder: String): Boolean {
100100
val file = VfsUtil.findFileByIoFile(userCsprojFile, true)!!
101101

102+
checkCanceled()
102103
val contents = readActionBlocking {
103-
checkCanceled()
104104
VfsUtil.loadText(file)
105105
}
106106

@@ -198,8 +198,8 @@ class BeatSaberProjectManager(
198198
}
199199
}
200200

201+
checkCanceled()
201202
writeAction {
202-
checkCanceled()
203203
VfsUtil.saveText(file, finalString.toString())
204204
}
205205

src/rider/main/kotlin/com/github/fernthedev/bsmt_rider/RiderProtocolHandler.kt

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,20 @@
11
package com.github.fernthedev.bsmt_rider
22

3-
import com.github.fernthedev.bsmt_rider.settings.AppSettingsState
43
import com.intellij.openapi.application.ApplicationManager
5-
import com.jetbrains.rd.platform.util.lifetime
6-
import com.jetbrains.rd.util.lifetime.Lifetime
7-
import com.jetbrains.rider.model.BSMT_RiderModel
8-
import com.jetbrains.rider.model.ConfigSettings
9-
import com.jetbrains.rider.protocol.ProtocolManager
104

115
// TODO: This doesn't work
126
private class RiderProtocolHandler {
137
companion object {
14-
val instance: RiderProtocolHandler
15-
get() = ApplicationManager.getApplication().getService(RiderProtocolHandler::class.java)
8+
// val instance: RiderProtocolHandler
9+
// get() = ApplicationManager.getApplication().getService(RiderProtocolHandler::class.java)
1610
}
1711

1812

1913
// val bsmtRidermodel: BSMT_RiderModel
2014

2115

2216
init {
23-
val protocol = ProtocolManager.createProtocol(ApplicationManager.getApplication(), Lifetime.Eternal)
17+
// val protocol = ProtocolManager.createProtocol(ApplicationManager.getApplication(), Lifetime.Eternal)
2418
// bsmtRidermodel = BSMT_RiderModel(ApplicationManager.getApplication().lifetime, protocol)
2519

2620
ApplicationManager.getApplication().invokeLater {

src/rider/main/kotlin/com/github/fernthedev/bsmt_rider/helpers/ProjectUtils.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,9 @@ import com.intellij.ide.SaveAndSyncHandler
1010
import com.intellij.openapi.application.EDT
1111
import com.intellij.openapi.components.Service
1212
import com.intellij.openapi.components.service
13+
import com.intellij.openapi.progress.checkCanceled
1314
import com.intellij.openapi.project.Project
1415
import com.intellij.openapi.vfs.VfsUtil
15-
import com.intellij.warmup.util.yieldThroughInvokeLater
16-
import com.jetbrains.cidr.util.checkCanceled
1716
import com.jetbrains.rider.model.ReloadCommand
1817
import com.jetbrains.rider.model.UnloadCommand
1918
import com.jetbrains.rider.model.projectModelTasks

src/rider/main/kotlin/com/github/fernthedev/bsmt_rider/helpers/ThreadHelpers.kt

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,15 @@ import com.intellij.openapi.application.invokeLater
55
import com.intellij.openapi.application.runReadAction
66
import com.intellij.openapi.application.runWriteAction
77
import com.intellij.openapi.progress.ProgressManager
8+
import kotlinx.coroutines.suspendCancellableCoroutine
9+
import kotlin.coroutines.resume
10+
11+
suspend fun yieldThroughInvokeLater(): Unit = suspendCancellableCoroutine { cont ->
12+
ApplicationManager.getApplication().invokeLater {
13+
if (!cont.isCancelled) cont.resume(Unit)
14+
}
15+
cont.invokeOnCancellation { /* no-op */ }
16+
}
817

918
// https://plugins.jetbrains.com/docs/intellij/general-threading-rules.html#read-action-cancellability
1019
@Deprecated("Use Kotlin coroutines")

src/rider/main/kotlin/com/github/fernthedev/bsmt_rider/settings/AppSettingsComponent.kt

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
package com.github.fernthedev.bsmt_rider.settings
22

33
import com.intellij.icons.AllIcons
4+
import com.intellij.openapi.actionSystem.AnAction
45
import com.intellij.openapi.actionSystem.AnActionEvent
56
import com.intellij.openapi.fileChooser.FileChooser
67
import com.intellij.openapi.fileChooser.FileChooserDescriptorFactory
7-
import com.intellij.ui.AnActionButton
88
import com.intellij.ui.CollectionListModel
99
import com.intellij.ui.ToolbarDecorator
1010
import com.intellij.ui.components.JBCheckBox
@@ -94,28 +94,27 @@ class AppSettingsComponent {
9494
(_beatSaberFolders.model as CollectionListModel<String>).remove(_beatSaberFolders.selectedIndex)
9595
}
9696

97-
val selectDefault = object: AnActionButton() {
98-
override fun actionPerformed(p0: AnActionEvent) {
97+
val selectDefault = object : AnAction(
98+
"Set as default beat saber directory",
99+
null,
100+
AllIcons.Actions.Checked_selected
101+
) {
102+
override fun actionPerformed(e: AnActionEvent) {
99103
_defaultFolder.text = _beatSaberFolders.selectedValue
100104
}
101105
}
102106

103-
104-
105-
selectDefault.templatePresentation.text = "Set as default beat saber directory"
106-
selectDefault.isEnabled = useDefaultFolder
107-
selectDefault.templatePresentation.icon = AllIcons.Actions.Checked_selected
107+
selectDefault.templatePresentation.isEnabled = useDefaultFolder
108108

109109
_useDefaultFolder.addActionListener {
110-
selectDefault.isEnabled = useDefaultFolder
110+
selectDefault.templatePresentation.isEnabled = useDefaultFolder
111111
}
112112

113113
_useDefaultFolder.addChangeListener {
114-
selectDefault.isEnabled = useDefaultFolder
114+
selectDefault.templatePresentation.isEnabled = useDefaultFolder
115115
}
116116

117117
_beatSaberFoldersToolbar.addExtraAction(selectDefault)
118-
_beatSaberFoldersToolbar.disableUpDownActions()
119118

120119

121120
_defaultFolder.isEditable = false

0 commit comments

Comments
 (0)