Skip to content

Commit

Permalink
Do not check for yanked versions in error mode
Browse files Browse the repository at this point in the history
  • Loading branch information
fmeum committed Apr 26, 2024
1 parent 4da8d89 commit 4df3276
Showing 1 changed file with 25 additions and 21 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@

import static com.google.common.collect.ImmutableMap.toImmutableMap;
import static com.google.common.collect.ImmutableSet.toImmutableSet;
import static com.google.devtools.build.lib.bazel.bzlmod.BazelLockFileFunction.LOCKFILE_MODE;
import static com.google.devtools.build.lib.bazel.bzlmod.YankedVersionsUtil.BZLMOD_ALLOWED_YANKED_VERSIONS_ENV;

import com.google.common.base.Joiner;
Expand All @@ -30,6 +31,7 @@
import com.google.devtools.build.lib.bazel.BazelVersion;
import com.google.devtools.build.lib.bazel.bzlmod.InterimModule.DepSpec;
import com.google.devtools.build.lib.bazel.bzlmod.ModuleFileValue.RootModuleFileValue;
import com.google.devtools.build.lib.bazel.repository.RepositoryOptions;
import com.google.devtools.build.lib.bazel.repository.RepositoryOptions.BazelCompatibilityMode;
import com.google.devtools.build.lib.bazel.repository.RepositoryOptions.CheckDirectDepsMode;
import com.google.devtools.build.lib.bazel.repository.downloader.Checksum;
Expand Down Expand Up @@ -185,24 +187,6 @@ private static Selection.Result discoverAndSelect(
}
ImmutableMap<ModuleKey, InterimModule> resolvedDepGraph = selectionResult.getResolvedDepGraph();

var yankedVersionsKeys =
resolvedDepGraph.values().stream()
.filter(m -> m.getRegistry() != null)
.map(m -> YankedVersionsValue.Key.create(m.getName(), m.getRegistry().getUrl()))
.collect(toImmutableSet());
SkyframeLookupResult yankedVersionsResult = env.getValuesAndExceptions(yankedVersionsKeys);
if (env.valuesMissing()) {
return null;
}
var yankedVersionValues =
yankedVersionsKeys.stream()
.collect(
toImmutableMap(
key -> key, key -> (YankedVersionsValue) yankedVersionsResult.get(key)));
if (yankedVersionValues.values().stream().anyMatch(Objects::isNull)) {
return null;
}

try (SilentCloseable c =
Profiler.instance().profile(ProfilerTask.BZLMOD, "verify root module direct deps")) {
verifyRootModuleDirectDepsAreAccurate(
Expand All @@ -220,9 +204,29 @@ private static Selection.Result discoverAndSelect(
env.getListener());
}

try (SilentCloseable c =
Profiler.instance().profile(ProfilerTask.BZLMOD, "check no yanked versions")) {
checkNoYankedVersions(resolvedDepGraph, yankedVersionValues, allowedYankedVersions);
if (LOCKFILE_MODE.get(env) != RepositoryOptions.LockfileMode.ERROR) {
var yankedVersionsKeys =
resolvedDepGraph.values().stream()
.filter(m -> m.getRegistry() != null)
.map(m -> YankedVersionsValue.Key.create(m.getName(), m.getRegistry().getUrl()))
.collect(toImmutableSet());
SkyframeLookupResult yankedVersionsResult = env.getValuesAndExceptions(yankedVersionsKeys);
if (env.valuesMissing()) {
return null;
}
var yankedVersionValues =
yankedVersionsKeys.stream()
.collect(
toImmutableMap(
key -> key, key -> (YankedVersionsValue) yankedVersionsResult.get(key)));
if (yankedVersionValues.values().stream().anyMatch(Objects::isNull)) {
return null;
}

try (SilentCloseable c =
Profiler.instance().profile(ProfilerTask.BZLMOD, "check no yanked versions")) {
checkNoYankedVersions(resolvedDepGraph, yankedVersionValues, allowedYankedVersions);
}
}

return selectionResult;
Expand Down

0 comments on commit 4df3276

Please sign in to comment.