Skip to content

Commit 19725dc

Browse files
committed
Fix EAP build
1 parent 964bb64 commit 19725dc

File tree

10 files changed

+100
-36
lines changed

10 files changed

+100
-36
lines changed

.idea/misc.xml

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

components/ide/jetbrains/gateway-plugin/gradle-latest.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,4 @@ pluginUntilBuild=243.*
88
# See https://jb.gg/intellij-platform-builds-list for available build versions.
99
pluginVerifierIdeVersions=2024.3
1010
# Version from "com.jetbrains.gateway" which can be found at https://www.jetbrains.com/intellij-repository/snapshots
11-
platformVersion=2024.3
11+
platformVersion=243.18137.22

components/ide/jetbrains/gateway-plugin/src/main/kotlin/io/gitpod/jetbrains/gateway/GitpodConnectionProvider.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ import com.intellij.ui.dsl.builder.AlignY
2626
import com.intellij.ui.dsl.builder.panel
2727
import com.intellij.util.application
2828
import com.intellij.util.io.DigestUtil
29-
import com.intellij.util.io.await
3029
import com.intellij.util.io.delete
3130
import com.intellij.util.net.JdkProxyProvider
3231
import com.intellij.util.net.ssl.CertificateManager
@@ -42,8 +41,10 @@ import com.jetbrains.rd.util.ConcurrentHashMap
4241
import com.jetbrains.rd.util.lifetime.Lifetime
4342
import com.jetbrains.rd.util.lifetime.LifetimeDefinition
4443
import io.gitpod.gitpodprotocol.api.entities.WorkspaceInstance
44+
import io.gitpod.jetbrains.gateway.common.GitpodConnectionHandleFactory
4545
import io.gitpod.jetbrains.icons.GitpodIcons
4646
import kotlinx.coroutines.*
47+
import kotlinx.coroutines.future.await
4748
import java.net.URI
4849
import java.net.URL
4950
import java.net.http.HttpClient

components/ide/jetbrains/gateway-plugin/src/main/kotlin/io/gitpod/jetbrains/gateway/GitpodConnectionService.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,16 +11,16 @@ import com.intellij.openapi.extensions.PluginId
1111
import com.intellij.remoteDev.util.onTerminationOrNow
1212
import com.intellij.util.ExceptionUtil
1313
import com.intellij.util.io.DigestUtil
14+
import com.intellij.util.net.JdkProxyProvider
1415
import com.intellij.util.net.ssl.CertificateManager
15-
import com.intellij.util.proxy.CommonProxy
1616
import com.jetbrains.rd.util.concurrentMapOf
1717
import com.jetbrains.rd.util.lifetime.Lifetime
1818
import io.gitpod.gitpodprotocol.api.GitpodServerLauncher
1919
import io.gitpod.jetbrains.auth.GitpodAuthService
2020
import kotlinx.coroutines.*
2121
import kotlinx.coroutines.future.await
2222
import org.eclipse.jetty.websocket.api.UpgradeException
23-
import java.net.URL
23+
import java.net.URI
2424
import java.nio.charset.StandardCharsets
2525

