Skip to content

Commit

Permalink
Always use target attributes to set Python version
Browse files Browse the repository at this point in the history
Fixes: bazelbuild#16935

RELNOTES[INC]: This changes the behavior of Python version in exec/host configuration. Mitigation is to set Python version on the targets.

PiperOrigin-RevId: 493545843
Change-Id: I3a4d787e7075d2b76835faf04d4c4e04c9de85b4
  • Loading branch information
comius authored and Copybara-Service committed Dec 7, 2022
1 parent c1de292 commit ff233db
Showing 1 changed file with 2 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@
import com.google.devtools.build.lib.analysis.config.BuildOptions;
import com.google.devtools.build.lib.analysis.config.BuildOptionsCache;
import com.google.devtools.build.lib.analysis.config.BuildOptionsView;
import com.google.devtools.build.lib.analysis.config.CoreOptions;
import com.google.devtools.build.lib.analysis.config.FragmentOptions;
import com.google.devtools.build.lib.analysis.config.transitions.PatchTransition;
import com.google.devtools.build.lib.events.EventHandler;
Expand Down Expand Up @@ -69,17 +68,12 @@ private PythonVersionTransition() {}

@Override
public ImmutableSet<Class<? extends FragmentOptions>> requiresOptionFragments() {
return ImmutableSet.of(PythonOptions.class, CoreOptions.class);
return ImmutableSet.of(PythonOptions.class);
}

@Override
public BuildOptions patch(BuildOptionsView options, EventHandler eventHandler) {
// If this happens after exec transition, keep the same version (to reproduce and keep behaviour
// of the host transition, that happens after this one)
PythonVersion newVersion =
options.get(CoreOptions.class).isExec
? options.get(PythonOptions.class).getPythonVersion()
: determineNewVersion(options);
PythonVersion newVersion = determineNewVersion(options);
checkArgument(newVersion.isTargetValue(), newVersion);

// PythonOptions aren't present after NoConfigTransition. That implies rules that don't read
Expand Down

0 comments on commit ff233db

Please sign in to comment.