diff --git a/MODULE.bazel b/MODULE.bazel index fc688b980..ee92b6ffc 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", @@ -100,6 +100,7 @@ maven.install( lock_file = "//:maven_install.json", repositories = [ "https://repo.maven.apache.org/maven2", + "https://oss.sonatype.org/content/repositories/snapshots", ], ) use_repo( diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock index 0acef3527..0fccaadef 100644 --- a/MODULE.bazel.lock +++ b/MODULE.bazel.lock @@ -1,6 +1,6 @@ { "lockFileVersion": 3, - "moduleFileHash": "10cfa07e5c9582a3b475bcfb17f0f558c5eff64d82449e910ebab9637bdeaf93", + "moduleFileHash": "9bf5843199dfdb64ae88eab9f5e1452ebcb2c33b3da10ec7458dfcb96b99f1c3", "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", @@ -139,7 +139,8 @@ "fetch_sources": true, "lock_file": "//:maven_install.json", "repositories": [ - "https://repo.maven.apache.org/maven2" + "https://repo.maven.apache.org/maven2", + "https://oss.sonatype.org/content/repositories/snapshots" ] }, "devDependency": false, @@ -1754,14 +1755,7 @@ "url": "https://github.com/agluszak/bazel-bep-proto/releases/download/5.4.1/bazel-bep-protobuf.jar" } } - }, - "recordedRepoMappingEntries": [ - [ - "", - "bazel_tools", - "bazel_tools" - ] - ] + } } }, "@@apple_support~1.5.0//crosstool:setup.bzl%apple_cc_configure_extension": { @@ -1784,8 +1778,7 @@ "name": "apple_support~1.5.0~apple_cc_configure_extension~local_config_apple_cc_toolchains" } } - }, - "recordedRepoMappingEntries": [] + } } }, "@@bazel_features~1.1.1//private:extensions.bzl%version_extension": { @@ -1813,8 +1806,7 @@ } } } - }, - "recordedRepoMappingEntries": [] + } } }, "@@bazel_tools//tools/android:android_extensions.bzl%remote_android_tools_extensions": { @@ -1841,13 +1833,12 @@ "url": "https://maven.google.com/com/android/tools/r8/8.1.56/r8-8.1.56.jar" } } - }, - "recordedRepoMappingEntries": [] + } } }, "@@bazel_tools//tools/cpp:cc_configure.bzl%cc_configure_extension": { "general": { - "bzlTransitiveDigest": "mcsWHq3xORJexV5/4eCvNOLxFOQKV6eli3fkr+tEaqE=", + "bzlTransitiveDigest": "O9sf6ilKWU9Veed02jG9o2HM/xgV/UAyciuFBuxrFRY=", "accumulatedFileDigests": {}, "envVariables": {}, "generatedRepoSpecs": { @@ -1865,14 +1856,7 @@ "name": "bazel_tools~cc_configure_extension~local_config_cc_toolchains" } } - }, - "recordedRepoMappingEntries": [ - [ - "bazel_tools", - "bazel_tools", - "bazel_tools" - ] - ] + } } }, "@@bazel_tools//tools/osx:xcode_configure.bzl%xcode_configure_extension": { @@ -1890,8 +1874,7 @@ "remote_xcode": "" } } - }, - "recordedRepoMappingEntries": [] + } } }, "@@bazel_tools//tools/sh:sh_configure.bzl%sh_configure_extension": { @@ -1907,8 +1890,7 @@ "name": "bazel_tools~sh_configure_extension~local_config_sh" } } - }, - "recordedRepoMappingEntries": [] + } } }, "@@bazel_tools//tools/test:extensions.bzl%remote_coverage_tools_extension": { @@ -1928,13 +1910,12 @@ ] } } - }, - "recordedRepoMappingEntries": [] + } } }, "@@buildifier_prebuilt~6.0.0.1//:defs.bzl%buildifier_prebuilt_deps_extension": { "general": { - "bzlTransitiveDigest": "e/ywZz1v92DyiMnlC9hasz8Co0tsLhzEkfjuKBqw0WY=", + "bzlTransitiveDigest": "rw0w83IFOd+utieoxefELpxmQT7CxmI9Bd1pKxwbgZE=", "accumulatedFileDigests": {}, "envVariables": {}, "generatedRepoSpecs": { @@ -2050,19 +2031,7 @@ "sha256": "9ffa62ea1f55f420c36eeef1427f71a34a5d24332cb861753b2b59c66d6343e2" } } - }, - "recordedRepoMappingEntries": [ - [ - "buildifier_prebuilt~6.0.0.1", - "bazel_skylib", - "bazel_skylib~1.5.0" - ], - [ - "buildifier_prebuilt~6.0.0.1", - "bazel_tools", - "bazel_tools" - ] - ] + } } }, "@@gazelle~0.32.0//:extensions.bzl%go_deps": { @@ -2457,14 +2426,7 @@ "explicitRootModuleDirectDeps": [], "explicitRootModuleDirectDevDeps": [], "useAllRepos": "NO" - }, - "recordedRepoMappingEntries": [ - [ - "gazelle~0.32.0", - "bazel_tools", - "bazel_tools" - ] - ] + } } }, "@@gazelle~0.32.0//internal/bzlmod:non_module_deps.bzl%non_module_deps": { @@ -2490,14 +2452,7 @@ "go_env": {} } } - }, - "recordedRepoMappingEntries": [ - [ - "gazelle~0.32.0", - "bazel_gazelle_go_repository_cache", - "gazelle~0.32.0~non_module_deps~bazel_gazelle_go_repository_cache" - ] - ] + } } }, "@@rules_bazel_integration_test~0.23.0//:extensions.bzl%bazel_binaries": { @@ -2554,13 +2509,12 @@ "bazel_binaries" ], "useAllRepos": "NO" - }, - "recordedRepoMappingEntries": [] + } } }, "@@rules_go~0.41.0//go:extensions.bzl%go_sdk": { "general": { - "bzlTransitiveDigest": "kZQzc5M2J0wQinnS72B4HG2lcJyqP8zeW814pl4uHI8=", + "bzlTransitiveDigest": "QaU0mhA+aom4ENV5sBUAEDa9IQt53GtspLCjl89277c=", "accumulatedFileDigests": {}, "envVariables": {}, "generatedRepoSpecs": { @@ -2611,14 +2565,7 @@ ] } } - }, - "recordedRepoMappingEntries": [ - [ - "rules_go~0.41.0", - "bazel_tools", - "bazel_tools" - ] - ] + } } }, "@@rules_go~0.41.0//go/private:extensions.bzl%non_module_dependencies": { @@ -2821,19 +2768,12 @@ ] } } - }, - "recordedRepoMappingEntries": [ - [ - "rules_go~0.41.0", - "bazel_tools", - "bazel_tools" - ] - ] + } } }, "@@rules_java~7.4.0//java:extensions.bzl%toolchains": { "general": { - "bzlTransitiveDigest": "aBRZna7UIPTRv5GXYZ2u+AfFtxUOl9IjgmCeWzNSieQ=", + "bzlTransitiveDigest": "3XkmKCmRm9MOFQrLFwvRVtbIxcFnSDcsexf/Ak1YhoY=", "accumulatedFileDigests": {}, "envVariables": {}, "generatedRepoSpecs": { @@ -3368,26 +3308,14 @@ "build_file": "\nconfig_setting(\n name = \"prefix_version_setting\",\n values = {\"java_runtime_version\": \"remotejdk_21\"},\n visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n name = \"version_setting\",\n values = {\"java_runtime_version\": \"21\"},\n visibility = [\"//visibility:private\"],\n)\nalias(\n name = \"version_or_prefix_version_setting\",\n actual = select({\n \":version_setting\": \":version_setting\",\n \"//conditions:default\": \":prefix_version_setting\",\n }),\n visibility = [\"//visibility:private\"],\n)\ntoolchain(\n name = \"toolchain\",\n target_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:x86_64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n toolchain = \"@remotejdk21_win//:jdk\",\n)\ntoolchain(\n name = \"bootstrap_runtime_toolchain\",\n # These constraints are not required for correctness, but prevent fetches of remote JDK for\n # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n # the same configuration, this constraint will not result in toolchain resolution failures.\n exec_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:x86_64\"],\n target_settings = [\":version_or_prefix_version_setting\"],\n toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n toolchain = \"@remotejdk21_win//:jdk\",\n)\n" } } - }, - "recordedRepoMappingEntries": [ - [ - "rules_java~7.4.0", - "bazel_tools", - "bazel_tools" - ], - [ - "rules_java~7.4.0", - "remote_java_tools", - "rules_java~7.4.0~toolchains~remote_java_tools" - ] - ] + } } }, "@@rules_jvm_external~override//:extensions.bzl%maven": { "general": { - "bzlTransitiveDigest": "s2W5ZcoLzoufYyLA8qfOeY8rbHOnaUuzhfEOfZpvZ1Q=", + "bzlTransitiveDigest": "q/3hFFP0XekutkiqcPKS1PaCHEcxYQ3gyTeyeKh6JR8=", "accumulatedFileDigests": { - "@@//:maven_install.json": "53282dbcae4ade54d1fe8be6a2602cdfa36b7bb89ccdf2ec2692a7d8989347a3", + "@@//:maven_install.json": "1cbe4f07a5865038f8c352948b461bdf45f8a887db379fb80b479dee946111fb", "@@rules_jvm_external~override//:rules_jvm_external_deps_install.json": "f7b381f38c8e0e8529fe2aac36898ccc9b2a7f38aa0fecf911924163437f1752" }, "envVariables": {}, @@ -3595,6 +3523,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", @@ -3968,13 +3910,14 @@ "user_provided_name": "maven", "repositories": [ "{ \"repo_url\": \"https://repo.maven.apache.org/maven2\" }", + "{ \"repo_url\": \"https://oss.sonatype.org/content/repositories/snapshots\" }", "{ \"repo_url\": \"https://maven.google.com\" }", "{ \"repo_url\": \"https://repo1.maven.org/maven2\" }" ], "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\" }", @@ -4464,6 +4407,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", @@ -4490,20 +4447,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", @@ -4973,20 +4916,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", @@ -6221,20 +6150,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", @@ -6298,13 +6213,14 @@ "user_provided_name": "maven", "repositories": [ "{ \"repo_url\": \"https://repo.maven.apache.org/maven2\" }", + "{ \"repo_url\": \"https://oss.sonatype.org/content/repositories/snapshots\" }", "{ \"repo_url\": \"https://maven.google.com\" }", "{ \"repo_url\": \"https://repo1.maven.org/maven2\" }" ], "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\" }", @@ -6384,6 +6300,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", @@ -6674,6 +6604,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", @@ -6716,20 +6660,6 @@ "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": { - "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", - "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" - ], - "downloaded_file_path": "org/slf4j/slf4j-nop/1.7.36/slf4j-nop-1.7.36-sources.jar" - } - }, "com_google_android_annotations_4_1_1_4": { "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", "ruleClassName": "http_file", @@ -6894,14 +6824,7 @@ "downloaded_file_path": "com/fasterxml/jackson/core/jackson-annotations/2.17.0/jackson-annotations-2.17.0.jar" } } - }, - "recordedRepoMappingEntries": [ - [ - "rules_jvm_external~override", - "bazel_tools", - "bazel_tools" - ] - ] + } } }, "@@rules_jvm_external~override//:non-module-deps.bzl%non_module_deps": { @@ -6921,19 +6844,12 @@ ] } } - }, - "recordedRepoMappingEntries": [ - [ - "rules_jvm_external~override", - "bazel_tools", - "bazel_tools" - ] - ] + } } }, "@@rules_kotlin~1.9.1//src/main/starlark/core/repositories:bzlmod_setup.bzl%rules_kotlin_extensions": { "general": { - "bzlTransitiveDigest": "LE+QUTVTwppoAoZuVHfoNmyjA8HGWJdHmYvHJwFswd0=", + "bzlTransitiveDigest": "RMVBX977e2wts16a4mX/6oPLOuc7cruoJyjDCm9h3kc=", "accumulatedFileDigests": {}, "envVariables": {}, "generatedRepoSpecs": { @@ -6995,19 +6911,12 @@ "strip_version": "1.9.22-1.0.17" } } - }, - "recordedRepoMappingEntries": [ - [ - "rules_kotlin~1.9.1", - "bazel_tools", - "bazel_tools" - ] - ] + } } }, "@@rules_python~0.31.0//python/extensions:python.bzl%python": { "general": { - "bzlTransitiveDigest": "nfcQ92K2B0JOoUwqlGTKoGF7+XoHjDW/y8t8LMG8TE4=", + "bzlTransitiveDigest": "f7w5NtNlJQNvUAjWLx1u84T7m7xdTzgwLM/lNW+l6JY=", "accumulatedFileDigests": {}, "envVariables": {}, "generatedRepoSpecs": { @@ -7210,24 +7119,12 @@ "ignore_root_user_error": false } } - }, - "recordedRepoMappingEntries": [ - [ - "rules_python~0.31.0", - "bazel_skylib", - "bazel_skylib~1.5.0" - ], - [ - "rules_python~0.31.0", - "bazel_tools", - "bazel_tools" - ] - ] + } } }, "@@rules_python~0.31.0//python/private/bzlmod:internal_deps.bzl%internal_deps": { "general": { - "bzlTransitiveDigest": "YM6cXp9AuQVARYWBY5VPn25r/wLyW6Lq09HCAiVNngE=", + "bzlTransitiveDigest": "obq5GTY9rUSG3CoZv2CvfWgfNOhAnxuU8eG4oOM3lpY=", "accumulatedFileDigests": {}, "envVariables": {}, "generatedRepoSpecs": { @@ -7403,14 +7300,7 @@ "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:defs.bzl\", \"py_library\")\n\npy_library(\n name = \"lib\",\n srcs = glob([\"**/*.py\"]),\n data = glob([\"**/*\"], exclude=[\n # These entries include those put into user-installed dependencies by\n # data_exclude in /python/pip_install/tools/bazel.py\n # to avoid non-determinism following pip install's behavior.\n \"**/*.py\",\n \"**/*.pyc\",\n \"**/*.pyc.*\", # During pyc creation, temp files named *.pyc.NNN are created\n \"**/* *\",\n \"**/*.dist-info/RECORD\",\n \"BUILD\",\n \"WORKSPACE\",\n ]),\n # This makes this directory a top-level in the python import\n # search path for anything that depends on this.\n imports = [\".\"],\n)\n" } } - }, - "recordedRepoMappingEntries": [ - [ - "rules_python~0.31.0", - "bazel_tools", - "bazel_tools" - ] - ] + } } } } diff --git a/e2e/src/main/kotlin/org/jetbrains/bsp/bazel/BazelBspScalaProjectTest.kt b/e2e/src/main/kotlin/org/jetbrains/bsp/bazel/BazelBspScalaProjectTest.kt index 8b0134567..b9b99850c 100644 --- a/e2e/src/main/kotlin/org/jetbrains/bsp/bazel/BazelBspScalaProjectTest.kt +++ b/e2e/src/main/kotlin/org/jetbrains/bsp/bazel/BazelBspScalaProjectTest.kt @@ -3,6 +3,8 @@ package org.jetbrains.bsp.bazel import ch.epfl.scala.bsp4j.BuildTarget import ch.epfl.scala.bsp4j.BuildTargetCapabilities import ch.epfl.scala.bsp4j.BuildTargetIdentifier +import ch.epfl.scala.bsp4j.JvmCompileClasspathItem +import ch.epfl.scala.bsp4j.JvmCompileClasspathResult import ch.epfl.scala.bsp4j.WorkspaceBuildTargetsResult import ch.epfl.scala.bsp4j.ScalacOptionsItem import ch.epfl.scala.bsp4j.ScalacOptionsParams @@ -49,4 +51,24 @@ object BazelBspScalaProjectTest : BazelBspTestBaseScenario() { } } +// private fun jvmClasspathResults(): BazelBspTestScenarioStep { +// val expectedTargetIdentifiers = expectedTargetIdentifiers().filter { it.uri != "bsp-workspace-root" } +// val expectedClasspathItems= expectedTargetIdentifiers.map { +// JvmCompileClasspathItem( +// it, +// listOf( +// "file://\$BAZEL_OUTPUT_BASE_PATH/execroot/__main__/bazel-out/k8-fastbuild/bin/scala_targets/library.jar", +// +// ), +// } +// val expectedScalaOptionsResult = JvmCompileClasspathResult(expectedClasspathItems) +// val scalaOptionsParams = ScalacOptionsParams(expectedTargetIdentifiers) +// +// return BazelBspTestScenarioStep( +// "scalaOptions results" +// ) { +// testClient.testScalacOptions(60.seconds, scalaOptionsParams, expectedScalaOptionsResult) +// } +// } + } diff --git a/maven_install.json b/maven_install.json index 766f6f038..125150991 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": 1457657702, - "__RESOLVED_ARTIFACTS_HASH": -1324999880, + "__INPUT_ARTIFACTS_HASH": 1107962599, + "__RESOLVED_ARTIFACTS_HASH": -2054570936, "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": { @@ -1708,6 +1709,151 @@ "org.slf4j:slf4j-nop", "org.slf4j:slf4j-nop:jar:sources" ], + "https://oss.sonatype.org/content/repositories/snapshots/": [ + "ch.epfl.scala:bsp4j", + "ch.epfl.scala:bsp4j:jar:sources", + "com.fasterxml.jackson.core:jackson-annotations", + "com.fasterxml.jackson.core:jackson-annotations:jar:sources", + "com.fasterxml.jackson.core:jackson-core", + "com.fasterxml.jackson.core:jackson-core:jar:sources", + "com.fasterxml.jackson.core:jackson-databind", + "com.fasterxml.jackson.core:jackson-databind:jar:sources", + "com.fasterxml.jackson.module:jackson-module-kotlin", + "com.fasterxml.jackson.module:jackson-module-kotlin:jar:sources", + "com.google.api.grpc:proto-google-common-protos", + "com.google.api.grpc:proto-google-common-protos:jar:sources", + "com.google.auto.value:auto-value-annotations", + "com.google.auto.value:auto-value-annotations:jar:sources", + "com.google.code.findbugs:jsr305", + "com.google.code.findbugs:jsr305:jar:sources", + "com.google.code.gson:gson", + "com.google.code.gson:gson:jar:sources", + "com.google.errorprone:error_prone_annotations", + "com.google.errorprone:error_prone_annotations:jar:sources", + "com.google.guava:failureaccess", + "com.google.guava:failureaccess:jar:sources", + "com.google.guava:guava", + "com.google.guava:guava-testlib", + "com.google.guava:guava-testlib:jar:sources", + "com.google.guava:guava:jar:sources", + "com.google.guava:listenablefuture", + "com.google.j2objc:j2objc-annotations", + "com.google.j2objc:j2objc-annotations:jar:sources", + "com.google.protobuf:protobuf-java", + "com.google.protobuf:protobuf-java:jar:sources", + "com.google.truth:truth", + "com.google.truth:truth:jar:sources", + "commons-cli:commons-cli", + "commons-cli:commons-cli:jar:sources", + "commons-io:commons-io", + "commons-io:commons-io:jar:sources", + "io.github.java-diff-utils:java-diff-utils", + "io.github.java-diff-utils:java-diff-utils:jar:sources", + "io.grpc:grpc-api", + "io.grpc:grpc-api:jar:sources", + "io.grpc:grpc-protobuf", + "io.grpc:grpc-protobuf-lite", + "io.grpc:grpc-protobuf-lite:jar:sources", + "io.grpc:grpc-protobuf:jar:sources", + "io.grpc:grpc-stub", + "io.grpc:grpc-stub:jar:sources", + "io.kotest:kotest-assertions-api-jvm", + "io.kotest:kotest-assertions-api-jvm:jar:sources", + "io.kotest:kotest-assertions-core-jvm", + "io.kotest:kotest-assertions-core-jvm:jar:sources", + "io.kotest:kotest-assertions-shared-jvm", + "io.kotest:kotest-assertions-shared-jvm:jar:sources", + "io.kotest:kotest-common-jvm", + "io.kotest:kotest-common-jvm:jar:sources", + "junit:junit", + "junit:junit:jar:sources", + "net.bytebuddy:byte-buddy", + "net.bytebuddy:byte-buddy-agent", + "net.bytebuddy:byte-buddy-agent:jar:sources", + "net.bytebuddy:byte-buddy:jar:sources", + "org.apache.commons:commons-lang3", + "org.apache.commons:commons-lang3:jar:sources", + "org.apache.logging.log4j:log4j-api", + "org.apache.logging.log4j:log4j-api:jar:sources", + "org.apache.logging.log4j:log4j-core", + "org.apache.logging.log4j:log4j-core:jar:sources", + "org.apache.velocity:velocity-engine-core", + "org.apache.velocity:velocity-engine-core:jar:sources", + "org.apiguardian:apiguardian-api", + "org.apiguardian:apiguardian-api:jar:sources", + "org.checkerframework:checker-qual", + "org.checkerframework:checker-qual:jar:sources", + "org.eclipse.lsp4j:org.eclipse.lsp4j.generator", + "org.eclipse.lsp4j:org.eclipse.lsp4j.generator:jar:sources", + "org.eclipse.lsp4j:org.eclipse.lsp4j.jsonrpc", + "org.eclipse.lsp4j:org.eclipse.lsp4j.jsonrpc:jar:sources", + "org.eclipse.xtend:org.eclipse.xtend.lib", + "org.eclipse.xtend:org.eclipse.xtend.lib.macro", + "org.eclipse.xtend:org.eclipse.xtend.lib.macro:jar:sources", + "org.eclipse.xtend:org.eclipse.xtend.lib:jar:sources", + "org.eclipse.xtext:org.eclipse.xtext.xbase.lib", + "org.eclipse.xtext:org.eclipse.xtext.xbase.lib:jar:sources", + "org.hamcrest:hamcrest-core", + "org.hamcrest:hamcrest-core:jar:sources", + "org.jetbrains.kotlin:kotlin-reflect", + "org.jetbrains.kotlin:kotlin-reflect:jar:sources", + "org.jetbrains.kotlin:kotlin-stdlib", + "org.jetbrains.kotlin:kotlin-stdlib-common", + "org.jetbrains.kotlin:kotlin-stdlib-common:jar:sources", + "org.jetbrains.kotlin:kotlin-stdlib-jdk7", + "org.jetbrains.kotlin:kotlin-stdlib-jdk7:jar:sources", + "org.jetbrains.kotlin:kotlin-stdlib-jdk8", + "org.jetbrains.kotlin:kotlin-stdlib-jdk8:jar:sources", + "org.jetbrains.kotlin:kotlin-stdlib:jar:sources", + "org.jetbrains.kotlinx:kotlinx-coroutines-core", + "org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm", + "org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:jar:sources", + "org.jetbrains.kotlinx:kotlinx-coroutines-core:jar:sources", + "org.jetbrains.kotlinx:kotlinx-coroutines-jdk8", + "org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:jar:sources", + "org.jetbrains.kotlinx:kotlinx-coroutines-test", + "org.jetbrains.kotlinx:kotlinx-coroutines-test-jvm", + "org.jetbrains.kotlinx:kotlinx-coroutines-test-jvm:jar:sources", + "org.jetbrains.kotlinx:kotlinx-coroutines-test:jar:sources", + "org.jetbrains.kotlinx:kotlinx-serialization-core-jvm", + "org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:jar:sources", + "org.jetbrains.kotlinx:kotlinx-serialization-json", + "org.jetbrains.kotlinx:kotlinx-serialization-json-jvm", + "org.jetbrains.kotlinx:kotlinx-serialization-json-jvm:jar:sources", + "org.jetbrains.kotlinx:kotlinx-serialization-json:jar:sources", + "org.jetbrains:annotations", + "org.jetbrains:annotations:jar:sources", + "org.junit.jupiter:junit-jupiter", + "org.junit.jupiter:junit-jupiter-api", + "org.junit.jupiter:junit-jupiter-api:jar:sources", + "org.junit.jupiter:junit-jupiter-engine", + "org.junit.jupiter:junit-jupiter-engine:jar:sources", + "org.junit.jupiter:junit-jupiter-params", + "org.junit.jupiter:junit-jupiter-params:jar:sources", + "org.junit.jupiter:junit-jupiter:jar:sources", + "org.junit.platform:junit-platform-commons", + "org.junit.platform:junit-platform-commons:jar:sources", + "org.junit.platform:junit-platform-console", + "org.junit.platform:junit-platform-console:jar:sources", + "org.junit.platform:junit-platform-engine", + "org.junit.platform:junit-platform-engine:jar:sources", + "org.junit.platform:junit-platform-launcher", + "org.junit.platform:junit-platform-launcher:jar:sources", + "org.junit.platform:junit-platform-reporting", + "org.junit.platform:junit-platform-reporting:jar:sources", + "org.mockito:mockito-core", + "org.mockito:mockito-core:jar:sources", + "org.objenesis:objenesis", + "org.objenesis:objenesis:jar:sources", + "org.opentest4j:opentest4j", + "org.opentest4j:opentest4j:jar:sources", + "org.ow2.asm:asm", + "org.ow2.asm:asm:jar:sources", + "org.slf4j:slf4j-api", + "org.slf4j:slf4j-api:jar:sources", + "org.slf4j:slf4j-nop", + "org.slf4j:slf4j-nop:jar:sources" + ], "https://maven.google.com/": [ "ch.epfl.scala:bsp4j", "ch.epfl.scala:bsp4j:jar:sources", diff --git a/protocol/src/main/kotlin/org/jetbrains/bsp/BazelBuildServerCapabilities.kt b/protocol/src/main/kotlin/org/jetbrains/bsp/BazelBuildServerCapabilities.kt index 30d0fbc30..df85acecf 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, @@ -43,5 +44,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/BUILD b/server/src/main/kotlin/org/jetbrains/bsp/bazel/BUILD index e079d0b5a..af690d9bd 100644 --- a/server/src/main/kotlin/org/jetbrains/bsp/bazel/BUILD +++ b/server/src/main/kotlin/org/jetbrains/bsp/bazel/BUILD @@ -3,7 +3,7 @@ load("@bazel_sonatype//:defs.bzl", "sonatype_java_export") sonatype_java_export( name = "bsp", srcs = glob(["*.java"]), - maven_coordinates = "org.jetbrains.bsp:bazel-bsp:3.1.0", + maven_coordinates = "org.jetbrains.bsp:bazel-bsp:300.1.0", maven_profile = "org.jetbrains", pom_template = "//server/src/main/resources:pom.xml", resources = ["//log4j_config"], 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 8f4a775fe..aa900a9fa 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 @@ -350,6 +352,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 25cb2f84f..3c363df87 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 @@ -102,7 +105,8 @@ class BspProjectMapper( workspaceLibrariesProvider = true, workspaceDirectoriesProvider = true, workspaceInvalidTargetsProvider = true, - runWithDebugProvider = true + runWithDebugProvider = true, + jvmCompileClasspathProvider = true, ) return InitializeBuildResult( Constants.NAME, Constants.VERSION, Constants.BSP_VERSION, capabilities @@ -188,7 +192,7 @@ class BspProjectMapper( val canTest = module.tags.contains(Tag.TEST) && !module.tags.contains(Tag.MANUAL) val canRun = module.tags.contains(Tag.APPLICATION) && !module.tags.contains(Tag.MANUAL) 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 } + return BuildTargetCapabilities().also { it.canCompile = canCompile; it.canTest = canTest; it.canRun = canRun; it.canDebug = canDebug; } } private fun isBuildableIfManual(module: Module): Boolean = @@ -300,6 +304,14 @@ class BspProjectMapper( val result = getJvmEnvironmentItems(project, targets, cancelChecker) 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 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 8ff5a3113..0d4d7bc3d 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 @@ -113,6 +115,11 @@ class ProjectSyncService(private val bspMapper: BspProjectMapper, private val pr return bspMapper.jvmTestEnvironment(project, params, cancelChecker) } + 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)