Skip to content

Commit

Permalink
jb: configure SDK workaround
Browse files Browse the repository at this point in the history
  • Loading branch information
akosyakov committed Feb 23, 2022
1 parent a87a1c8 commit dbf4a44
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
// Copyright (c) 2022 Gitpod GmbH. All rights reserved.
// Licensed under the GNU Affero General Public License (AGPL).
// See License-AGPL.txt in the project root for license information.

package io.gitpod.jetbrains.remote

import com.intellij.openapi.diagnostic.thisLogger
import com.intellij.openapi.project.Project
import com.intellij.openapi.projectRoots.ProjectJdkTable
import com.intellij.openapi.roots.ProjectRootManager
import com.intellij.util.application

class GitpodProjectManager(
private val project: Project
) {

init {
application.invokeLaterOnWriteThread {
application.runWriteAction {
configureSdk()
}
}
}

/**
* It is a workaround for https://youtrack.jetbrains.com/issue/GTW-88
*/
private fun configureSdk() {
ProjectJdkTable.getInstance().preconfigure()
val sdk = ProjectJdkTable.getInstance().allJdks.firstOrNull() ?: return
val projectRootManager = ProjectRootManager.getInstance(project)
if (projectRootManager.projectSdk != null) {
return
}
projectRootManager.projectSdk = sdk
thisLogger().warn("gitpod: SDK was auto preconfigured: $sdk")
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
<applicationService serviceImplementation="io.gitpod.jetbrains.remote.GitpodBranding"
serviceInterface="com.intellij.remoteDev.customization.GatewayBranding"
overrides="true" />
<projectService serviceImplementation="io.gitpod.jetbrains.remote.GitpodProjectManager" preload="true"/>
</extensions>

</idea-plugin>

0 comments on commit dbf4a44

Please sign in to comment.