Skip to content

Commit

Permalink
[fix] canDebug flag is now set to true if target is runnable | #BAZ…
Browse files Browse the repository at this point in the history
…EL-862 Done

e2e tests

and tests!

[fix] `canDebug` flag is now set to true if target is runnable


Merge-request: BAZEL-MR-859
Merged-by: Marcin Abramowicz <marcin.abramowicz@jetbrains.com>
  • Loading branch information
abrams27 authored and qodana-bot committed Feb 19, 2024
1 parent fb81f40 commit 55e4faa
Show file tree
Hide file tree
Showing 5 changed files with 15 additions and 14 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ object BazelBspKotlinProjectTest : BazelBspTestBaseScenario() {
it.canCompile = true
it.canTest = false
it.canRun = true
it.canDebug = false
it.canDebug = true
}
)
buildTarget.displayName = "@//kotlinc_test:Foo"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ object BazelBspLocalJdkTest : BazelBspTestBaseScenario() {
it.canCompile = true
it.canTest = false
it.canRun = true
it.canDebug = false
it.canDebug = true
}
)
exampleExampleBuildTarget.displayName = "$targetPrefix//example:example"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ object BazelBspRemoteJdkTest : BazelBspTestBaseScenario() {
listOf("application"),
listOf("java"),
emptyList(),
BuildTargetCapabilities().also { it.canCompile = true; it.canTest = false; it.canRun = true; it.canDebug = false }
BuildTargetCapabilities().also { it.canCompile = true; it.canTest = false; it.canRun = true; it.canDebug = true }
)
exampleExampleBuildTarget.displayName = "$targetPrefix//example:example"
exampleExampleBuildTarget.baseDirectory = "file://\$WORKSPACE/example/"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1038,7 +1038,7 @@ object BazelBspSampleRepoTest : BazelBspTestBaseScenario() {
listOf("application"),
listOf("java"),
emptyList(),
BuildTargetCapabilities().also { it.canCompile = true; it.canTest = false; it.canRun = true; it.canDebug = false }
BuildTargetCapabilities().also { it.canCompile = true; it.canTest = false; it.canRun = true; it.canDebug = true }
)
javaTargetsJavaBinary.displayName = "$targetPrefix//java_targets:java_binary"
javaTargetsJavaBinary.baseDirectory = "file://\$WORKSPACE/java_targets/"
Expand All @@ -1050,7 +1050,7 @@ object BazelBspSampleRepoTest : BazelBspTestBaseScenario() {
listOf("application"),
listOf("java"),
emptyList(),
BuildTargetCapabilities().also { it.canCompile = true; it.canTest = false; it.canRun = true; it.canDebug = false }
BuildTargetCapabilities().also { it.canCompile = true; it.canTest = false; it.canRun = true; it.canDebug = true }
)
javaTargetsJavaBinaryWithFlag.displayName = "$targetPrefix//java_targets:java_binary_with_flag"
javaTargetsJavaBinaryWithFlag.baseDirectory = "file://\$WORKSPACE/java_targets/"
Expand Down Expand Up @@ -1079,7 +1079,7 @@ object BazelBspSampleRepoTest : BazelBspTestBaseScenario() {
BuildTargetIdentifier("scala-library-2.12.14.jar"),
BuildTargetIdentifier("scala-reflect-2.12.14.jar"),
),
BuildTargetCapabilities().also { it.canCompile = true; it.canTest = false; it.canRun = true; it.canDebug = false }
BuildTargetCapabilities().also { it.canCompile = true; it.canTest = false; it.canRun = true; it.canDebug = true }
)
scalaTargetsScalaBinary.displayName = "$targetPrefix//scala_targets:scala_binary"
scalaTargetsScalaBinary.baseDirectory = "file://\$WORKSPACE/scala_targets/"
Expand Down Expand Up @@ -1119,7 +1119,7 @@ object BazelBspSampleRepoTest : BazelBspTestBaseScenario() {
BuildTargetIdentifier("scala-library-2.12.14.jar"),
BuildTargetIdentifier("scala-reflect-2.12.14.jar"),
),
BuildTargetCapabilities().also { it.canCompile = true; it.canTest = false; it.canRun = true; it.canDebug = false }
BuildTargetCapabilities().also { it.canCompile = true; it.canTest = false; it.canRun = true; it.canDebug = true }
)
targetWithoutJvmFlagsBinary.displayName = "$targetPrefix//target_without_jvm_flags:binary"
targetWithoutJvmFlagsBinary.baseDirectory = "file://\$WORKSPACE/target_without_jvm_flags/"
Expand Down Expand Up @@ -1151,7 +1151,7 @@ object BazelBspSampleRepoTest : BazelBspTestBaseScenario() {
BuildTargetIdentifier("scala-library-2.12.14.jar"),
BuildTargetIdentifier("scala-reflect-2.12.14.jar"),
),
BuildTargetCapabilities().also { it.canCompile = true; it.canTest = false; it.canRun = true; it.canDebug = false }
BuildTargetCapabilities().also { it.canCompile = true; it.canTest = false; it.canRun = true; it.canDebug = true }
)
targetWithoutArgsBinary.displayName = "$targetPrefix//target_without_args:binary"
targetWithoutArgsBinary.baseDirectory = "file://\$WORKSPACE/target_without_args/"
Expand All @@ -1167,7 +1167,7 @@ object BazelBspSampleRepoTest : BazelBspTestBaseScenario() {
BuildTargetIdentifier("@guava//:guava"),
BuildTargetIdentifier("$targetPrefix//java_targets/subpackage:java_library")
),
BuildTargetCapabilities().also { it.canCompile = true; it.canTest = false; it.canRun = true; it.canDebug = false }
BuildTargetCapabilities().also { it.canCompile = true; it.canTest = false; it.canRun = true; it.canDebug = true }
)
targetWithDependencyJavaBinary.displayName = "$targetPrefix//target_with_dependency:java_binary"
targetWithDependencyJavaBinary.baseDirectory = "file://\$WORKSPACE/target_with_dependency/"
Expand All @@ -1183,7 +1183,7 @@ object BazelBspSampleRepoTest : BazelBspTestBaseScenario() {
BuildTargetIdentifier("scala-library-2.12.14.jar"),
BuildTargetIdentifier("scala-reflect-2.12.14.jar"),
),
BuildTargetCapabilities().also { it.canCompile = true; it.canTest = true; it.canRun = false; it.canDebug = false }
BuildTargetCapabilities().also { it.canCompile = true; it.canTest = true; it.canRun = false; it.canDebug = true }
)
scalaTargetsScalaTest.displayName = "$targetPrefix//scala_targets:scala_test"
scalaTargetsScalaTest.baseDirectory = "file://\$WORKSPACE/scala_targets/"
Expand All @@ -1195,7 +1195,7 @@ object BazelBspSampleRepoTest : BazelBspTestBaseScenario() {
listOf("application"),
listOf("java"),
emptyList(),
BuildTargetCapabilities().also { it.canCompile = true; it.canTest = false; it.canRun = true; it.canDebug = false }
BuildTargetCapabilities().also { it.canCompile = true; it.canTest = false; it.canRun = true; it.canDebug = true }
)
targetWithResourcesJavaBinary.displayName = "$targetPrefix//target_with_resources:java_binary"
targetWithResourcesJavaBinary.baseDirectory = "file://\$WORKSPACE/target_with_resources/"
Expand Down Expand Up @@ -1301,7 +1301,7 @@ object BazelBspSampleRepoTest : BazelBspTestBaseScenario() {
listOf("application"),
listOf("java"),
emptyList(),
BuildTargetCapabilities().also { it.canCompile = true; it.canTest = false; it.canRun = true; it.canDebug = false }
BuildTargetCapabilities().also { it.canCompile = true; it.canTest = false; it.canRun = true; it.canDebug = true }
)
environmentVariablesJavaLibrary.displayName = "$targetPrefix//environment_variables:java_binary"
environmentVariablesJavaLibrary.baseDirectory = "file://\$WORKSPACE/environment_variables/"
Expand All @@ -1313,7 +1313,7 @@ object BazelBspSampleRepoTest : BazelBspTestBaseScenario() {
listOf("test"),
listOf("java"),
emptyList(),
BuildTargetCapabilities().also { it.canCompile = true; it.canTest = true; it.canRun = false; it.canDebug = false }
BuildTargetCapabilities().also { it.canCompile = true; it.canTest = true; it.canRun = false; it.canDebug = true }
)
environmentVariablesJavaTest.displayName = "$targetPrefix//environment_variables:java_test"
environmentVariablesJavaTest.baseDirectory = "file://\$WORKSPACE/environment_variables/"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -187,7 +187,8 @@ class BspProjectMapper(
val canCompile = !module.tags.contains(Tag.NO_BUILD) && isBuildableIfManual(module)
val canTest = module.tags.contains(Tag.TEST) && !module.tags.contains(Tag.MANUAL)
val canRun = module.tags.contains(Tag.APPLICATION) && !module.tags.contains(Tag.MANUAL)
return BuildTargetCapabilities().also { it.canCompile = canCompile; it.canTest = canTest; it.canRun = canRun; it.canDebug = false }
val canDebug = canRun || canTest // runnable and testable targets should be debuggable
return BuildTargetCapabilities().also { it.canCompile = canCompile; it.canTest = canTest; it.canRun = canRun; it.canDebug = canDebug }

This comment has been minimized.

Copy link
@tgodzik

tgodzik Mar 14, 2024

Contributor

Should this be set to true if debugSessionStart is not available? If canDebug is set to true then build clients such as metals will try to use that.

}

private fun isBuildableIfManual(module: Module): Boolean =
Expand Down

0 comments on commit 55e4faa

Please sign in to comment.