Skip to content

Commit df323e8

Browse files
committed
feat(jb): use ReplaceVMOptionsQuickFix instead
1 parent 2d35028 commit df323e8

File tree

3 files changed

+11
-23
lines changed

3 files changed

+11
-23
lines changed

components/ide/jetbrains/backend-plugin/src/main/kotlin/io/gitpod/jetbrains/remote/inspections/GitpodConfigInspection.kt

+7-21
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ import com.intellij.openapi.util.BuildNumber
1111
import com.intellij.psi.PsiElementVisitor
1212
import com.intellij.psi.PsiFile
1313
import io.gitpod.jetbrains.remote.quickfixes.AddVMOptionsQuickFix
14-
import io.gitpod.jetbrains.remote.quickfixes.ApplyVMOptionsQuickFix
1514
import io.gitpod.jetbrains.remote.quickfixes.ReplaceVMOptionsQuickFix
1615
import io.gitpod.jetbrains.remote.utils.GitpodConfig.YamlKey
1716
import io.gitpod.jetbrains.remote.utils.GitpodConfig.defaultXmxMiB
@@ -33,32 +32,19 @@ class GitpodConfigInspection : LocalInspectionTool() {
3332
val productName = getJetBrainsProductName(productCode) ?: return
3433
val keyValue = YAMLUtil.getQualifiedKeyInFile(file, YamlKey.jetbrains, productName, YamlKey.vmOptions)
3534
if (keyValue == null) {
36-
holder.registerProblem(
37-
file,
38-
"IDE's max heap size (-Xmx) is ${runtimeXmxMiB}m, but not configured in $gitpodYamlFile",
39-
AddVMOptionsQuickFix(productName, runtimeXmxMiB)
40-
)
35+
val description = "IDE's max heap size (-Xmx) is ${runtimeXmxMiB}m, but not configured in $gitpodYamlFile"
36+
val quickFix = AddVMOptionsQuickFix(productName, runtimeXmxMiB)
37+
holder.registerProblem(file, description, quickFix)
4138
return
4239
}
4340
val configuredXmxMiB = getUserConfiguredXmxValue(keyValue)
41+
val quickFix = ReplaceVMOptionsQuickFix(runtimeXmxMiB)
4442
if (configuredXmxMiB == null && runtimeXmxMiB != defaultXmxMiB) {
4543
val description = "IDE's max heap size (-Xmx) is ${runtimeXmxMiB}m, but not configured in $gitpodYamlFile"
46-
val fix = if (VMOptions.canWriteOptions()) {
47-
ApplyVMOptionsQuickFix("Apply default -Xmx${defaultXmxMiB}m", defaultXmxMiB)
48-
} else {
49-
ReplaceVMOptionsQuickFix(runtimeXmxMiB)
50-
}
51-
holder.registerProblem(file, description, fix)
52-
return
53-
}
54-
if (configuredXmxMiB != null && configuredXmxMiB != runtimeXmxMiB) {
44+
holder.registerProblem(keyValue, description, quickFix)
45+
} else if (configuredXmxMiB != null && runtimeXmxMiB != configuredXmxMiB) {
5546
val description = "IDE's max heap size (-Xmx) is ${runtimeXmxMiB}m, but -Xmx${configuredXmxMiB}m configured in $gitpodYamlFile"
56-
val fix = if (VMOptions.canWriteOptions()) {
57-
ApplyVMOptionsQuickFix("Apply -Xmx${configuredXmxMiB}m configured in $gitpodYamlFile", runtimeXmxMiB)
58-
} else {
59-
ReplaceVMOptionsQuickFix(runtimeXmxMiB)
60-
}
61-
holder.registerProblem(file, description, fix)
47+
holder.registerProblem(keyValue, description, quickFix)
6248
}
6349
}
6450
}

components/ide/jetbrains/backend-plugin/src/main/kotlin/io/gitpod/jetbrains/remote/quickfixes/ApplyVMOptionsQuickFix.kt

+3-1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ class ApplyVMOptionsQuickFix(private val quickFixName: String, private val xmxVa
1616
override fun getFamilyName() = name
1717

1818
override fun applyFix(project: Project, descriptor: ProblemDescriptor) {
19-
VMOptions.setOption(VMOptions.MemoryKind.HEAP, xmxValueMiB.toInt())
19+
if (VMOptions.canWriteOptions()) {
20+
VMOptions.setOption(VMOptions.MemoryKind.HEAP, xmxValueMiB.toInt())
21+
}
2022
}
2123
}

components/ide/jetbrains/backend-plugin/src/main/kotlin/io/gitpod/jetbrains/remote/quickfixes/ReplaceVMOptionsQuickFix.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import org.jetbrains.yaml.psi.YAMLKeyValue
1313

1414
class ReplaceVMOptionsQuickFix(private val xmxValueMiB: Long) : LocalQuickFix {
1515

16-
override fun getName() = "Set Xmx to $xmxValueMiB MiB"
16+
override fun getName() = "Set Xmx to ${xmxValueMiB}m"
1717

1818
override fun getFamilyName() = name
1919

0 commit comments

Comments
 (0)