diff --git a/CHANGELOG.md b/CHANGELOG.md index 95d214a84..fb6aadd7e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -30,6 +30,8 @@ | [6b45eb6](https://github.com/JetBrains/bazel-bsp/commit/6b45eb61fb90c143b845cae69e2f69c6c1b4460d) - Include libraries defined in `jdeps` files during sync. | [bb47e49](https://github.com/JetBrains/bazel-bsp/commit/bb47e493fc595ddf21438f454cee7a6cd756fc0b) +- Add support for buildTarget/jvmCompileClasspath + | [f7f2662](https://github.com/JetBrains/bazel-bsp/commit/f7f26623ce3254b2f1ecda95329b665d05862109) ### Fixes 🛠️ diff --git a/MODULE.bazel b/MODULE.bazel index 7da4b4633..a98db5df7 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -71,7 +71,7 @@ maven.install( artifacts = [ "com.google.code.gson:gson:2.10.1", "com.google.guava:guava:31.0.1-jre", - "ch.epfl.scala:bsp4j:2.2.0-M1", + "ch.epfl.scala:bsp4j:2.2.0-M2", "commons-io:commons-io:jar:2.15.1", "commons-cli:commons-cli:jar:1.6.0", "org.apache.logging.log4j:log4j-api:2.23.1", @@ -99,7 +99,7 @@ maven.install( fetch_sources = True, lock_file = "//:maven_install.json", repositories = [ - "https://repo.maven.apache.org/maven2", + "https://repo.maven.apache.org/maven2" ], ) use_repo( diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock index e49a16c53..ff0c2d1b5 100644 --- a/MODULE.bazel.lock +++ b/MODULE.bazel.lock @@ -1,6 +1,6 @@ { "lockFileVersion": 3, - "moduleFileHash": "28890f2a68ba7a3f6e930df4bba73788292255aabf29c6cb235a26fb79be2436", + "moduleFileHash": "2c90c8fa7451044d5c18d3bfed79485dfe08fca997c2bc59c61ea6c6b1d55c3c", "flags": { "cmdRegistries": [ "https://bcr.bazel.build/" @@ -113,7 +113,7 @@ "artifacts": [ "com.google.code.gson:gson:2.10.1", "com.google.guava:guava:31.0.1-jre", - "ch.epfl.scala:bsp4j:2.2.0-M1", + "ch.epfl.scala:bsp4j:2.2.0-M2", "commons-io:commons-io:jar:2.15.1", "commons-cli:commons-cli:jar:1.6.0", "org.apache.logging.log4j:log4j-api:2.23.1", @@ -1779,13 +1779,7 @@ } } }, - "recordedRepoMappingEntries": [ - [ - "", - "bazel_tools", - "bazel_tools" - ] - ] + "recordedRepoMappingEntries": [] } }, "@@apple_support~1.5.0//crosstool:setup.bzl%apple_cc_configure_extension": { @@ -2482,13 +2476,7 @@ "explicitRootModuleDirectDevDeps": [], "useAllRepos": "NO" }, - "recordedRepoMappingEntries": [ - [ - "gazelle~0.32.0", - "bazel_tools", - "bazel_tools" - ] - ] + "recordedRepoMappingEntries": [] } }, "@@gazelle~0.32.0//internal/bzlmod:non_module_deps.bzl%non_module_deps": { @@ -2515,29 +2503,6 @@ } } }, - "recordedRepoMappingEntries": [ - [ - "gazelle~0.32.0", - "bazel_gazelle_go_repository_cache", - "gazelle~0.32.0~non_module_deps~bazel_gazelle_go_repository_cache" - ] - ] - } - }, - "@@platforms//host:extension.bzl%host_platform": { - "general": { - "bzlTransitiveDigest": "xelQcPZH8+tmuOHVjL9vDxMnnQNMlwj0SlvgoqBkm4U=", - "accumulatedFileDigests": {}, - "envVariables": {}, - "generatedRepoSpecs": { - "host_platform": { - "bzlFile": "@@platforms//host:extension.bzl", - "ruleClassName": "host_platform_repo", - "attributes": { - "name": "platforms~host_platform~host_platform" - } - } - }, "recordedRepoMappingEntries": [] } }, @@ -2863,13 +2828,7 @@ } } }, - "recordedRepoMappingEntries": [ - [ - "rules_go~0.41.0", - "bazel_tools", - "bazel_tools" - ] - ] + "recordedRepoMappingEntries": [] } }, "@@rules_java~7.5.0//java:extensions.bzl%toolchains": { @@ -3494,7 +3453,7 @@ "general": { "bzlTransitiveDigest": "s2W5ZcoLzoufYyLA8qfOeY8rbHOnaUuzhfEOfZpvZ1Q=", "accumulatedFileDigests": { - "@@//:maven_install.json": "b27624500cb70454132fc8e2a916da3e7b64d96b0bd841000abbcd55f959d94b", + "@@//:maven_install.json": "a3f4c75b728ff1d99272cc40e3b96e350cc78cc1859ea6e5941bc8511ef01533", "@@rules_jvm_external~override//:rules_jvm_external_deps_install.json": "f7b381f38c8e0e8529fe2aac36898ccc9b2a7f38aa0fecf911924163437f1752" }, "envVariables": {}, @@ -3702,6 +3661,20 @@ "downloaded_file_path": "io/kotest/kotest-common-jvm/5.8.1/kotest-common-jvm-5.8.1.jar" } }, + "org_slf4j_slf4j_api_jar_sources_2_0_12": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "name": "rules_jvm_external~override~maven~org_slf4j_slf4j_api_jar_sources_2_0_12", + "sha256": "f05052e5924887edee5ba8228d210e763f85032e2b58245a37fa71e049950787", + "urls": [ + "https://repo.maven.apache.org/maven2/org/slf4j/slf4j-api/2.0.12/slf4j-api-2.0.12-sources.jar", + "https://maven.google.com/org/slf4j/slf4j-api/2.0.12/slf4j-api-2.0.12-sources.jar", + "https://repo1.maven.org/maven2/org/slf4j/slf4j-api/2.0.12/slf4j-api-2.0.12-sources.jar" + ], + "downloaded_file_path": "org/slf4j/slf4j-api/2.0.12/slf4j-api-2.0.12-sources.jar" + } + }, "org_apache_commons_commons_lang3_3_12_0": { "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", "ruleClassName": "http_file", @@ -3742,20 +3715,6 @@ "downloaded_file_path": "io/kotest/kotest-assertions-core-jvm/5.8.1/kotest-assertions-core-jvm-5.8.1.jar" } }, - "ch_epfl_scala_bsp4j_jar_sources_2_2_0_M1": { - "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_file", - "attributes": { - "name": "rules_jvm_external~override~maven~ch_epfl_scala_bsp4j_jar_sources_2_2_0_M1", - "sha256": "41cddede304e9439d98c193f3882b81b1c50ea77a20531949f79575b63e5401d", - "urls": [ - "https://repo.maven.apache.org/maven2/ch/epfl/scala/bsp4j/2.2.0-M1/bsp4j-2.2.0-M1-sources.jar", - "https://maven.google.com/ch/epfl/scala/bsp4j/2.2.0-M1/bsp4j-2.2.0-M1-sources.jar", - "https://repo1.maven.org/maven2/ch/epfl/scala/bsp4j/2.2.0-M1/bsp4j-2.2.0-M1-sources.jar" - ], - "downloaded_file_path": "ch/epfl/scala/bsp4j/2.2.0-M1/bsp4j-2.2.0-M1-sources.jar" - } - }, "org_jetbrains_kotlinx_kotlinx_coroutines_core_jvm_jar_sources_1_8_0": { "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", "ruleClassName": "http_file", @@ -3851,6 +3810,20 @@ "downloaded_file_path": "org/jetbrains/kotlin/kotlin-stdlib-common/1.9.22/kotlin-stdlib-common-1.9.22-sources.jar" } }, + "ch_epfl_scala_bsp4j_jar_sources_2_2_0_M2": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "name": "rules_jvm_external~override~maven~ch_epfl_scala_bsp4j_jar_sources_2_2_0_M2", + "sha256": "4c1108ffcd20efa4f46448fddc29249c1d4400ba4cfbc0f36135404b60269d61", + "urls": [ + "https://repo.maven.apache.org/maven2/ch/epfl/scala/bsp4j/2.2.0-M2/bsp4j-2.2.0-M2-sources.jar", + "https://maven.google.com/ch/epfl/scala/bsp4j/2.2.0-M2/bsp4j-2.2.0-M2-sources.jar", + "https://repo1.maven.org/maven2/ch/epfl/scala/bsp4j/2.2.0-M2/bsp4j-2.2.0-M2-sources.jar" + ], + "downloaded_file_path": "ch/epfl/scala/bsp4j/2.2.0-M2/bsp4j-2.2.0-M2-sources.jar" + } + }, "io_grpc_grpc_protobuf_lite_1_56_1": { "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", "ruleClassName": "http_file", @@ -4081,7 +4054,7 @@ "artifacts": [ "{ \"group\": \"com.google.code.gson\", \"artifact\": \"gson\", \"version\": \"2.10.1\" }", "{ \"group\": \"com.google.guava\", \"artifact\": \"guava\", \"version\": \"31.0.1-jre\" }", - "{ \"group\": \"ch.epfl.scala\", \"artifact\": \"bsp4j\", \"version\": \"2.2.0-M1\" }", + "{ \"group\": \"ch.epfl.scala\", \"artifact\": \"bsp4j\", \"version\": \"2.2.0-M2\" }", "{ \"group\": \"commons-io\", \"artifact\": \"commons-io\", \"version\": \"2.15.1\", \"packaging\": \"jar\" }", "{ \"group\": \"commons-cli\", \"artifact\": \"commons-cli\", \"version\": \"1.6.0\", \"packaging\": \"jar\" }", "{ \"group\": \"org.apache.logging.log4j\", \"artifact\": \"log4j-api\", \"version\": \"2.23.1\" }", @@ -4286,20 +4259,6 @@ "downloaded_file_path": "io/grpc/grpc-stub/1.56.1/grpc-stub-1.56.1.jar" } }, - "com_google_protobuf_protobuf_java_jar_sources_3_25_3": { - "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_file", - "attributes": { - "name": "rules_jvm_external~override~maven~com_google_protobuf_protobuf_java_jar_sources_3_25_3", - "sha256": "1bc9c4b7f5f5a89781ba06ca23ac651b979c3bfd93b2d60d8156ec2389017392", - "urls": [ - "https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-java/3.25.3/protobuf-java-3.25.3-sources.jar", - "https://maven.google.com/com/google/protobuf/protobuf-java/3.25.3/protobuf-java-3.25.3-sources.jar", - "https://repo1.maven.org/maven2/com/google/protobuf/protobuf-java/3.25.3/protobuf-java-3.25.3-sources.jar" - ], - "downloaded_file_path": "com/google/protobuf/protobuf-java/3.25.3/protobuf-java-3.25.3-sources.jar" - } - }, "com_google_guava_listenablefuture_9999_0_empty_to_avoid_conflict_with_guava": { "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", "ruleClassName": "http_file", @@ -4435,6 +4394,20 @@ "downloaded_file_path": "software/amazon/awssdk/utils/2.20.128/utils-2.20.128.jar" } }, + "com_google_protobuf_protobuf_java_jar_sources_4_26_0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "name": "rules_jvm_external~override~maven~com_google_protobuf_protobuf_java_jar_sources_4_26_0", + "sha256": "d6994524b2a029c05796a73f8feb911ff0b6221cc6c192fd7f1a641bcaa2f986", + "urls": [ + "https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-java/4.26.0/protobuf-java-4.26.0-sources.jar", + "https://maven.google.com/com/google/protobuf/protobuf-java/4.26.0/protobuf-java-4.26.0-sources.jar", + "https://repo1.maven.org/maven2/com/google/protobuf/protobuf-java/4.26.0/protobuf-java-4.26.0-sources.jar" + ], + "downloaded_file_path": "com/google/protobuf/protobuf-java/4.26.0/protobuf-java-4.26.0-sources.jar" + } + }, "io_netty_netty_resolver_4_1_94_Final": { "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", "ruleClassName": "http_file", @@ -4571,6 +4544,20 @@ "downloaded_file_path": "com/google/code/gson/gson/2.10.1/gson-2.10.1-sources.jar" } }, + "org_slf4j_slf4j_nop_jar_sources_2_0_12": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "name": "rules_jvm_external~override~maven~org_slf4j_slf4j_nop_jar_sources_2_0_12", + "sha256": "9421d6218a24fedfcd6735aa9cfab555aa752d5ff74b55152dc94daeba361924", + "urls": [ + "https://repo.maven.apache.org/maven2/org/slf4j/slf4j-nop/2.0.12/slf4j-nop-2.0.12-sources.jar", + "https://maven.google.com/org/slf4j/slf4j-nop/2.0.12/slf4j-nop-2.0.12-sources.jar", + "https://repo1.maven.org/maven2/org/slf4j/slf4j-nop/2.0.12/slf4j-nop-2.0.12-sources.jar" + ], + "downloaded_file_path": "org/slf4j/slf4j-nop/2.0.12/slf4j-nop-2.0.12-sources.jar" + } + }, "com_google_auto_value_auto_value_annotations_1_10_2": { "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", "ruleClassName": "http_file", @@ -4597,20 +4584,6 @@ "downloaded_file_path": "javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.jar" } }, - "org_slf4j_slf4j_nop_1_7_36": { - "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_file", - "attributes": { - "name": "rules_jvm_external~override~maven~org_slf4j_slf4j_nop_1_7_36", - "sha256": "c214958b07816cb4412b30c7bdbd4308ffdc6ba2a83767b8f3a9229cbd9274d6", - "urls": [ - "https://repo.maven.apache.org/maven2/org/slf4j/slf4j-nop/1.7.36/slf4j-nop-1.7.36.jar", - "https://maven.google.com/org/slf4j/slf4j-nop/1.7.36/slf4j-nop-1.7.36.jar", - "https://repo1.maven.org/maven2/org/slf4j/slf4j-nop/1.7.36/slf4j-nop-1.7.36.jar" - ], - "downloaded_file_path": "org/slf4j/slf4j-nop/1.7.36/slf4j-nop-1.7.36.jar" - } - }, "com_google_http_client_google_http_client_apache_v2_1_43_3": { "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", "ruleClassName": "http_file", @@ -5080,20 +5053,6 @@ "downloaded_file_path": "com/google/auth/google-auth-library-oauth2-http/1.19.0/google-auth-library-oauth2-http-1.19.0.jar" } }, - "org_slf4j_slf4j_api_jar_sources_1_7_36": { - "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_file", - "attributes": { - "name": "rules_jvm_external~override~maven~org_slf4j_slf4j_api_jar_sources_1_7_36", - "sha256": "15bc04357a3725b7a5153f132db71379f95e83b7b8590a86cc6d4ad77bfc150a", - "urls": [ - "https://repo.maven.apache.org/maven2/org/slf4j/slf4j-api/1.7.36/slf4j-api-1.7.36-sources.jar", - "https://maven.google.com/org/slf4j/slf4j-api/1.7.36/slf4j-api-1.7.36-sources.jar", - "https://repo1.maven.org/maven2/org/slf4j/slf4j-api/1.7.36/slf4j-api-1.7.36-sources.jar" - ], - "downloaded_file_path": "org/slf4j/slf4j-api/1.7.36/slf4j-api-1.7.36-sources.jar" - } - }, "com_google_truth_truth_1_1_2": { "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", "ruleClassName": "http_file", @@ -5435,20 +5394,6 @@ "downloaded_file_path": "org/objenesis/objenesis/3.2/objenesis-3.2.jar" } }, - "com_google_protobuf_protobuf_java_3_25_3": { - "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_file", - "attributes": { - "name": "rules_jvm_external~override~maven~com_google_protobuf_protobuf_java_3_25_3", - "sha256": "e90d8ddb963b20a972a6a59b5093ade2b07cbe546cab3279aaf4383260385f58", - "urls": [ - "https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-java/3.25.3/protobuf-java-3.25.3.jar", - "https://maven.google.com/com/google/protobuf/protobuf-java/3.25.3/protobuf-java-3.25.3.jar", - "https://repo1.maven.org/maven2/com/google/protobuf/protobuf-java/3.25.3/protobuf-java-3.25.3.jar" - ], - "downloaded_file_path": "com/google/protobuf/protobuf-java/3.25.3/protobuf-java-3.25.3.jar" - } - }, "org_junit_platform_junit_platform_reporting_1_10_2": { "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", "ruleClassName": "http_file", @@ -6342,20 +6287,6 @@ "downloaded_file_path": "io/kotest/kotest-assertions-api-jvm/5.8.1/kotest-assertions-api-jvm-5.8.1.jar" } }, - "org_slf4j_slf4j_api_1_7_36": { - "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_file", - "attributes": { - "name": "rules_jvm_external~override~maven~org_slf4j_slf4j_api_1_7_36", - "sha256": "d3ef575e3e4979678dc01bf1dcce51021493b4d11fb7f1be8ad982877c16a1c0", - "urls": [ - "https://repo.maven.apache.org/maven2/org/slf4j/slf4j-api/1.7.36/slf4j-api-1.7.36.jar", - "https://maven.google.com/org/slf4j/slf4j-api/1.7.36/slf4j-api-1.7.36.jar", - "https://repo1.maven.org/maven2/org/slf4j/slf4j-api/1.7.36/slf4j-api-1.7.36.jar" - ], - "downloaded_file_path": "org/slf4j/slf4j-api/1.7.36/slf4j-api-1.7.36.jar" - } - }, "io_grpc_grpc_protobuf_lite_1_62_2": { "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", "ruleClassName": "http_file", @@ -6425,7 +6356,7 @@ "artifacts": [ "{ \"group\": \"com.google.code.gson\", \"artifact\": \"gson\", \"version\": \"2.10.1\" }", "{ \"group\": \"com.google.guava\", \"artifact\": \"guava\", \"version\": \"31.0.1-jre\" }", - "{ \"group\": \"ch.epfl.scala\", \"artifact\": \"bsp4j\", \"version\": \"2.2.0-M1\" }", + "{ \"group\": \"ch.epfl.scala\", \"artifact\": \"bsp4j\", \"version\": \"2.2.0-M2\" }", "{ \"group\": \"commons-io\", \"artifact\": \"commons-io\", \"version\": \"2.15.1\", \"packaging\": \"jar\" }", "{ \"group\": \"commons-cli\", \"artifact\": \"commons-cli\", \"version\": \"1.6.0\", \"packaging\": \"jar\" }", "{ \"group\": \"org.apache.logging.log4j\", \"artifact\": \"log4j-api\", \"version\": \"2.23.1\" }", @@ -6505,6 +6436,20 @@ "downloaded_file_path": "software/amazon/awssdk/aws-query-protocol/2.20.128/aws-query-protocol-2.20.128.jar" } }, + "org_slf4j_slf4j_api_2_0_12": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "name": "rules_jvm_external~override~maven~org_slf4j_slf4j_api_2_0_12", + "sha256": "a79502b8abdfbd722846a27691226a4088682d6d35654f9b80e2a9ccacf7ed47", + "urls": [ + "https://repo.maven.apache.org/maven2/org/slf4j/slf4j-api/2.0.12/slf4j-api-2.0.12.jar", + "https://maven.google.com/org/slf4j/slf4j-api/2.0.12/slf4j-api-2.0.12.jar", + "https://repo1.maven.org/maven2/org/slf4j/slf4j-api/2.0.12/slf4j-api-2.0.12.jar" + ], + "downloaded_file_path": "org/slf4j/slf4j-api/2.0.12/slf4j-api-2.0.12.jar" + } + }, "org_junit_platform_junit_platform_launcher_1_10_2": { "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", "ruleClassName": "http_file", @@ -6795,6 +6740,20 @@ "downloaded_file_path": "org/eclipse/lsp4j/org.eclipse.lsp4j.generator/0.20.1/org.eclipse.lsp4j.generator-0.20.1-sources.jar" } }, + "org_slf4j_slf4j_nop_2_0_12": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "name": "rules_jvm_external~override~maven~org_slf4j_slf4j_nop_2_0_12", + "sha256": "828d622a52538efd2a460552d8cc345a7a19a9fd686390ced8040e30462897f2", + "urls": [ + "https://repo.maven.apache.org/maven2/org/slf4j/slf4j-nop/2.0.12/slf4j-nop-2.0.12.jar", + "https://maven.google.com/org/slf4j/slf4j-nop/2.0.12/slf4j-nop-2.0.12.jar", + "https://repo1.maven.org/maven2/org/slf4j/slf4j-nop/2.0.12/slf4j-nop-2.0.12.jar" + ], + "downloaded_file_path": "org/slf4j/slf4j-nop/2.0.12/slf4j-nop-2.0.12.jar" + } + }, "com_google_guava_guava_testlib_jar_sources_31_1_jre": { "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", "ruleClassName": "http_file", @@ -6837,31 +6796,31 @@ "downloaded_file_path": "org/mockito/mockito-core/4.3.1/mockito-core-4.3.1-sources.jar" } }, - "org_slf4j_slf4j_nop_jar_sources_1_7_36": { + "com_google_android_annotations_4_1_1_4": { "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", "ruleClassName": "http_file", "attributes": { - "name": "rules_jvm_external~override~maven~org_slf4j_slf4j_nop_jar_sources_1_7_36", - "sha256": "b86491d9a8bbc35fe6a6ecf267fc5168399496f5aeffae608ed0ca99736838e9", + "name": "rules_jvm_external~override~maven~com_google_android_annotations_4_1_1_4", + "sha256": "ba734e1e84c09d615af6a09d33034b4f0442f8772dec120efb376d86a565ae15", "urls": [ - "https://repo.maven.apache.org/maven2/org/slf4j/slf4j-nop/1.7.36/slf4j-nop-1.7.36-sources.jar", - "https://maven.google.com/org/slf4j/slf4j-nop/1.7.36/slf4j-nop-1.7.36-sources.jar", - "https://repo1.maven.org/maven2/org/slf4j/slf4j-nop/1.7.36/slf4j-nop-1.7.36-sources.jar" + "https://repo1.maven.org/maven2/com/google/android/annotations/4.1.1.4/annotations-4.1.1.4.jar", + "https://maven.google.com/com/google/android/annotations/4.1.1.4/annotations-4.1.1.4.jar" ], - "downloaded_file_path": "org/slf4j/slf4j-nop/1.7.36/slf4j-nop-1.7.36-sources.jar" + "downloaded_file_path": "com/google/android/annotations/4.1.1.4/annotations-4.1.1.4.jar" } }, - "com_google_android_annotations_4_1_1_4": { + "com_google_protobuf_protobuf_java_4_26_0": { "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", "ruleClassName": "http_file", "attributes": { - "name": "rules_jvm_external~override~maven~com_google_android_annotations_4_1_1_4", - "sha256": "ba734e1e84c09d615af6a09d33034b4f0442f8772dec120efb376d86a565ae15", + "name": "rules_jvm_external~override~maven~com_google_protobuf_protobuf_java_4_26_0", + "sha256": "2270d256392cb00f0988d8ad1a95bd27ca328cc4c768d1b6c870ef540e07928c", "urls": [ - "https://repo1.maven.org/maven2/com/google/android/annotations/4.1.1.4/annotations-4.1.1.4.jar", - "https://maven.google.com/com/google/android/annotations/4.1.1.4/annotations-4.1.1.4.jar" + "https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-java/4.26.0/protobuf-java-4.26.0.jar", + "https://maven.google.com/com/google/protobuf/protobuf-java/4.26.0/protobuf-java-4.26.0.jar", + "https://repo1.maven.org/maven2/com/google/protobuf/protobuf-java/4.26.0/protobuf-java-4.26.0.jar" ], - "downloaded_file_path": "com/google/android/annotations/4.1.1.4/annotations-4.1.1.4.jar" + "downloaded_file_path": "com/google/protobuf/protobuf-java/4.26.0/protobuf-java-4.26.0.jar" } }, "commons_codec_commons_codec_1_15": { @@ -6960,18 +6919,18 @@ "downloaded_file_path": "software/amazon/awssdk/annotations/2.20.128/annotations-2.20.128.jar" } }, - "ch_epfl_scala_bsp4j_2_2_0_M1": { + "ch_epfl_scala_bsp4j_2_2_0_M2": { "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", "ruleClassName": "http_file", "attributes": { - "name": "rules_jvm_external~override~maven~ch_epfl_scala_bsp4j_2_2_0_M1", - "sha256": "b21b471404f989c3351a6cd02160f3f7de7f7b7276ced6d65b192260c6a9ef04", + "name": "rules_jvm_external~override~maven~ch_epfl_scala_bsp4j_2_2_0_M2", + "sha256": "cf13ce15161190b2fa88dc646229979d3cfb48407c0ca5f4b866d1c32d9f5c19", "urls": [ - "https://repo.maven.apache.org/maven2/ch/epfl/scala/bsp4j/2.2.0-M1/bsp4j-2.2.0-M1.jar", - "https://maven.google.com/ch/epfl/scala/bsp4j/2.2.0-M1/bsp4j-2.2.0-M1.jar", - "https://repo1.maven.org/maven2/ch/epfl/scala/bsp4j/2.2.0-M1/bsp4j-2.2.0-M1.jar" + "https://repo.maven.apache.org/maven2/ch/epfl/scala/bsp4j/2.2.0-M2/bsp4j-2.2.0-M2.jar", + "https://maven.google.com/ch/epfl/scala/bsp4j/2.2.0-M2/bsp4j-2.2.0-M2.jar", + "https://repo1.maven.org/maven2/ch/epfl/scala/bsp4j/2.2.0-M2/bsp4j-2.2.0-M2.jar" ], - "downloaded_file_path": "ch/epfl/scala/bsp4j/2.2.0-M1/bsp4j-2.2.0-M1.jar" + "downloaded_file_path": "ch/epfl/scala/bsp4j/2.2.0-M2/bsp4j-2.2.0-M2.jar" } }, "io_netty_netty_transport_native_unix_common_4_1_94_Final": { @@ -7029,13 +6988,7 @@ } } }, - "recordedRepoMappingEntries": [ - [ - "rules_jvm_external~override", - "bazel_tools", - "bazel_tools" - ] - ] + "recordedRepoMappingEntries": [] } }, "@@rules_kotlin~1.9.1//src/main/starlark/core/repositories:bzlmod_setup.bzl%rules_kotlin_extensions": { diff --git a/maven_install.json b/maven_install.json index c66b71227..bb730dd35 100755 --- a/maven_install.json +++ b/maven_install.json @@ -1,8 +1,9 @@ { "__AUTOGENERATED_FILE_DO_NOT_MODIFY_THIS_FILE_MANUALLY": "THERE_IS_NO_DATA_ONLY_ZUUL", - "__INPUT_ARTIFACTS_HASH": -175229471, - "__RESOLVED_ARTIFACTS_HASH": 1516630770, + "__INPUT_ARTIFACTS_HASH": 1340442464, + "__RESOLVED_ARTIFACTS_HASH": -1828073000, "conflict_resolution": { + "ch.epfl.scala:bsp4j:2.2.0-M1": "ch.epfl.scala:bsp4j:2.2.0-M2", "com.google.code.gson:gson:2.8.9": "com.google.code.gson:gson:2.10.1", "com.google.errorprone:error_prone_annotations:2.3.2": "com.google.errorprone:error_prone_annotations:2.23.0", "com.google.guava:guava:31.0.1-jre": "com.google.guava:guava:32.1.3-android", @@ -15,10 +16,10 @@ "artifacts": { "ch.epfl.scala:bsp4j": { "shasums": { - "jar": "b21b471404f989c3351a6cd02160f3f7de7f7b7276ced6d65b192260c6a9ef04", - "sources": "41cddede304e9439d98c193f3882b81b1c50ea77a20531949f79575b63e5401d" + "jar": "cf13ce15161190b2fa88dc646229979d3cfb48407c0ca5f4b866d1c32d9f5c19", + "sources": "4c1108ffcd20efa4f46448fddc29249c1d4400ba4cfbc0f36135404b60269d61" }, - "version": "2.2.0-M1" + "version": "2.2.0-M2" }, "com.fasterxml.jackson.core:jackson-annotations": { "shasums": { diff --git a/protocol/src/main/kotlin/org/jetbrains/bsp/BazelBuildServerCapabilities.kt b/protocol/src/main/kotlin/org/jetbrains/bsp/BazelBuildServerCapabilities.kt index 9c99c61ab..5d495ccce 100644 --- a/protocol/src/main/kotlin/org/jetbrains/bsp/BazelBuildServerCapabilities.kt +++ b/protocol/src/main/kotlin/org/jetbrains/bsp/BazelBuildServerCapabilities.kt @@ -24,6 +24,7 @@ public class BazelBuildServerCapabilities( jvmRunEnvironmentProvider: Boolean = false, jvmTestEnvironmentProvider: Boolean = false, canReload: Boolean = false, + jvmCompileClasspathProvider: Boolean = false, public val workspaceLibrariesProvider: Boolean = false, public val workspaceDirectoriesProvider: Boolean = false, public val workspaceInvalidTargetsProvider: Boolean = false, @@ -44,5 +45,6 @@ public class BazelBuildServerCapabilities( this.jvmRunEnvironmentProvider = jvmRunEnvironmentProvider this.jvmTestEnvironmentProvider = jvmTestEnvironmentProvider this.canReload = canReload + this.jvmCompileClasspathProvider = jvmCompileClasspathProvider } } diff --git a/server/src/main/kotlin/org/jetbrains/bsp/bazel/server/bsp/BspServerApi.kt b/server/src/main/kotlin/org/jetbrains/bsp/bazel/server/bsp/BspServerApi.kt index afbab1593..7eb28c087 100644 --- a/server/src/main/kotlin/org/jetbrains/bsp/bazel/server/bsp/BspServerApi.kt +++ b/server/src/main/kotlin/org/jetbrains/bsp/bazel/server/bsp/BspServerApi.kt @@ -23,6 +23,8 @@ import ch.epfl.scala.bsp4j.JavaBuildServer import ch.epfl.scala.bsp4j.JavacOptionsParams import ch.epfl.scala.bsp4j.JavacOptionsResult import ch.epfl.scala.bsp4j.JvmBuildServer +import ch.epfl.scala.bsp4j.JvmCompileClasspathParams +import ch.epfl.scala.bsp4j.JvmCompileClasspathResult import ch.epfl.scala.bsp4j.JvmRunEnvironmentParams import ch.epfl.scala.bsp4j.JvmRunEnvironmentResult import ch.epfl.scala.bsp4j.JvmTestEnvironmentParams @@ -362,6 +364,17 @@ class BspServerApi(private val bazelServicesBuilder: (BuildClient) -> BazelServi ) } + override fun buildTargetJvmCompileClasspath(params: JvmCompileClasspathParams): CompletableFuture { + return runner.handleRequest( + "jvmCompileClasspath", + { cancelChecker: CancelChecker, params: JvmCompileClasspathParams -> + projectSyncService.jvmCompileClasspath( + cancelChecker, params + ) + }, params + ) + } + override fun buildTargetJvmTestEnvironment( params: JvmTestEnvironmentParams ): CompletableFuture { diff --git a/server/src/main/kotlin/org/jetbrains/bsp/bazel/server/sync/BspProjectMapper.kt b/server/src/main/kotlin/org/jetbrains/bsp/bazel/server/sync/BspProjectMapper.kt index 373425820..36cd57591 100644 --- a/server/src/main/kotlin/org/jetbrains/bsp/bazel/server/sync/BspProjectMapper.kt +++ b/server/src/main/kotlin/org/jetbrains/bsp/bazel/server/sync/BspProjectMapper.kt @@ -16,6 +16,9 @@ import ch.epfl.scala.bsp4j.InverseSourcesResult import ch.epfl.scala.bsp4j.JavacOptionsItem import ch.epfl.scala.bsp4j.JavacOptionsParams import ch.epfl.scala.bsp4j.JavacOptionsResult +import ch.epfl.scala.bsp4j.JvmCompileClasspathItem +import ch.epfl.scala.bsp4j.JvmCompileClasspathParams +import ch.epfl.scala.bsp4j.JvmCompileClasspathResult import ch.epfl.scala.bsp4j.JvmEnvironmentItem import ch.epfl.scala.bsp4j.JvmMainClass import ch.epfl.scala.bsp4j.JvmRunEnvironmentParams @@ -108,6 +111,7 @@ class BspProjectMapper( workspaceInvalidTargetsProvider = true, runWithDebugProvider = true, jvmBinaryJarsProvider = true, + jvmCompileClasspathProvider = true, ) return InitializeBuildResult( Constants.NAME, Constants.VERSION, Constants.BSP_VERSION, capabilities @@ -304,6 +308,15 @@ class BspProjectMapper( return JvmTestEnvironmentResult(result) } + fun jvmCompileClasspath( + project: Project, params: JvmCompileClasspathParams, cancelChecker: CancelChecker + ): JvmCompileClasspathResult { + val items = params.targets.collectClasspathForTargetsAndApply(project, cancelChecker) { module, ideClasspath -> + JvmCompileClasspathItem(BspMappings.toBspId(module), ideClasspath.map { it.toString() }) + } + return JvmCompileClasspathResult(items) + } + private fun getJvmEnvironmentItems( project: Project, targets: List, cancelChecker: CancelChecker ): List { diff --git a/server/src/main/kotlin/org/jetbrains/bsp/bazel/server/sync/ProjectSyncService.kt b/server/src/main/kotlin/org/jetbrains/bsp/bazel/server/sync/ProjectSyncService.kt index fe7b1f944..58b9fc1e1 100644 --- a/server/src/main/kotlin/org/jetbrains/bsp/bazel/server/sync/ProjectSyncService.kt +++ b/server/src/main/kotlin/org/jetbrains/bsp/bazel/server/sync/ProjectSyncService.kt @@ -11,6 +11,8 @@ import ch.epfl.scala.bsp4j.InverseSourcesParams import ch.epfl.scala.bsp4j.InverseSourcesResult import ch.epfl.scala.bsp4j.JavacOptionsParams import ch.epfl.scala.bsp4j.JavacOptionsResult +import ch.epfl.scala.bsp4j.JvmCompileClasspathParams +import ch.epfl.scala.bsp4j.JvmCompileClasspathResult import ch.epfl.scala.bsp4j.JvmRunEnvironmentParams import ch.epfl.scala.bsp4j.JvmRunEnvironmentResult import ch.epfl.scala.bsp4j.JvmTestEnvironmentParams @@ -120,6 +122,11 @@ class ProjectSyncService(private val bspMapper: BspProjectMapper, private val pr return bspMapper.jvmBinaryJars(project, params) } + fun jvmCompileClasspath(cancelChecker: CancelChecker, params: JvmCompileClasspathParams): JvmCompileClasspathResult { + val project = projectProvider.get(cancelChecker) + return bspMapper.jvmCompileClasspath(project, params, cancelChecker) + } + fun buildTargetJavacOptions(cancelChecker: CancelChecker, params: JavacOptionsParams): JavacOptionsResult { val project = projectProvider.get(cancelChecker) return bspMapper.buildTargetJavacOptions(project, params, cancelChecker)