2626
@Service
@@ -50,7 +50,7 @@ class GitpodConnectionService {
5050
val originalClassLoader = Thread.currentThread().contextClassLoader
5151
val connection = try {
5252
val origin = "https://$gitpodHost/"
53-
val proxies = CommonProxy.getInstance().select(URL(origin))
53+
val proxies = JdkProxyProvider.getInstance().proxySelector.select(URI(origin))
5454
val sslContext = CertificateManager.getInstance().sslContext
5555

5656
// see https://intellij-support.jetbrains.com/hc/en-us/community/posts/360003146180/comments/360000376240

components/ide/jetbrains/gateway-plugin/src/main/kotlin/io/gitpod/jetbrains/gateway/GitpodSettingsState.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import com.intellij.openapi.components.State
1010
import com.intellij.openapi.components.Storage
1111
import com.intellij.util.EventDispatcher
1212
import com.intellij.util.xmlb.XmlSerializerUtil
13-
import java.net.URL
13+
import java.net.URI
1414
import java.util.*
1515

1616
@State(
@@ -25,7 +25,7 @@ class GitpodSettingsState : PersistentStateComponent<GitpodSettingsState> {
2525
return
2626
}
2727
val gitpodHost = try {
28-
URL(value.trim()).host
28+
URI.create(value.trim()).host
2929
} catch (t: Throwable) {
3030
value.trim()
3131
}
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,30 @@
1-
// Copyright (c) 2023 Gitpod GmbH. All rights reserved.
2-
// Licensed under the GNU Affero General Public License (AGPL).
3-
// See License.AGPL.txt in the project root for license information.
1+
package io.gitpod.jetbrains.gateway.common
42

5-
package io.gitpod.jetbrains.gateway
6-
7-
import com.intellij.openapi.components.Service
83
import com.jetbrains.gateway.api.CustomConnectionFrameComponentProvider
94
import com.jetbrains.gateway.api.CustomConnectionFrameContext
105
import com.jetbrains.gateway.api.GatewayConnectionHandle
11-
import com.jetbrains.gateway.ssh.ClientOverSshTunnelConnector
126
import com.jetbrains.gateway.ssh.HostTunnelConnector
137
import com.jetbrains.gateway.thinClientLink.ThinClientHandle
148
import com.jetbrains.rd.util.lifetime.Lifetime
159
import io.gitpod.jetbrains.gateway.GitpodConnectionProvider.ConnectParams
1610
import java.net.URI
1711
import javax.swing.JComponent
1812

19-
class GitpodConnectionHandle(
13+
@Suppress("UnstableApiUsage")
14+
interface GitpodConnectionHandleFactory {
15+
fun createGitpodConnectionHandle(
2016
lifetime: Lifetime,
21-
private val component: JComponent,
22-
private val params: ConnectParams
17+
component: JComponent,
18+
params: ConnectParams
19+
): GatewayConnectionHandle
20+
21+
suspend fun connect(lifetime: Lifetime, connector: HostTunnelConnector, tcpJoinLink: URI): ThinClientHandle
22+
}
23+
24+
class GitpodConnectionHandle(
25+
lifetime: Lifetime,
26+
private val component: JComponent,
27+
private val params: ConnectParams
2328
) : GatewayConnectionHandle(lifetime) {
2429
override fun customComponentProvider(lifetime: Lifetime) = object : CustomConnectionFrameComponentProvider {
2530
override val closeConfirmationText = "Disconnect from ${getTitle()}?"
@@ -33,22 +38,4 @@ class GitpodConnectionHandle(
3338
override fun hideToTrayOnStart(): Boolean {
3439
return false
3540
}
36-
}
37-
@Suppress("UnstableApiUsage")
38-
@Service
39-
class GitpodConnectionHandleFactory {
40-
fun createGitpodConnectionHandle(
41-
lifetime: Lifetime,
42-
component: JComponent,
43-
params: ConnectParams
44-
): GatewayConnectionHandle {
45-
return GitpodConnectionHandle(lifetime, component, params)
46-
}
47-
48-
suspend fun connect(lifetime: Lifetime, connector: HostTunnelConnector, tcpJoinLink: URI): ThinClientHandle {
49-
return ClientOverSshTunnelConnector(
50-
lifetime,
51-
connector
52-
).connect(tcpJoinLink)
53-
}
54-
}
41+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
// Copyright (c) 2024 Gitpod GmbH. All rights reserved.
2+
// Licensed under the GNU Affero General Public License (AGPL).
3+
// See License.AGPL.txt in the project root for license information.
4+
5+
package io.gitpod.jetbrains.gateway.latest
6+
7+
import com.intellij.openapi.components.Service
8+
import com.jetbrains.gateway.api.GatewayConnectionHandle
9+
import com.jetbrains.gateway.ssh.ClientOverSshTunnelConnector
10+
import com.jetbrains.gateway.ssh.HostTunnelConnector
11+
import com.jetbrains.gateway.thinClientLink.ThinClientHandle
12+
import com.jetbrains.rd.util.lifetime.Lifetime
13+
import io.gitpod.jetbrains.gateway.GitpodConnectionProvider.ConnectParams
14+
import io.gitpod.jetbrains.gateway.common.GitpodConnectionHandle
15+
import java.net.URI
16+
import javax.swing.JComponent
17+
18+
@Suppress("UnstableApiUsage")
19+
@Service
20+
class LatestGitpodConnectionHandleFactory {
21+
fun createGitpodConnectionHandle(
22+
lifetime: Lifetime,
23+
component: JComponent,
24+
params: ConnectParams
25+
): GatewayConnectionHandle {
26+
return GitpodConnectionHandle(lifetime, component, params)
27+
}
28+
29+
suspend fun connect(lifetime: Lifetime, connector: HostTunnelConnector, tcpJoinLink: URI): ThinClientHandle {
30+
return ClientOverSshTunnelConnector(
31+
lifetime,
32+
connector
33+
).connect(tcpJoinLink, null)
34+
}
35+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
// Copyright (c) 2024 Gitpod GmbH. All rights reserved.
2+
// Licensed under the GNU Affero General Public License (AGPL).
3+
// See License.AGPL.txt in the project root for license information.
4+
5+
package io.gitpod.jetbrains.gateway.stable
6+
7+
import com.intellij.openapi.components.Service
8+
import com.jetbrains.gateway.api.GatewayConnectionHandle
9+
import com.jetbrains.gateway.ssh.ClientOverSshTunnelConnector
10+
import com.jetbrains.gateway.ssh.HostTunnelConnector
11+
import com.jetbrains.gateway.thinClientLink.ThinClientHandle
12+
import com.jetbrains.rd.util.lifetime.Lifetime
13+
import io.gitpod.jetbrains.gateway.GitpodConnectionProvider.ConnectParams
14+
import io.gitpod.jetbrains.gateway.common.GitpodConnectionHandle
15+
import io.gitpod.jetbrains.gateway.common.GitpodConnectionHandleFactory
16+
import java.net.URI
17+
import javax.swing.JComponent
18+
19+
@Suppress("UnstableApiUsage")
20+
@Service
21+
class StableGitpodConnectionHandleFactory: GitpodConnectionHandleFactory {
22+
override fun createGitpodConnectionHandle(
23+
lifetime: Lifetime,
24+
component: JComponent,
25+
params: ConnectParams
26+
): GatewayConnectionHandle {
27+
return GitpodConnectionHandle(lifetime, component, params)
28+
}
29+
30+
override suspend fun connect(lifetime: Lifetime, connector: HostTunnelConnector, tcpJoinLink: URI): ThinClientHandle {
31+
return ClientOverSshTunnelConnector(
32+
lifetime,
33+
connector
34+
).connect(tcpJoinLink)
35+
}
36+
}

components/ide/jetbrains/gateway-plugin/src/main/resources-latest/META-INF/extensions.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
-->
66
<idea-plugin>
77
<extensions defaultExtensionNs="com.intellij">
8+
<applicationService serviceInterface="io.gitpod.jetbrains.gateway.common.GitpodConnectionHandleFactory"
9+
serviceImplementation="io.gitpod.jetbrains.gateway.latest.LatestGitpodConnectionHandleFactory"/>
810
</extensions>
911
<extensions defaultExtensionNs="com.jetbrains">
1012
</extensions>

components/ide/jetbrains/gateway-plugin/src/main/resources-stable/META-INF/extensions.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
-->
66
<idea-plugin>
77
<extensions defaultExtensionNs="com.intellij">
8+
<applicationService serviceInterface="io.gitpod.jetbrains.gateway.common.GitpodConnectionHandleFactory"
9+
serviceImplementation="io.gitpod.jetbrains.gateway.stable.StableGitpodConnectionHandleFactory"/>
810
</extensions>
911
<extensions defaultExtensionNs="com.jetbrains">
1012
</extensions>

0 commit comments

Comments
 (0)