From 6ce4d4e4678e0827750d7b4b08a94b9def5d95c3 Mon Sep 17 00:00:00 2001 From: Daniel Brauner <44034965+LeFrosch@users.noreply.github.com> Date: Tue, 22 Oct 2024 11:45:43 +0200 Subject: [PATCH 1/9] chore: bump CLion (#6921) --- MODULE.bazel | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/MODULE.bazel b/MODULE.bazel index 81650835607..1b1c7a29e17 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -371,9 +371,9 @@ http_archive( url = CLION_242_URL, ) -CLION_243_SHA = "9ae29314c8e3db62f0e65ee4328c818ef34190214145529b14ededf7637ab28d" +CLION_243_SHA = "b23a2e50b1e4e2e9ead4c6089cfb78cf3e14c891c6be39cdf655b287dd862d5f" -CLION_243_URL = "https://www.jetbrains.com/intellij-repository/snapshots/com/jetbrains/intellij/clion/clion/243.19420.28-EAP-SNAPSHOT/clion-243.19420.28-EAP-SNAPSHOT.zip" +CLION_243_URL = "https://www.jetbrains.com/intellij-repository/snapshots/com/jetbrains/intellij/clion/clion/243.20847.43-EAP-SNAPSHOT/clion-243.20847.43-EAP-SNAPSHOT.zip" http_archive( name = "clion_2024_3", From 0c77e97d986498199419ed856651f474cd137b31 Mon Sep 17 00:00:00 2001 From: Daniel Brauner <44034965+LeFrosch@users.noreply.github.com> Date: Tue, 22 Oct 2024 11:48:18 +0200 Subject: [PATCH 2/9] Use execroot for compiler working directory (#6911) Compiler is no longer run in the repository root but in the exec root. This is required for some custom toolchains because dependencies cannot be accessed from the repository root. --- .bazelrc | 4 +- clwb/BUILD | 9 +++- clwb/test_defs.bzl | 10 +++-- .../idea/blaze/clwb/LlvmToolchainTest.java | 45 +++++++++++++++++++ .../google/idea/blaze/clwb/SimpleTest.java | 5 +-- .../idea/blaze/clwb/VirtualIncludesTest.java | 24 ++++------ .../idea/blaze/clwb/base/Assertions.java | 44 +++++++++++++----- .../blaze/clwb/base/BazelVersionRule.java | 38 ++++++++++++++++ .../google/idea/blaze/clwb/base/OSRule.java | 29 ++++++++++++ .../idea/blaze/clwb/base/Statements.java | 28 ++++++++++++ .../projects/llvm_toolchain/MODULE.bazel | 10 +++++ clwb/tests/projects/llvm_toolchain/WORKSPACE | 0 clwb/tests/projects/llvm_toolchain/main/BUILD | 7 +++ .../llvm_toolchain/main/hello-world.cc | 6 +++ .../idea/blaze/cpp/BlazeCWorkspace.java | 2 +- 15 files changed, 225 insertions(+), 36 deletions(-) create mode 100644 clwb/tests/integrationtests/com/google/idea/blaze/clwb/LlvmToolchainTest.java create mode 100644 clwb/tests/integrationtests/com/google/idea/blaze/clwb/base/BazelVersionRule.java create mode 100644 clwb/tests/integrationtests/com/google/idea/blaze/clwb/base/OSRule.java create mode 100644 clwb/tests/integrationtests/com/google/idea/blaze/clwb/base/Statements.java create mode 100644 clwb/tests/projects/llvm_toolchain/MODULE.bazel create mode 100644 clwb/tests/projects/llvm_toolchain/WORKSPACE create mode 100644 clwb/tests/projects/llvm_toolchain/main/BUILD create mode 100644 clwb/tests/projects/llvm_toolchain/main/hello-world.cc diff --git a/.bazelrc b/.bazelrc index dc45a733ab9..bdc3930c974 100644 --- a/.bazelrc +++ b/.bazelrc @@ -3,8 +3,8 @@ build --tool_java_language_version=17 --tool_java_runtime_version=17 # Delete test data packages, needed for bazel integration tests. Update by running the following command: # bazel run @rules_bazel_integration_test//tools:update_deleted_packages -build --deleted_packages=aspect/testing/tests/src/com/google/idea/blaze/aspect/integration/testdata,clwb/tests/projects/simple/main,clwb/tests/projects/virtual_includes/lib/strip_absolut,clwb/tests/projects/virtual_includes/lib/strip_relative,clwb/tests/projects/virtual_includes/main -query --deleted_packages=aspect/testing/tests/src/com/google/idea/blaze/aspect/integration/testdata,clwb/tests/projects/simple/main,clwb/tests/projects/virtual_includes/lib/strip_absolut,clwb/tests/projects/virtual_includes/lib/strip_relative,clwb/tests/projects/virtual_includes/main +build --deleted_packages=aspect/testing/tests/src/com/google/idea/blaze/aspect/integration/testdata,clwb/tests/projects/simple/main,clwb/tests/projects/virtual_includes/lib/strip_absolut,clwb/tests/projects/virtual_includes/lib/strip_relative,clwb/tests/projects/virtual_includes/main,clwb/tests/projects/llvm_toolchain/main +query --deleted_packages=aspect/testing/tests/src/com/google/idea/blaze/aspect/integration/testdata,clwb/tests/projects/simple/main,clwb/tests/projects/virtual_includes/lib/strip_absolut,clwb/tests/projects/virtual_includes/lib/strip_relative,clwb/tests/projects/virtual_includes/main,clwb/tests/projects/llvm_toolchain/main common --enable_bzlmod common --enable_workspace # to load rules_scala from WORKSPACE.bzlmod diff --git a/clwb/BUILD b/clwb/BUILD index 6a9f8c7e558..d6897f410dd 100644 --- a/clwb/BUILD +++ b/clwb/BUILD @@ -174,10 +174,17 @@ clwb_integration_test( srcs = ["tests/integrationtests/com/google/idea/blaze/clwb/VirtualIncludesTest.java"], ) +clwb_integration_test( + name = "llvm_toolchain_integration_test", + project = "llvm_toolchain", + srcs = ["tests/integrationtests/com/google/idea/blaze/clwb/LlvmToolchainTest.java"], +) + test_suite( name = "integration_tests", tests = [ + ":llvm_toolchain_integration_test", ":simple_integration_test", ":virtual_includes_integration_test", ], -) \ No newline at end of file +) diff --git a/clwb/test_defs.bzl b/clwb/test_defs.bzl index 7d61650299d..41e24b9279a 100644 --- a/clwb/test_defs.bzl +++ b/clwb/test_defs.bzl @@ -57,12 +57,16 @@ def clwb_integration_test(name, project, srcs, deps = []): bazel_version = version, test_runner = ":" + runner, workspace_path = "tests/projects/" + project, - # disables automatic conversion of bazel target names to absolut windows paths by msys - env = {"MSYS_NO_PATHCONV": "true"}, + env = { + # disables automatic conversion of bazel target names to absolut windows paths by msys + "MSYS_NO_PATHCONV": "true", + # pass the bazel version to the test for RuleBazelVersion + "BIT_BAZEL_VERSION": version, + }, # inherit bash shell and visual studio path from host for windows additional_env_inherit = ["BAZEL_SH", "BAZEL_VC"], # add version specific arguments, since some older versions cannot handle newer flags - **version_specific_args.get(version, {}), + **version_specific_args.get(version, {}) ) native.test_suite( diff --git a/clwb/tests/integrationtests/com/google/idea/blaze/clwb/LlvmToolchainTest.java b/clwb/tests/integrationtests/com/google/idea/blaze/clwb/LlvmToolchainTest.java new file mode 100644 index 00000000000..111a0bc8a2e --- /dev/null +++ b/clwb/tests/integrationtests/com/google/idea/blaze/clwb/LlvmToolchainTest.java @@ -0,0 +1,45 @@ +package com.google.idea.blaze.clwb; + +import static com.google.common.truth.Truth.assertThat; +import static com.google.idea.blaze.clwb.base.Assertions.assertContainsHeader; +import static com.google.idea.blaze.clwb.base.Assertions.assertDefine; + +import com.google.idea.blaze.clwb.base.BazelVersionRule; +import com.google.idea.blaze.clwb.base.ClwbIntegrationTestCase; +import com.google.idea.blaze.clwb.base.OSRule; +import com.intellij.util.system.OS; +import com.jetbrains.cidr.lang.workspace.compiler.ClangCompilerKind; +import org.junit.Rule; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.JUnit4; + +@RunWith(JUnit4.class) +public class LlvmToolchainTest extends ClwbIntegrationTestCase { + + // llvm toolchain currently does not support windows, otherwise this test should be fine to run on windows + @Rule + public final OSRule osRule = new OSRule(OS.Linux, OS.macOS); + + // llvm toolchain currently only supports bazel 7+ + @Rule + public final BazelVersionRule bazelRule = new BazelVersionRule(7, 0); + + @Test + public void testClwb() { + final var errors = runSync(defaultSyncParams().build()); + errors.assertNoErrors(); + + checkCompiler(); + } + + private void checkCompiler() { + final var compilerSettings = findFileCompilerSettings("main/hello-world.cc"); + + assertThat(compilerSettings.getCompilerKind()).isEqualTo(ClangCompilerKind.INSTANCE); + assertDefine("__llvm__", compilerSettings).isNotEmpty(); + assertDefine("__VERSION__", compilerSettings).startsWith("\"Clang 19.1.0"); + + assertContainsHeader("iostream", compilerSettings); + } +} diff --git a/clwb/tests/integrationtests/com/google/idea/blaze/clwb/SimpleTest.java b/clwb/tests/integrationtests/com/google/idea/blaze/clwb/SimpleTest.java index 10fb3ed8a2a..81f14a17246 100644 --- a/clwb/tests/integrationtests/com/google/idea/blaze/clwb/SimpleTest.java +++ b/clwb/tests/integrationtests/com/google/idea/blaze/clwb/SimpleTest.java @@ -34,9 +34,6 @@ private void checkCompiler() { assertThat(compilerSettings.getCompilerKind()).isEqualTo(MSVCCompilerKind.INSTANCE); } - final var headersSearchRoots = compilerSettings.getHeadersSearchRoots().getAllRoots(); - assertThat(headersSearchRoots).isNotEmpty(); - - assertContainsHeader("iostream", headersSearchRoots); + assertContainsHeader("iostream", compilerSettings); } } diff --git a/clwb/tests/integrationtests/com/google/idea/blaze/clwb/VirtualIncludesTest.java b/clwb/tests/integrationtests/com/google/idea/blaze/clwb/VirtualIncludesTest.java index f8cd59e6b7e..6015f683bc9 100644 --- a/clwb/tests/integrationtests/com/google/idea/blaze/clwb/VirtualIncludesTest.java +++ b/clwb/tests/integrationtests/com/google/idea/blaze/clwb/VirtualIncludesTest.java @@ -4,13 +4,8 @@ import static com.google.idea.blaze.clwb.base.Assertions.assertContainsHeader; import com.google.idea.blaze.clwb.base.ClwbIntegrationTestCase; -import com.intellij.openapi.util.SystemInfo; import com.intellij.openapi.vfs.VirtualFile; -import com.jetbrains.cidr.lang.workspace.compiler.ClangCompilerKind; -import com.jetbrains.cidr.lang.workspace.compiler.GCCCompilerKind; -import com.jetbrains.cidr.lang.workspace.compiler.MSVCCompilerKind; -import com.jetbrains.cidr.lang.workspace.headerRoots.HeadersSearchRoot; -import java.util.List; +import com.jetbrains.cidr.lang.workspace.OCCompilerSettings; import org.jetbrains.annotations.Nullable; import org.junit.Test; import org.junit.runner.RunWith; @@ -27,7 +22,9 @@ public void testClwb() { checkIncludes(); } - private @Nullable VirtualFile findHeader(String fileName, List roots) { + private @Nullable VirtualFile findHeader(String fileName, OCCompilerSettings settings) { + final var roots = settings.getHeadersSearchRoots().getAllRoots(); + for (final var root : roots) { final var rootFile = root.getVirtualFile(); if (rootFile == null) continue; @@ -44,17 +41,14 @@ public void testClwb() { private void checkIncludes() { final var compilerSettings = findFileCompilerSettings("main/hello-world.cc"); - final var headersSearchRoots = compilerSettings.getHeadersSearchRoots().getAllRoots(); - assertThat(headersSearchRoots).isNotEmpty(); - - assertContainsHeader("strip_absolut/strip_absolut.h", headersSearchRoots); - assertContainsHeader("strip_absolut/generated.h", headersSearchRoots); - assertContainsHeader("strip_relative.h", headersSearchRoots); + assertContainsHeader("strip_absolut/strip_absolut.h", compilerSettings); + assertContainsHeader("strip_absolut/generated.h", compilerSettings); + assertContainsHeader("strip_relative.h", compilerSettings); assertThat(findProjectFile("lib/strip_absolut/strip_absolut.h")) - .isEqualTo(findHeader("strip_absolut/strip_absolut.h", headersSearchRoots)); + .isEqualTo(findHeader("strip_absolut/strip_absolut.h", compilerSettings)); assertThat(findProjectFile("lib/strip_relative/include/strip_relative.h")) - .isEqualTo(findHeader("strip_relative.h", headersSearchRoots)); + .isEqualTo(findHeader("strip_relative.h", compilerSettings)); } } diff --git a/clwb/tests/integrationtests/com/google/idea/blaze/clwb/base/Assertions.java b/clwb/tests/integrationtests/com/google/idea/blaze/clwb/base/Assertions.java index bece3f491ab..d4d08451d5e 100644 --- a/clwb/tests/integrationtests/com/google/idea/blaze/clwb/base/Assertions.java +++ b/clwb/tests/integrationtests/com/google/idea/blaze/clwb/base/Assertions.java @@ -3,27 +3,29 @@ import static com.google.common.truth.Truth.assertThat; import static com.google.common.truth.Truth.assertWithMessage; +import com.google.common.truth.StringSubject; import com.intellij.openapi.util.Ref; -import com.intellij.openapi.util.io.FileUtil; import com.intellij.openapi.util.text.StringUtil; import com.intellij.openapi.vfs.VirtualFile; -import com.intellij.psi.PsiFileSystemItem; +import com.jetbrains.cidr.lang.workspace.OCCompilerSettings; import com.jetbrains.cidr.lang.workspace.headerRoots.HeadersSearchRoot; -import com.jetbrains.cidr.lang.workspace.headerRoots.HeadersSearchRootProcessor; -import java.util.List; -import org.jetbrains.annotations.NotNull; +import java.util.regex.Pattern; public class Assertions { + private final static Pattern defineRx = Pattern.compile("#define ([^ ]+) ?(.*)"); - public static void assertContainsHeader(String fileName, List roots) { - assertContainsHeader(fileName, true, roots); + public static void assertContainsHeader(String fileName, OCCompilerSettings settings) { + assertContainsHeader(fileName, true, settings); } - public static void assertDoesntContainHeader(String fileName, List roots) { - assertContainsHeader(fileName, false, roots); + public static void assertDoesntContainHeader(String fileName, OCCompilerSettings settings) { + assertContainsHeader(fileName, false, settings); } - private static void assertContainsHeader(String fileName, boolean shouldContain, List roots) { + private static void assertContainsHeader(String fileName, boolean shouldContain, OCCompilerSettings settings) { + final var roots = settings.getHeadersSearchRoots().getAllRoots(); + assertThat(roots).isNotEmpty(); + final var found = new Ref(); final var foundIn = new Ref(); @@ -50,4 +52,26 @@ private static void assertContainsHeader(String fileName, boolean shouldContain, .isTrue(); } } + + public static StringSubject assertDefine(String symbol, OCCompilerSettings settings) { + final var defines = settings.getPreprocessorDefines(); + assertThat(defines).isNotEmpty(); + + for (final var define : defines) { + final var matcher = defineRx.matcher(define); + if (!matcher.find()) { + continue; + } + + final var defineSymbol = matcher.group(1); + if (defineSymbol == null || !defineSymbol.equals(symbol)) { + continue; + } + + final var defineValue = matcher.group(2); + return assertWithMessage(define).that(defineValue); + } + + return assertWithMessage("symbol is not defined: " + symbol).that((String) null); + } } diff --git a/clwb/tests/integrationtests/com/google/idea/blaze/clwb/base/BazelVersionRule.java b/clwb/tests/integrationtests/com/google/idea/blaze/clwb/base/BazelVersionRule.java new file mode 100644 index 00000000000..c6421952dbf --- /dev/null +++ b/clwb/tests/integrationtests/com/google/idea/blaze/clwb/base/BazelVersionRule.java @@ -0,0 +1,38 @@ +package com.google.idea.blaze.clwb.base; + +import com.google.idea.blaze.base.bazel.BazelVersion; +import org.junit.rules.TestRule; +import org.junit.runner.Description; +import org.junit.runners.model.Statement; + +public class BazelVersionRule implements TestRule { + + private final BazelVersion min; + + public BazelVersionRule(int major, int minor) { + this.min = new BazelVersion(major, minor, 0); + } + + @Override + public Statement apply(Statement base, Description description) { + final var bitBazelVersion = System.getenv("BIT_BAZEL_VERSION"); + if (bitBazelVersion == null) { + return Statements.fail("Could not find BIT_BAZEL_VERSION"); + } + + final var version = BazelVersion.parseVersion(bitBazelVersion); + if (version.isAtLeast(999, 0, 0)) { + return Statements.fail("Invalid BIT_BAZEL_VERSION: %s", bitBazelVersion); + } + + if (version.isAtLeast(min)) { + return base; + } else { + return Statements.message( + "Test '%s' does not run on bazel version %s", + description.getDisplayName(), + bitBazelVersion + ); + } + } +} diff --git a/clwb/tests/integrationtests/com/google/idea/blaze/clwb/base/OSRule.java b/clwb/tests/integrationtests/com/google/idea/blaze/clwb/base/OSRule.java new file mode 100644 index 00000000000..12033f5a3ef --- /dev/null +++ b/clwb/tests/integrationtests/com/google/idea/blaze/clwb/base/OSRule.java @@ -0,0 +1,29 @@ +package com.google.idea.blaze.clwb.base; + +import java.util.Arrays; +import org.junit.rules.TestRule; +import org.junit.runner.Description; +import org.junit.runners.model.Statement; +import com.intellij.util.system.OS; + +public class OSRule implements TestRule { + + private final OS[] supportedOS; + + public OSRule(OS... supportedOS) { + this.supportedOS = supportedOS; + } + + @Override + public Statement apply(Statement base, Description description) { + if (Arrays.stream(supportedOS).anyMatch(it -> it == OS.CURRENT)) { + return base; + } + + return Statements.message( + "Test '%s' does not run on %s", + description.getDisplayName(), + OS.CURRENT.name() + ); + } +} diff --git a/clwb/tests/integrationtests/com/google/idea/blaze/clwb/base/Statements.java b/clwb/tests/integrationtests/com/google/idea/blaze/clwb/base/Statements.java new file mode 100644 index 00000000000..262beb949bd --- /dev/null +++ b/clwb/tests/integrationtests/com/google/idea/blaze/clwb/base/Statements.java @@ -0,0 +1,28 @@ +package com.google.idea.blaze.clwb.base; + +import org.junit.runners.model.Statement; + +public class Statements { + + public static Statement message(String format, Object... args) { + final var message = String.format(format, args); + + return new Statement() { + @Override + public void evaluate() { + System.out.println(message); + } + }; + } + + public static Statement fail(String format, Object... args) { + final var message = String.format(format, args); + + return new Statement() { + @Override + public void evaluate() { + throw new AssertionError(message); + } + }; + } +} diff --git a/clwb/tests/projects/llvm_toolchain/MODULE.bazel b/clwb/tests/projects/llvm_toolchain/MODULE.bazel new file mode 100644 index 00000000000..9e4ad7c17a5 --- /dev/null +++ b/clwb/tests/projects/llvm_toolchain/MODULE.bazel @@ -0,0 +1,10 @@ +bazel_dep(name = "toolchains_llvm", version = "1.2.0") + +# Configure and register the toolchain. +llvm = use_extension("@toolchains_llvm//toolchain/extensions:llvm.bzl", "llvm") +llvm.toolchain( + llvm_version = "19.1.0", +) + +use_repo(llvm, "llvm_toolchain") +register_toolchains("@llvm_toolchain//:all") diff --git a/clwb/tests/projects/llvm_toolchain/WORKSPACE b/clwb/tests/projects/llvm_toolchain/WORKSPACE new file mode 100644 index 00000000000..e69de29bb2d diff --git a/clwb/tests/projects/llvm_toolchain/main/BUILD b/clwb/tests/projects/llvm_toolchain/main/BUILD new file mode 100644 index 00000000000..90c0fdbad6b --- /dev/null +++ b/clwb/tests/projects/llvm_toolchain/main/BUILD @@ -0,0 +1,7 @@ +load("@rules_cc//cc:defs.bzl", "cc_binary") + +cc_binary( + name = "hello-world", + srcs = ["hello-world.cc"], + visibility = ["//visibility:public"], +) diff --git a/clwb/tests/projects/llvm_toolchain/main/hello-world.cc b/clwb/tests/projects/llvm_toolchain/main/hello-world.cc new file mode 100644 index 00000000000..d9892794462 --- /dev/null +++ b/clwb/tests/projects/llvm_toolchain/main/hello-world.cc @@ -0,0 +1,6 @@ +#include + +int main() { + std::cout << "Hello, there!" << std::endl; + return 0; +} diff --git a/cpp/src/com/google/idea/blaze/cpp/BlazeCWorkspace.java b/cpp/src/com/google/idea/blaze/cpp/BlazeCWorkspace.java index 7ac235f6f8f..48ad60e305d 100644 --- a/cpp/src/com/google/idea/blaze/cpp/BlazeCWorkspace.java +++ b/cpp/src/com/google/idea/blaze/cpp/BlazeCWorkspace.java @@ -357,7 +357,7 @@ private WorkspaceModel calculateConfigurations( workspaceModifiable, id, id, - workspaceRoot.directory(), + blazeProjectData.getBlazeInfo().getExecutionRoot(), configLanguages, configSourceFiles); From 3a40e4ca0a757849b082395ced0a3ba0727239ca Mon Sep 17 00:00:00 2001 From: Mend Renovate Date: Wed, 23 Oct 2024 01:05:56 +0200 Subject: [PATCH 3/9] chore(deps): update dependency bazel to v7.4.0 (#6923) --- .bazelversion | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.bazelversion b/.bazelversion index af2c571ecd9..b616717999f 100644 --- a/.bazelversion +++ b/.bazelversion @@ -1 +1 @@ -7.3.2 \ No newline at end of file +7.4.0 \ No newline at end of file From 1d14ae1826cae92873d724b94901ada2d6070cfb Mon Sep 17 00:00:00 2001 From: Tomasz Pasternak Date: Wed, 23 Oct 2024 18:36:46 +0200 Subject: [PATCH 4/9] Update fastbuild.md (#6908) --- docs/fastbuild.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/fastbuild.md b/docs/fastbuild.md index 9e537df53eb..5301fa113e9 100644 --- a/docs/fastbuild.md +++ b/docs/fastbuild.md @@ -19,7 +19,7 @@ Follow these steps: ``` ## rules_java -Please use rules_java 8.1.0 or newer +Please use rules_java 7.12.2 or newer ## How to Use From 3e5835d082c8b794ec77b6d973bbf61018fc9f90 Mon Sep 17 00:00:00 2001 From: Mend Renovate Date: Wed, 23 Oct 2024 19:00:50 +0200 Subject: [PATCH 5/9] chore(deps): update dependency rules_python to v0.37.1 (#6924) Co-authored-by: Mai Hussien <70515749+mai93@users.noreply.github.com> --- MODULE.bazel | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MODULE.bazel b/MODULE.bazel index 1b1c7a29e17..3122c8da73a 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -15,7 +15,7 @@ bazel_dep( ) bazel_dep( name = "rules_python", - version = "0.37.0", + version = "0.37.1", ) python = use_extension("@rules_python//python/extensions:python.bzl", "python") From 665b54e4e7f61ca6e99b8d31fc4bce60a874a0c9 Mon Sep 17 00:00:00 2001 From: Evgenii Novozhilov Date: Wed, 23 Oct 2024 23:59:14 +0300 Subject: [PATCH 6/9] Do not decorate tabs for BUILD files in non-bazel projects (#6925) If a project isn't imported then do not try to decorate as otherwise tab name has a full path to file. --- .../idea/blaze/base/editor/BazelEditorTabTitleProvider.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/base/src/com/google/idea/blaze/base/editor/BazelEditorTabTitleProvider.java b/base/src/com/google/idea/blaze/base/editor/BazelEditorTabTitleProvider.java index 6f6e79e117a..e548c783e78 100644 --- a/base/src/com/google/idea/blaze/base/editor/BazelEditorTabTitleProvider.java +++ b/base/src/com/google/idea/blaze/base/editor/BazelEditorTabTitleProvider.java @@ -2,6 +2,7 @@ import com.google.idea.blaze.base.lang.buildfile.psi.BuildFile; import com.google.idea.blaze.base.settings.Blaze; +import com.google.idea.blaze.base.settings.BlazeImportSettings.ProjectType; import com.intellij.openapi.fileEditor.impl.EditorTabTitleProvider; import com.intellij.openapi.project.Project; import com.intellij.openapi.vfs.VirtualFile; @@ -15,6 +16,10 @@ private static boolean requiresDecoration(Project project, String fileName) { @Override public @Nullable String getEditorTabTitle(@NotNull Project project, @NotNull VirtualFile virtualFile) { + if (Blaze.getProjectType(project) == ProjectType.UNKNOWN) { + return null; + } + var fileName = virtualFile.getName(); if (!requiresDecoration(project, fileName)) { return null; From 2ebf847f7e8c109108bac81124ef62cebd888665 Mon Sep 17 00:00:00 2001 From: Mend Renovate Date: Thu, 24 Oct 2024 20:09:05 +0200 Subject: [PATCH 7/9] chore(deps): update dependency protobuf to v29.0-rc2 (#6927) --- MODULE.bazel | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MODULE.bazel b/MODULE.bazel index 3122c8da73a..95fd75e10a1 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -31,7 +31,7 @@ bazel_dep( ) bazel_dep( name = "protobuf", - version = "29.0-rc1", + version = "29.0-rc2", ) bazel_dep( name = "bazel_skylib", From 1f140911f0cfda0e6151e67a92daf118ab12471d Mon Sep 17 00:00:00 2001 From: Daniel Brauner <44034965+LeFrosch@users.noreply.github.com> Date: Fri, 25 Oct 2024 09:52:52 +0200 Subject: [PATCH 8/9] CLion support for cc_library implementation deps (#6919) Adds support for the implementation_deps field from cc_library. Closes #5149 --- .bazelrc | 4 ++-- aspect/intellij_info_impl.bzl | 9 ++++++++ .../idea/blaze/clwb/VirtualIncludesTest.java | 22 +++++++++++++++++++ .../virtual_includes/lib/impl_deps/BUILD | 9 ++++++++ .../virtual_includes/lib/impl_deps/impl.cc | 6 +++++ .../virtual_includes/lib/impl_deps/impl.h | 1 + .../lib/strip_absolut/{BUILD.bazel => BUILD} | 0 .../projects/virtual_includes/main/BUILD | 2 +- .../virtual_includes/main/hello-world.cc | 2 ++ 9 files changed, 52 insertions(+), 3 deletions(-) create mode 100644 clwb/tests/projects/virtual_includes/lib/impl_deps/BUILD create mode 100644 clwb/tests/projects/virtual_includes/lib/impl_deps/impl.cc create mode 100644 clwb/tests/projects/virtual_includes/lib/impl_deps/impl.h rename clwb/tests/projects/virtual_includes/lib/strip_absolut/{BUILD.bazel => BUILD} (100%) diff --git a/.bazelrc b/.bazelrc index bdc3930c974..241225ca28b 100644 --- a/.bazelrc +++ b/.bazelrc @@ -3,8 +3,8 @@ build --tool_java_language_version=17 --tool_java_runtime_version=17 # Delete test data packages, needed for bazel integration tests. Update by running the following command: # bazel run @rules_bazel_integration_test//tools:update_deleted_packages -build --deleted_packages=aspect/testing/tests/src/com/google/idea/blaze/aspect/integration/testdata,clwb/tests/projects/simple/main,clwb/tests/projects/virtual_includes/lib/strip_absolut,clwb/tests/projects/virtual_includes/lib/strip_relative,clwb/tests/projects/virtual_includes/main,clwb/tests/projects/llvm_toolchain/main -query --deleted_packages=aspect/testing/tests/src/com/google/idea/blaze/aspect/integration/testdata,clwb/tests/projects/simple/main,clwb/tests/projects/virtual_includes/lib/strip_absolut,clwb/tests/projects/virtual_includes/lib/strip_relative,clwb/tests/projects/virtual_includes/main,clwb/tests/projects/llvm_toolchain/main +build --deleted_packages=aspect/testing/tests/src/com/google/idea/blaze/aspect/integration/testdata,clwb/tests/projects/simple/main,clwb/tests/projects/virtual_includes/lib/strip_absolut,clwb/tests/projects/virtual_includes/lib/strip_relative,clwb/tests/projects/virtual_includes/main,clwb/tests/projects/llvm_toolchain/main,clwb/tests/projects/virtual_includes/lib/impl_deps +query --deleted_packages=aspect/testing/tests/src/com/google/idea/blaze/aspect/integration/testdata,clwb/tests/projects/simple/main,clwb/tests/projects/virtual_includes/lib/strip_absolut,clwb/tests/projects/virtual_includes/lib/strip_relative,clwb/tests/projects/virtual_includes/main,clwb/tests/projects/llvm_toolchain/main,clwb/tests/projects/virtual_includes/lib/impl_deps common --enable_bzlmod common --enable_workspace # to load rules_scala from WORKSPACE.bzlmod diff --git a/aspect/intellij_info_impl.bzl b/aspect/intellij_info_impl.bzl index add312f671e..9e10580839d 100644 --- a/aspect/intellij_info_impl.bzl +++ b/aspect/intellij_info_impl.bzl @@ -48,6 +48,7 @@ DEPS = [ "_cc_toolchain", # From cc rules "_stl", # From cc rules "malloc", # From cc_binary rules + "implementation_deps", # From cc_library rules "_java_toolchain", # From java rules "deps", "jars", # from java_import rules @@ -514,6 +515,14 @@ def collect_cpp_info(target, ctx, semantics, ide_info, ide_info_file, output_gro compilation_context = target[CcInfo].compilation_context + # Merge current compilation context with context of implementation dependencies. + if hasattr(ctx.rule.attr, "implementation_deps"): + implementation_deps = ctx.rule.attr.implementation_deps + compilation_context = cc_common.merge_compilation_contexts( + compilation_contexts = + [compilation_context] + [impl[CcInfo].compilation_context for impl in implementation_deps], + ) + c_info = struct_omit_none( header = headers, source = sources, diff --git a/clwb/tests/integrationtests/com/google/idea/blaze/clwb/VirtualIncludesTest.java b/clwb/tests/integrationtests/com/google/idea/blaze/clwb/VirtualIncludesTest.java index 6015f683bc9..c403394f530 100644 --- a/clwb/tests/integrationtests/com/google/idea/blaze/clwb/VirtualIncludesTest.java +++ b/clwb/tests/integrationtests/com/google/idea/blaze/clwb/VirtualIncludesTest.java @@ -20,6 +20,16 @@ public void testClwb() { errors.assertNoErrors(); checkIncludes(); + checkImplDeps(); + } + + @Override + protected String projectViewText() { + // required for bazel 5 + return super.projectViewText() + """ +build_flags: + --experimental_cc_implementation_deps + """; } private @Nullable VirtualFile findHeader(String fileName, OCCompilerSettings settings) { @@ -50,5 +60,17 @@ private void checkIncludes() { assertThat(findProjectFile("lib/strip_relative/include/strip_relative.h")) .isEqualTo(findHeader("strip_relative.h", compilerSettings)); + + assertThat(findProjectFile("lib/impl_deps/impl.h")) + .isEqualTo(findHeader("lib/impl_deps/impl.h", compilerSettings)); + } + + private void checkImplDeps() { + final var compilerSettings = findFileCompilerSettings("lib/impl_deps/impl.cc"); + + final var headersSearchRoots = compilerSettings.getHeadersSearchRoots().getAllRoots(); + assertThat(headersSearchRoots).isNotEmpty(); + + assertContainsHeader("strip_relative.h", compilerSettings); } } diff --git a/clwb/tests/projects/virtual_includes/lib/impl_deps/BUILD b/clwb/tests/projects/virtual_includes/lib/impl_deps/BUILD new file mode 100644 index 00000000000..84b858f5bbb --- /dev/null +++ b/clwb/tests/projects/virtual_includes/lib/impl_deps/BUILD @@ -0,0 +1,9 @@ +load("@rules_cc//cc:defs.bzl", "cc_library") + +cc_library( + name = "lib", + srcs = ["impl.cc"], + hdrs = ["impl.h"], + implementation_deps = ["//lib/strip_relative:lib"], + visibility = ["//visibility:public"], +) diff --git a/clwb/tests/projects/virtual_includes/lib/impl_deps/impl.cc b/clwb/tests/projects/virtual_includes/lib/impl_deps/impl.cc new file mode 100644 index 00000000000..c12f2107936 --- /dev/null +++ b/clwb/tests/projects/virtual_includes/lib/impl_deps/impl.cc @@ -0,0 +1,6 @@ +#include "impl.h" +#include "strip_relative.h" + +void impl_deps_function() { + strip_relative_function(); +} diff --git a/clwb/tests/projects/virtual_includes/lib/impl_deps/impl.h b/clwb/tests/projects/virtual_includes/lib/impl_deps/impl.h new file mode 100644 index 00000000000..7f0077eda88 --- /dev/null +++ b/clwb/tests/projects/virtual_includes/lib/impl_deps/impl.h @@ -0,0 +1 @@ +void impl_deps_function(); diff --git a/clwb/tests/projects/virtual_includes/lib/strip_absolut/BUILD.bazel b/clwb/tests/projects/virtual_includes/lib/strip_absolut/BUILD similarity index 100% rename from clwb/tests/projects/virtual_includes/lib/strip_absolut/BUILD.bazel rename to clwb/tests/projects/virtual_includes/lib/strip_absolut/BUILD diff --git a/clwb/tests/projects/virtual_includes/main/BUILD b/clwb/tests/projects/virtual_includes/main/BUILD index 0cc9c388aa8..1aec84cdf17 100644 --- a/clwb/tests/projects/virtual_includes/main/BUILD +++ b/clwb/tests/projects/virtual_includes/main/BUILD @@ -3,10 +3,10 @@ load("@rules_cc//cc:defs.bzl", "cc_binary") cc_binary( name = "hello-world", srcs = ["hello-world.cc"], - visibility = ["//visibility:public"], deps = [ "//lib/strip_absolut:lib", "//lib/strip_absolut:gen", "//lib/strip_relative:lib", + "//lib/impl_deps:lib", ] ) diff --git a/clwb/tests/projects/virtual_includes/main/hello-world.cc b/clwb/tests/projects/virtual_includes/main/hello-world.cc index c2429a20794..5e00ec6f380 100644 --- a/clwb/tests/projects/virtual_includes/main/hello-world.cc +++ b/clwb/tests/projects/virtual_includes/main/hello-world.cc @@ -1,10 +1,12 @@ #include "strip_absolut/strip_absolut.h" #include "strip_absolut/generated.h" #include "strip_relative.h" +#include "lib/impl_deps/impl.h" int main() { strip_absolut_function(); strip_relative_function(); + impl_deps_function(); return GENERATED_MACRO; } From 769797d016a791160f91e2bb8e8bc18ae82f53dc Mon Sep 17 00:00:00 2001 From: Tomasz Pasternak Date: Fri, 25 Oct 2024 10:48:07 +0200 Subject: [PATCH 9/9] chore: Bump JetBrains IDEs (#6926) --- MODULE.bazel | 64 ++++++++++++++++++++++++++-------------------------- 1 file changed, 32 insertions(+), 32 deletions(-) diff --git a/MODULE.bazel b/MODULE.bazel index 95fd75e10a1..37e5c5fc87e 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -195,9 +195,9 @@ http_archive( ) # The plugin api for intellij_ce_2024_1. This is required to build IJwB and run integration tests. -IC_241_SHA = "c8d4e8f6114af55286d43f69192c5699a61d0140bb148b49e87b08f42c602e9a" +IC_241_SHA = "eb4da488ca2c8cf019fa69f7b97129bf76ab36b8acccf08b0673a8eed53ab432" -IC_241_URL = "https://www.jetbrains.com/intellij-repository/releases/com/jetbrains/intellij/idea/ideaIC/2024.1.6/ideaIC-2024.1.6.zip" +IC_241_URL = "https://www.jetbrains.com/intellij-repository/releases/com/jetbrains/intellij/idea/ideaIC/2024.1.7/ideaIC-2024.1.7.zip" http_archive( name = "intellij_ce_2024_1", @@ -207,9 +207,9 @@ http_archive( ) # The plugin api for intellij_ce_2024_2. This is required to build IJwB and run integration tests. -IC_242_SHA = "7a958988c9b697e382c52fffce4eee3b31b80b4b5778d26afcc47b7055b16238" +IC_242_SHA = "4a64ee8c563d46dc03b1aec0d8ac32197632264e1d412ccd0c6fbf637191c7d3" -IC_242_URL = "https://www.jetbrains.com/intellij-repository/releases/com/jetbrains/intellij/idea/ideaIC/2024.2.3/ideaIC-2024.2.3.zip" +IC_242_URL = "https://www.jetbrains.com/intellij-repository/releases/com/jetbrains/intellij/idea/ideaIC/2024.2.4/ideaIC-2024.2.4.zip" http_archive( name = "intellij_ce_2024_2", @@ -219,9 +219,9 @@ http_archive( ) # The plugin api for intellij_ce_2024_2. This is required to build IJwB and run integration tests. -IC_243_SHA = "8d3494eb534182b9202e74d5cf4e0a90a2ab5c4128d836bdca4262b376ec7616" +IC_243_SHA = "4e88b8a3a14ded16edd9f25e86054d1a2300bee75908ab6e3ac5924f0de9981a" -IC_243_URL = "https://www.jetbrains.com/intellij-repository/snapshots/com/jetbrains/intellij/idea/ideaIC/243.19420.21-EAP-SNAPSHOT/ideaIC-243.19420.21-EAP-SNAPSHOT.zip" +IC_243_URL = "https://www.jetbrains.com/intellij-repository/snapshots/com/jetbrains/intellij/idea/ideaIC/243.20847.40-EAP-SNAPSHOT/ideaIC-243.20847.40-EAP-SNAPSHOT.zip" http_archive( name = "intellij_ce_2024_3", @@ -273,9 +273,9 @@ http_archive( url = IU_233_URL, ) -IU_241_SHA = "5041e22af26b2445dd69fc4690e41ede2fd1b7567e81c3dd0d035430ccf07cd9" +IU_241_SHA = "346f94ca6ebd9f44b702714529bdae9bf9e42725edce7c447c7872d9bd94190d" -IU_241_URL = "https://www.jetbrains.com/intellij-repository/releases/com/jetbrains/intellij/idea/ideaIU/2024.1.6/ideaIU-2024.1.6.zip" +IU_241_URL = "https://www.jetbrains.com/intellij-repository/releases/com/jetbrains/intellij/idea/ideaIU/2024.1.7/ideaIU-2024.1.7.zip" http_archive( name = "intellij_ue_2024_1", @@ -284,9 +284,9 @@ http_archive( url = IU_241_URL, ) -IU_242_SHA = "c9741904a0e6bdcde7edddeef54def338903d12e462eb2567e309c2e2628a493" +IU_242_SHA = "c25f193c82e679521d2b55f39d5a7c94e724091efb9c640691c1db1ae931962b" -IU_242_URL = "https://www.jetbrains.com/intellij-repository/releases/com/jetbrains/intellij/idea/ideaIU/2024.2.3/ideaIU-2024.2.3.zip" +IU_242_URL = "https://www.jetbrains.com/intellij-repository/releases/com/jetbrains/intellij/idea/ideaIU/2024.2.4/ideaIU-2024.2.4.zip" http_archive( name = "intellij_ue_2024_2", @@ -295,9 +295,9 @@ http_archive( url = IU_242_URL, ) -IU_243_SHA = "15a399e7a342ca7710b14e41fd6370d59976bdf92fc12162c039f6f0456d651d" +IU_243_SHA = "67ae15147a5ed9f9bf55ae86fb5affcb86f5acc74b9a0211a562b6cecf17b8b4" -IU_243_URL = "https://www.jetbrains.com/intellij-repository/snapshots/com/jetbrains/intellij/idea/ideaIU/243.19420.21-EAP-SNAPSHOT/ideaIU-243.19420.21-EAP-SNAPSHOT.zip" +IU_243_URL = "https://www.jetbrains.com/intellij-repository/snapshots/com/jetbrains/intellij/idea/ideaIU/243.20847.40-EAP-SNAPSHOT/ideaIU-243.20847.40-EAP-SNAPSHOT.zip" http_archive( name = "intellij_ue_2024_3", @@ -349,9 +349,9 @@ http_archive( url = CLION_233_URL, ) -CLION_241_SHA = "f022c54f76667710f234e27befd68c7628a6143faada1090c6c42f140b91db35" +CLION_241_SHA = "8638829fbaba7f3974fd9ff8da18adc7e7c2ba08063082dbc8548deeb435ca5e" -CLION_241_URL = "https://www.jetbrains.com/intellij-repository/releases/com/jetbrains/intellij/clion/clion/2024.1.5/clion-2024.1.5.zip" +CLION_241_URL = "https://www.jetbrains.com/intellij-repository/releases/com/jetbrains/intellij/clion/clion/2024.1.6/clion-2024.1.6.zip" http_archive( name = "clion_2024_1", @@ -401,9 +401,9 @@ http_archive( url = DEVKIT_233_URL, ) -DEVKIT_241_SHA = "039c34d683b995a79ef46b4899413bbd80ab622aec701d0b269f865033e7ff7d" +DEVKIT_241_SHA = "3103f6de79a17a7740fef010d0152464acb32266d617cafa47c05d7561f11eb3" -DEVKIT_241_URL = "https://plugins.jetbrains.com/maven/com/jetbrains/plugins/DevKit/241.18968.39/DevKit-241.18968.39.zip" +DEVKIT_241_URL = "https://plugins.jetbrains.com/maven/com/jetbrains/plugins/DevKit/241.19416.23/DevKit-241.19416.23.zip" http_archive( name = "devkit_2024_1", @@ -412,9 +412,9 @@ http_archive( url = DEVKIT_241_URL, ) -DEVKIT_243_SHA = "c81e3f218058245802bfe8402ab5d0fefb6ff5a7a9d2f3592d5320f6ab74a51b" +DEVKIT_243_SHA = "9cac6c7185c4adb47864d78aa8a3329ed062fb341b04494177ff0e4f051067fe" -DEVKIT_243_URL = "https://plugins.jetbrains.com/maven/com/jetbrains/plugins/DevKit/243.19420.21/DevKit-243.19420.21.zip" +DEVKIT_243_URL = "https://plugins.jetbrains.com/maven/com/jetbrains/plugins/DevKit/243.20847.40/DevKit-243.20847.40.zip" http_archive( name = "devkit_2024_3", @@ -423,9 +423,9 @@ http_archive( url = DEVKIT_243_URL, ) -DEVKIT_242_SHA = "a0dc3ab51811fd01b04fca6d8e2713c0d4d52c53c957207889aa6be7905e4b42" +DEVKIT_242_SHA = "628545e45a8b450527224105910deef6b2af568b084d2b3afbd1e8b75e561a70" -DEVKIT_242_URL = "https://plugins.jetbrains.com/maven/com/jetbrains/plugins/DevKit/242.23726.16/DevKit-242.23726.16.zip" +DEVKIT_242_URL = "https://plugins.jetbrains.com/maven/com/jetbrains/plugins/DevKit/242.23726.103/DevKit-242.23726.103.zip" http_archive( name = "devkit_2024_2", @@ -496,9 +496,9 @@ http_archive( url = PYTHON_PLUGIN_233_URL, ) -PYTHON_PLUGIN_241_URL = "https://plugins.jetbrains.com/maven/com/jetbrains/plugins/PythonCore/241.18034.55/PythonCore-241.18034.55.zip" +PYTHON_PLUGIN_241_URL = "https://plugins.jetbrains.com/maven/com/jetbrains/plugins/PythonCore/241.19416.15/PythonCore-241.19416.15.zip" -PYTHON_PLUGIN_241_SHA = "b315d56176463a5f44c8a2dbdcbd528126f5b8a851f82d328c51fd66f62170c1" +PYTHON_PLUGIN_241_SHA = "c66bd035b38e4b037e0b7c454a056d62944782c051dfe6b8ea61c0beed506732" http_archive( name = "python_2024_1", @@ -520,9 +520,9 @@ filegroup( ) """ -PYTHON_PLUGIN_242_URL = "https://plugins.jetbrains.com/maven/com/jetbrains/plugins/PythonCore/242.23726.16/PythonCore-242.23726.16.zip" +PYTHON_PLUGIN_242_URL = "https://plugins.jetbrains.com/maven/com/jetbrains/plugins/PythonCore/242.23726.103/PythonCore-242.23726.103.zip" -PYTHON_PLUGIN_242_SHA = "7680e21b0462f392d2953db541b74edec3c7688aa432633f8c088882c706cbbc" +PYTHON_PLUGIN_242_SHA = "b1bc98804fd09dd73ed2e1bb34f266289e8005729c59e71a4b2b05d470e12787" http_archive( name = "python_2024_2", @@ -531,9 +531,9 @@ http_archive( url = PYTHON_PLUGIN_242_URL, ) -PYTHON_PLUGIN_243_URL = "https://plugins.jetbrains.com/maven/com/jetbrains/plugins/PythonCore/243.19420.21/PythonCore-243.19420.21.zip" +PYTHON_PLUGIN_243_URL = "https://plugins.jetbrains.com/maven/com/jetbrains/plugins/PythonCore/243.20847.40/PythonCore-243.20847.40.zip" -PYTHON_PLUGIN_243_SHA = "a62e1a845b3de74d104e9fedc1cb88826b711061016cd313cb1f76f7afee4b2c" +PYTHON_PLUGIN_243_SHA = "1187db85488ae99276652ff28a84dd9bf66f471a4ea52397e9f84c2416448963" http_archive( name = "python_2024_3", @@ -620,9 +620,9 @@ http_archive( url = GO_PLUGIN_242_URL, ) -GO_PLUGIN_243_SHA = "98d70e34df0ceda37090d2931eb251a5ab61e394c4155192a7affc91eb299a2a" +GO_PLUGIN_243_SHA = "11256978c82f55e3a187405ab8c297e734905a2b7b21df2a1ef48b98f33ebadb" -GO_PLUGIN_243_URL = "https://plugins.jetbrains.com/maven/com/jetbrains/plugins/org.jetbrains.plugins.go/243.19420.21/org.jetbrains.plugins.go-243.19420.21.zip" +GO_PLUGIN_243_URL = "https://plugins.jetbrains.com/maven/com/jetbrains/plugins/org.jetbrains.plugins.go/243.20847.40/org.jetbrains.plugins.go-243.20847.40.zip" http_archive( name = "go_2024_3", @@ -702,9 +702,9 @@ http_archive( url = SCALA_PLUGIN_242_URL, ) -SCALA_PLUGIN_243_URL = "https://plugins.jetbrains.com/maven/com/jetbrains/plugins/org.intellij.scala/2024.3.5/org.intellij.scala-2024.3.5.zip" +SCALA_PLUGIN_243_URL = "https://plugins.jetbrains.com/maven/com/jetbrains/plugins/org.intellij.scala/2024.3.9/org.intellij.scala-2024.3.9.zip" -SCALA_PLUGIN_243_SHA = "2e46a224b046f8bdf04207f67b48b861f29d5431ba4ad611df2056f23b1e4de8" +SCALA_PLUGIN_243_SHA = "9ca695ac0af71c248d4584f9be3916e4ae373c42e981ccf9e84b618ade3a761c" http_archive( name = "scala_2024_3", @@ -746,9 +746,9 @@ http_archive( url = TOML_PLUGIN_242_URL, ) -TOML_PLUGIN_243_URL = "https://plugins.jetbrains.com/maven/com/jetbrains/plugins/org.toml.lang/243.19420.27/org.toml.lang-243.19420.27.zip" +TOML_PLUGIN_243_URL = "https://plugins.jetbrains.com/maven/com/jetbrains/plugins/org.toml.lang/243.20847.10/org.toml.lang-243.20847.10.zip" -TOML_PLUGIN_243_SHA = "188e4a64763bceb02f3512859f5cb8686a7c2634ae9450e70ada559441b452a8" +TOML_PLUGIN_243_SHA = "e95c814e79bb03fac39dca54dc6f9b9d53eeedda7701da104205d052f93d8346" http_archive( name = "toml_2024_3",