Skip to content

Commit 3faf46b

Browse files
committed
chore: update build configuration for 2025.3.3 compatibility
1 parent e8de819 commit 3faf46b

6 files changed

Lines changed: 35 additions & 56 deletions

File tree

.idea/runConfigurations/Verify_Plugin.xml

Lines changed: 20 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

build.gradle.kts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,11 +39,17 @@ intellijPlatform {
3939
}
4040

4141
ideaVersion {
42-
sinceBuild = "233"
42+
sinceBuild = "253"
4343
untilBuild = provider { null }
4444
}
4545
}
4646

47+
pluginVerification {
48+
ides {
49+
create(org.jetbrains.intellij.platform.gradle.IntelliJPlatformType.IntellijIdea, "2025.3.3")
50+
}
51+
}
52+
4753
signing {
4854
// Configure signing for production releases
4955
}

src/main/kotlin/com/ashotn/opencode/relay/settings/OpenCodeSettingsConfigurable.kt

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import com.ashotn.opencode.relay.OpenCodeInfo
66
import com.ashotn.opencode.relay.OpenCodePlugin
77
import com.ashotn.opencode.relay.core.EditorDiffRenderer
88
import com.ashotn.opencode.relay.settings.OpenCodeSettings.TerminalEngine
9-
import com.ashotn.opencode.relay.util.BuildUtils
109
import com.intellij.openapi.application.ApplicationManager
1110
import com.intellij.openapi.fileChooser.FileChooserDescriptorFactory
1211
import com.intellij.openapi.options.BoundConfigurable
@@ -83,7 +82,6 @@ class OpenCodeSettingsConfigurable(private val project: Project) :
8382
}
8483
}
8584
group("Terminal") {
86-
val reworkedSupported = BuildUtils.isEmbeddedTerminalSupported
8785
row {
8886
checkBox("Show inline terminal")
8987
.bindSelected(pendingState::inlineTerminalEnabled)
@@ -92,15 +90,11 @@ class OpenCodeSettingsConfigurable(private val project: Project) :
9290
buttonsGroup("Terminal engine:") {
9391
row {
9492
radioButton("Classic (Recommended)", TerminalEngine.CLASSIC)
95-
.comment("Legacy JediTerm widget. Works on all supported IDE versions.")
93+
.comment("Legacy JediTerm widget.")
9694
}
9795
row {
9896
radioButton("Reworked", TerminalEngine.REWORKED)
99-
.enabled(reworkedSupported)
100-
.comment(
101-
if (reworkedSupported) "New terminal engine (IntelliJ 2025.3+)."
102-
else "Requires IntelliJ 2025.3 or later.",
103-
)
97+
.comment("New terminal engine.")
10498
}
10599
}.bind(pendingState::terminalEngine)
106100
}

src/main/kotlin/com/ashotn/opencode/relay/terminal/ReworkedTuiPanel.kt

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ package com.ashotn.opencode.relay.terminal
44

55
import com.ashotn.opencode.relay.OpenCodePlugin
66
import com.ashotn.opencode.relay.settings.OpenCodeSettings
7-
import com.ashotn.opencode.relay.util.BuildUtils
87
import com.ashotn.opencode.relay.util.serverUrl
98
import com.intellij.openapi.Disposable
109
import com.intellij.openapi.application.ApplicationManager
@@ -64,8 +63,6 @@ class ReworkedTuiPanel(
6463
override fun startIfNeeded() {
6564
if (terminalView != null) return
6665

67-
if (!BuildUtils.isEmbeddedTerminalSupported) return
68-
6966
try {
7067
val executablePath = OpenCodePlugin.getInstance(project).openCodeInfo?.path
7168
if (executablePath.isNullOrBlank()) {

src/main/kotlin/com/ashotn/opencode/relay/toolwindow/OpenCodeToolWindowPanel.kt

Lines changed: 6 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ import com.ashotn.opencode.relay.settings.OpenCodeSettingsChangedListener
1616
import com.ashotn.opencode.relay.terminal.ClassicTuiPanel
1717
import com.ashotn.opencode.relay.terminal.ReworkedTuiPanel
1818
import com.ashotn.opencode.relay.terminal.TuiPanel
19-
import com.ashotn.opencode.relay.util.BuildUtils
2019
import com.intellij.openapi.Disposable
2120
import com.intellij.openapi.application.ApplicationManager
2221
import com.intellij.openapi.project.Project
@@ -59,7 +58,7 @@ class OpenCodeToolWindowPanel(private val project: Project) : JPanel(BorderLayou
5958
private val outerCardPanel = JPanel(outerCardLayout)
6059
private val pendingFilesPanel = PendingFilesPanel(project, this)
6160
private var tuiPanel: TuiPanel = createTuiPanel()
62-
private var activeTuiEngine: TerminalEngine = effectiveEngine(OpenCodeSettings.getInstance(project).terminalEngine)
61+
private var activeTuiEngine: TerminalEngine = OpenCodeSettings.getInstance(project).terminalEngine
6362
private val syncScheduled = AtomicBoolean(false)
6463
private val plugin = OpenCodePlugin.getInstance(project)
6564
private val serverStateListener = ServerStateListener { requestSyncCard() }
@@ -194,8 +193,8 @@ class OpenCodeToolWindowPanel(private val project: Project) : JPanel(BorderLayou
194193
* it into the split pane — all without requiring an IDE restart.
195194
*/
196195
private fun swapTuiPanelIfEngineChanged() {
197-
val effectiveEngine = effectiveEngine(OpenCodeSettings.getInstance(project).terminalEngine)
198-
if (effectiveEngine == activeTuiEngine) return
196+
val configuredEngine = OpenCodeSettings.getInstance(project).terminalEngine
197+
if (configuredEngine == activeTuiEngine) return
199198

200199
// Stop and dispose the old panel.
201200
if (tuiPanel.isStarted) tuiPanel.stop()
@@ -207,7 +206,7 @@ class OpenCodeToolWindowPanel(private val project: Project) : JPanel(BorderLayou
207206
newPanel.component.minimumSize = JBUI.size(0, 120)
208207
splitPane.bottomComponent = newPanel.component
209208
tuiPanel = newPanel
210-
activeTuiEngine = effectiveEngine
209+
activeTuiEngine = configuredEngine
211210
}
212211

213212
private fun buildContent() {
@@ -228,28 +227,17 @@ class OpenCodeToolWindowPanel(private val project: Project) : JPanel(BorderLayou
228227

229228
/**
230229
* Creates the appropriate [TuiPanel] implementation for the currently configured
231-
* [OpenCodeSettings.terminalEngine]. Falls back to [ClassicTuiPanel] when the
232-
* reworked engine is requested but the IDE version does not support it.
230+
* [OpenCodeSettings.terminalEngine].
233231
*/
234232
private fun createTuiPanel(): TuiPanel {
235233
val settings = OpenCodeSettings.getInstance(project)
236-
return if (effectiveEngine(settings.terminalEngine) == TerminalEngine.REWORKED) {
234+
return if (settings.terminalEngine == TerminalEngine.REWORKED) {
237235
ReworkedTuiPanel(project, this, onTerminated = { requestSyncCard() })
238236
} else {
239237
ClassicTuiPanel(project, this, onTerminated = { requestSyncCard() })
240238
}
241239
}
242240

243-
/**
244-
* Resolves the effective [TerminalEngine] to use, falling back to [TerminalEngine.CLASSIC]
245-
* when [TerminalEngine.REWORKED] is requested but the IDE version does not support it.
246-
*/
247-
private fun effectiveEngine(requested: TerminalEngine): TerminalEngine =
248-
if (requested == TerminalEngine.REWORKED && !BuildUtils.isEmbeddedTerminalSupported) {
249-
TerminalEngine.CLASSIC
250-
} else {
251-
requested
252-
}
253241

254242
private var disposed = false
255243

src/main/kotlin/com/ashotn/opencode/relay/util/BuildUtils.kt

Lines changed: 0 additions & 26 deletions
This file was deleted.

0 commit comments

Comments
 (0)