Skip to content

Commit

Permalink
[7.3.1] Use target.getLookupKey() for contstructing lookup keys for v…
Browse files Browse the repository at this point in the history
…endor mode (#23309)

Fixes #23300

Closes #23301.

PiperOrigin-RevId: 663007815
Change-Id: I304a9ffd344bc5cc3dbf5542bdee401109247a35

Commit
af2d688

Co-authored-by: Yun Peng <pcloudy@google.com>
  • Loading branch information
bazel-io and meteorcloudy committed Aug 14, 2024
1 parent c36f7d4 commit 9b381af
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ java_library(
"//src/main/java/com/google/devtools/build/lib:loading-phase-threads-option",
"//src/main/java/com/google/devtools/build/lib:runtime",
"//src/main/java/com/google/devtools/build/lib:runtime/blaze_command_result",
"//src/main/java/com/google/devtools/build/lib/analysis:configured_target",
"//src/main/java/com/google/devtools/build/lib/analysis:no_build_event",
"//src/main/java/com/google/devtools/build/lib/analysis:no_build_request_finished_event",
"//src/main/java/com/google/devtools/build/lib/bazel:resolved_event",
Expand All @@ -53,7 +54,6 @@ java_library(
"//src/main/java/com/google/devtools/build/lib/rules:repository/resolved_file_value",
"//src/main/java/com/google/devtools/build/lib/runtime/commands",
"//src/main/java/com/google/devtools/build/lib/shell",
"//src/main/java/com/google/devtools/build/lib/skyframe:configured_target_key",
"//src/main/java/com/google/devtools/build/lib/skyframe:package_lookup_value",
"//src/main/java/com/google/devtools/build/lib/skyframe:precomputed_value",
"//src/main/java/com/google/devtools/build/lib/skyframe:repository_mapping_value",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet;
import com.google.devtools.build.lib.analysis.ConfiguredTarget;
import com.google.devtools.build.lib.analysis.NoBuildEvent;
import com.google.devtools.build.lib.analysis.NoBuildRequestFinishedEvent;
import com.google.devtools.build.lib.bazel.bzlmod.BazelFetchAllValue;
Expand Down Expand Up @@ -47,7 +48,6 @@
import com.google.devtools.build.lib.server.FailureDetails;
import com.google.devtools.build.lib.server.FailureDetails.FailureDetail;
import com.google.devtools.build.lib.server.FailureDetails.FetchCommand.Code;
import com.google.devtools.build.lib.skyframe.ConfiguredTargetKey;
import com.google.devtools.build.lib.skyframe.PrecomputedValue;
import com.google.devtools.build.lib.skyframe.RepositoryMappingValue.RepositoryMappingResolutionException;
import com.google.devtools.build.lib.skyframe.SkyFunctions;
Expand Down Expand Up @@ -279,12 +279,7 @@ private BlazeCommandResult vendorTargets(
// Traverse the graph created from build to collect repos and vendor them
ImmutableList<SkyKey> targetKeys =
buildResult.getActualTargets().stream()
.map(
target ->
ConfiguredTargetKey.builder()
.setConfigurationKey(target.getConfigurationKey())
.setLabel(target.getLabel())
.build())
.map(ConfiguredTarget::getLookupKey)
.collect(toImmutableList());
InMemoryGraph inMemoryGraph = env.getSkyframeExecutor().getEvaluator().getInMemoryGraph();
ImmutableSet<RepositoryName> reposToVendor = collectReposFromTargets(inMemoryGraph, targetKeys);
Expand Down
8 changes: 8 additions & 0 deletions src/test/py/bazel/bzlmod/bazel_vendor_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -810,6 +810,14 @@ def testVendorRepoWithSymlinks(self):
' bar!\n',
)

def testVendorAliasTarget(self):
self.ScratchFile('foo/file.txt')
self.ScratchFile('foo/BUILD', ['alias(name="foo", actual="file.txt")'])

# This should not fail
# Regression test for https://github.com/bazelbuild/bazel/issues/23300
self.RunBazel(['vendor', '//foo/...', '--vendor_dir=vendor'])


if __name__ == '__main__':
absltest.main()

0 comments on commit 9b381af

Please sign in to comment.