diff --git a/.github/workflows/IJ.yml b/.github/workflows/IJ.yml index 93619237e..b328fc9b2 100644 --- a/.github/workflows/IJ.yml +++ b/.github/workflows/IJ.yml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - IJ: [IC-2021.1, IC-2021.2, IC-2021.3, IC-2022.1, IC-2022.2, IC-2022.3, IC-2023.1] + IJ: [IC-2021.1, IC-2021.2, IC-2021.3, IC-2022.1, IC-2022.2, IC-2022.3, IC-2023.1, IC-2023.2] steps: - uses: actions/checkout@v2 @@ -44,7 +44,7 @@ jobs: - name: Grant execute permission for gradlew run: chmod +x gradlew - name: Build with Gradle - run: ./gradlew runPluginVerifier -PideaVersion=IC-2023.1 + run: ./gradlew runPluginVerifier -PideaVersion=IC-2023.2 - name: Upload report uses: actions/upload-artifact@v2 if: always() diff --git a/build.gradle b/build.gradle index 35108398f..69057ddc9 100644 --- a/build.gradle +++ b/build.gradle @@ -66,7 +66,8 @@ dependencies { "org.assertj:assertj-core:3.22.0", "org.mockito:mockito-inline:4.5.1", "com.nhaarman.mockitokotlin2:mockito-kotlin:2.2.0", - "org.jetbrains.kotlin:kotlin-test-junit:${kotlinVersion}" + "org.jetbrains.kotlin:kotlin-test-junit:${kotlinVersion}", + "org.yaml:snakeyaml:1.33" /* IC-2023.2 provides incompatible 2.0 */ ) integrationTestImplementation( "com.redhat.devtools.intellij:intellij-common:1.1.0", diff --git a/gradle.properties b/gradle.properties index b8d80d27d..a328dda5b 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,11 +1,11 @@ -ideaVersion=IC-2023.1 +ideaVersion=IC-2022.1 # build number ranges # https://www.jetbrains.org/intellij/sdk/docs/basics/getting_started/build_number_ranges.html -sinceIdeaBuild=221 +sinceIdeaBuild=232 projectVersion=1.1.1-SNAPSHOT jetBrainsToken=invalid jetBrainsChannel=stable -intellijPluginVersion=1.14.2 +intellijPluginVersion=1.15.0 intellijCommonVersion=1.9.2-SNAPSHOT telemetryPluginVersion=1.0.0.44 kotlin.stdlib.default.dependency = false diff --git a/src/main/kotlin/com/redhat/devtools/intellij/kubernetes/console/TerminalTab.kt b/src/main/kotlin/com/redhat/devtools/intellij/kubernetes/console/TerminalTab.kt index 820e0f900..48ab37a39 100644 --- a/src/main/kotlin/com/redhat/devtools/intellij/kubernetes/console/TerminalTab.kt +++ b/src/main/kotlin/com/redhat/devtools/intellij/kubernetes/console/TerminalTab.kt @@ -12,8 +12,6 @@ package com.redhat.devtools.intellij.kubernetes.console import com.intellij.openapi.project.Project import com.intellij.terminal.TerminalExecutionConsole -import com.pty4j.PtyProcess -import com.pty4j.WinSize import com.redhat.devtools.intellij.common.utils.ExecProcessHandler import com.redhat.devtools.intellij.kubernetes.model.IResourceModel import io.fabric8.kubernetes.api.model.Container @@ -42,7 +40,6 @@ open class TerminalTab(pod: Pod, model: IResourceModel, project: Project) : return watch } - override fun createConsoleView(project: Project): TerminalExecutionConsole? { return TerminalExecutionConsole(project, null) } @@ -62,25 +59,9 @@ open class TerminalTab(pod: Pod, model: IResourceModel, project: Project) : } /** - * An adapter for [ExecWatch] that adapts it to be accessed like a [PtyProcess] + * An adapter that adapts an [ExecWatch] so that it can be accessed like a [Process] */ - inner class ExecWatchProcessAdapter(private val watch: ExecWatch) : PtyProcess() { - override fun isRunning(): Boolean { - return true - } - - override fun setWinSize(winSize: WinSize) { - // dont act upon - } - - override fun getWinSize(): WinSize { - // has no effect - return WinSize(80, 200) - } - - override fun getPid(): Int { - return -1 - } + inner class ExecWatchProcessAdapter(private val watch: ExecWatch) : Process() { @Override override fun getOutputStream(): OutputStream? { @@ -95,6 +76,14 @@ open class TerminalTab(pod: Pod, model: IResourceModel, project: Project) : return watch.error } + override fun destroy() { + watch.close() + } + + override fun supportsNormalTermination(): Boolean { + return true + } + override fun waitFor(): Int { return 0 } @@ -102,11 +91,6 @@ open class TerminalTab(pod: Pod, model: IResourceModel, project: Project) : override fun exitValue(): Int { return 0 } - - override fun destroy() { - watch.close() - } - } private inner class ContainerExecListener(private val container: Container): ExecListener {