From f9c39173cd3e48f727e637462c7dd4d67410f06d Mon Sep 17 00:00:00 2001 From: Tomasz Pasternak Date: Tue, 1 Oct 2024 11:03:07 +0200 Subject: [PATCH] chore: Aspect templating - 3/n - pass 'Project' to AspectRepositoryProvider We will need to have project-specific aspects --- .../idea/blaze/base/command/BlazeCommand.java | 13 +++++++------ .../base/command/info/BlazeInfoRunnerImpl.java | 2 +- .../blaze/base/command/mod/BlazeModRunnerImpl.java | 2 +- .../BlazeQueryDirectoryToTargetProvider.java | 2 +- .../BlazeQuerySourceToTargetProvider.java | 2 +- .../blaze/base/qsync/BazelAppInspectorBuilder.java | 2 +- .../blaze/base/qsync/BazelDependencyBuilder.java | 2 +- .../idea/blaze/base/qsync/BazelQueryRunner.java | 2 +- .../blaze/base/qsync/BazelRenderJarBuilder.java | 2 +- .../blaze/base/qsync/CandidatePackageFinder.java | 2 +- .../blaze/base/run/BlazeBeforeRunCommandHelper.java | 2 +- .../BlazeCommandGenericRunConfigurationRunner.java | 2 +- .../sync/actions/CleanProjectTargetsSyncAction.java | 2 +- .../sync/aspects/BlazeIdeInterfaceAspectsImpl.java | 2 +- .../aspects/strategy/AspectRepositoryProvider.java | 12 +++++++----- .../sync/aspects/strategy/AspectStrategyBazel.java | 4 +++- .../base/sync/sharding/WildcardTargetExpander.java | 2 +- .../idea/blaze/base/command/BlazeCommandTest.java | 10 +++++----- .../sync/aspects/strategy/AspectStrategyTest.java | 4 ++-- .../idea/blaze/clwb/run/BlazeCidrLauncher.java | 3 ++- .../clwb/base/TestAspectRepositoryProvider.java | 9 ++++++++- .../cpp/XcodeCompilerSettingsProviderImpl.java | 6 +++--- .../google/idea/blaze/gazelle/GazelleRunner.java | 9 ++++++--- .../idea/blaze/gazelle/GazelleRunnerImpl.java | 7 +++++-- .../idea/blaze/gazelle/GazelleSyncListener.java | 3 ++- .../blaze/gazelle/sync/RunGazelleOnSyncTest.java | 6 ++++-- .../blaze/java/fastbuild/FastBuildServiceImpl.java | 2 +- .../blaze/java/run/BlazeJavaRunProfileState.java | 2 +- .../java/run/BlazeJavaRunProfileStateTest.java | 2 +- .../blaze/typescript/BlazeTypescriptSyncPlugin.java | 2 +- .../run/BuildPluginBeforeRunTaskProvider.java | 2 +- .../GenerateDeployableJarTaskProvider.java | 2 +- 32 files changed, 74 insertions(+), 52 deletions(-) diff --git a/base/src/com/google/idea/blaze/base/command/BlazeCommand.java b/base/src/com/google/idea/blaze/base/command/BlazeCommand.java index 5d7cf03d253..d2c0b68c9e8 100644 --- a/base/src/com/google/idea/blaze/base/command/BlazeCommand.java +++ b/base/src/com/google/idea/blaze/base/command/BlazeCommand.java @@ -21,6 +21,7 @@ import com.google.idea.blaze.base.bazel.BuildSystem.BuildInvoker; import com.google.idea.blaze.base.model.primitives.TargetExpression; import com.google.idea.blaze.base.sync.aspects.strategy.AspectRepositoryProvider; +import com.intellij.openapi.project.Project; import java.nio.file.Path; import java.util.Arrays; @@ -81,16 +82,16 @@ public String toString() { return Joiner.on(' ').join(toList()); } - public static Builder builder(BuildInvoker invoker, BlazeCommandName name) { - return new Builder(invoker.getBinaryPath(), name); + public static Builder builder(BuildInvoker invoker, BlazeCommandName name, Project project) { + return new Builder(invoker.getBinaryPath(), name, project); } /** * @deprecated Use {@link #builder(BuildInvoker, BlazeCommandName)} instead. */ @Deprecated - public static Builder builder(String binaryPath, BlazeCommandName name) { - return new Builder(binaryPath, name); + public static Builder builder(String binaryPath, BlazeCommandName name, Project project) { + return new Builder(binaryPath, name, project); } /** Builder for a blaze command */ @@ -104,14 +105,14 @@ public static class Builder { private final ImmutableList.Builder blazeCmdlineFlags = ImmutableList.builder(); private final ImmutableList.Builder exeFlags = ImmutableList.builder(); - public Builder(String binaryPath, BlazeCommandName name) { + public Builder(String binaryPath, BlazeCommandName name, Project project) { this.binaryPath = binaryPath; this.name = name; this.invokeParallel = false; // Tell forge what tool we used to call blaze so we can track usage. addBlazeFlags(BlazeFlags.getToolTagFlag()); - AspectRepositoryProvider.getOverrideFlag().ifPresent(this::addBlazeFlags); + AspectRepositoryProvider.getOverrideFlag(project).ifPresent(this::addBlazeFlags); } private ImmutableList getArguments() { diff --git a/base/src/com/google/idea/blaze/base/command/info/BlazeInfoRunnerImpl.java b/base/src/com/google/idea/blaze/base/command/info/BlazeInfoRunnerImpl.java index f87c9d6c1a3..ca112e5990a 100644 --- a/base/src/com/google/idea/blaze/base/command/info/BlazeInfoRunnerImpl.java +++ b/base/src/com/google/idea/blaze/base/command/info/BlazeInfoRunnerImpl.java @@ -42,7 +42,7 @@ public ListenableFuture runBlazeInfoGetBytes( return BlazeExecutor.getInstance() .submit( () -> { - BlazeCommand.Builder builder = BlazeCommand.builder(invoker, BlazeCommandName.INFO); + BlazeCommand.Builder builder = BlazeCommand.builder(invoker, BlazeCommandName.INFO, project); builder.addBlazeFlags(blazeFlags); if (keys != null) { builder.addBlazeFlags(keys); diff --git a/base/src/com/google/idea/blaze/base/command/mod/BlazeModRunnerImpl.java b/base/src/com/google/idea/blaze/base/command/mod/BlazeModRunnerImpl.java index 433f0de51f8..d0dc59481ab 100644 --- a/base/src/com/google/idea/blaze/base/command/mod/BlazeModRunnerImpl.java +++ b/base/src/com/google/idea/blaze/base/command/mod/BlazeModRunnerImpl.java @@ -114,7 +114,7 @@ protected ListenableFuture runBlazeModGetBytes( .submit( () -> { BlazeCommand.Builder builder = - BlazeCommand.builder(invoker, BlazeCommandName.MOD).addBlazeFlags(flags); + BlazeCommand.builder(invoker, BlazeCommandName.MOD, project).addBlazeFlags(flags); if (args != null) { builder.addBlazeFlags(args); diff --git a/base/src/com/google/idea/blaze/base/dependencies/BlazeQueryDirectoryToTargetProvider.java b/base/src/com/google/idea/blaze/base/dependencies/BlazeQueryDirectoryToTargetProvider.java index 3106f05e9a0..a6747546383 100644 --- a/base/src/com/google/idea/blaze/base/dependencies/BlazeQueryDirectoryToTargetProvider.java +++ b/base/src/com/google/idea/blaze/base/dependencies/BlazeQueryDirectoryToTargetProvider.java @@ -99,7 +99,7 @@ private static ImmutableList runQuery( BuildSystem buildSystem = Blaze.getBuildSystemProvider(project).getBuildSystem(); BlazeCommand.Builder command = BlazeCommand.builder( - buildSystem.getDefaultInvoker(project, context), BlazeCommandName.QUERY) + buildSystem.getDefaultInvoker(project, context), BlazeCommandName.QUERY, project) .addBlazeFlags("--output=label_kind") .addBlazeFlags("--keep_going") .addBlazeFlags(query); diff --git a/base/src/com/google/idea/blaze/base/dependencies/BlazeQuerySourceToTargetProvider.java b/base/src/com/google/idea/blaze/base/dependencies/BlazeQuerySourceToTargetProvider.java index 32bf0d244ac..fc2ce7e232e 100644 --- a/base/src/com/google/idea/blaze/base/dependencies/BlazeQuerySourceToTargetProvider.java +++ b/base/src/com/google/idea/blaze/base/dependencies/BlazeQuerySourceToTargetProvider.java @@ -291,7 +291,7 @@ private static BlazeCommand.Builder getBlazeCommandBuilder( : BlazeQueryOutputBaseProvider.getInstance(project).getOutputBaseFlag(); BuildInvoker buildInvoker = Blaze.getBuildSystemProvider(project).getBuildSystem().getDefaultInvoker(project, context); - return BlazeCommand.builder(buildInvoker, BlazeCommandName.QUERY) + return BlazeCommand.builder(buildInvoker, BlazeCommandName.QUERY, project) .addBlazeFlags(additionalBlazeFlags) .addBlazeFlags("--keep_going") .addBlazeFlags(query) diff --git a/base/src/com/google/idea/blaze/base/qsync/BazelAppInspectorBuilder.java b/base/src/com/google/idea/blaze/base/qsync/BazelAppInspectorBuilder.java index 578042c5bc5..76fb253f2b2 100644 --- a/base/src/com/google/idea/blaze/base/qsync/BazelAppInspectorBuilder.java +++ b/base/src/com/google/idea/blaze/base/qsync/BazelAppInspectorBuilder.java @@ -65,7 +65,7 @@ public AppInspectorInfo buildAppInspector(BlazeContext context, Set