Skip to content

Commit 9f12868

Browse files
committed
Let Label#debugPrint emit label strings in display form
This is a reland of 30b95e3 with a different approach to emitting display form labels that avoids adding a new `to_display_form()` method to `Label`: * In action command lines, which are the most frequent use of labels in rule implementation functions, labels are automatically emitted in display form since 9d3a8b0. * In module extensions and repository rules, if labels can be turned into display form, the inverse of the repository mapping would need to be tracked in lockfiles and marker files for correct incrementality. Furthermore, allowing implementation functions to access apparent names would allow them to "discriminate" against them, thus possibly breaking the user's capability to map repos at will via `use_repo` and `repo_name`. Similar to how providers on a target can't be enumerated, it is thus safer to not provide this information to the implementation functions directly. This change thus implements `StarlarkValue#debugPrint` for `Label` to allow ruleset authors to emit labels in display form in warnings and error messages while ensuring that Starlark logic doesn't have access to this information. `print("My message", label)` degrades gracefully with older Bazel versions (it just prints a canonical label literal) and can thus be adopted immediately without a need for feature detection. This requires changing the signature of `StarlarkValue#debugPrint` to receive the `StarlarkThread` instead of just the `StarlarkSemantics`. Since `debugPrint` is meant for emitting potentially non-deterministic information, it is safe to give it access to `StarlarkThread`. Also improves the Bzlmod cycle reporter so that it prints helpful information on a cycle encountered in a previous iteration of this PR. Fixes bazelbuild#20486 RELNOTES: `Label` instances passed to `print` or `fail` as positional arguments are now formatted with apparent repository names (optimized for human readability). Closes bazelbuild#21963. PiperOrigin-RevId: 635589078 Change-Id: If60fdc632a59f19dad0cb02312690c15a0540c8e
1 parent d31ce86 commit 9f12868

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

53 files changed

+439
-103
lines changed

src/main/java/com/google/devtools/build/lib/actions/AbstractAction.java

+3-7
Original file line numberDiff line numberDiff line change
@@ -373,13 +373,9 @@ private String getProgressMessageChecked(@Nullable RepositoryMapping mainReposit
373373
private String replaceProgressMessagePlaceholders(
374374
String progressMessage, @Nullable RepositoryMapping mainRepositoryMapping) {
375375
if (progressMessage.contains("%{label}") && owner.getLabel() != null) {
376-
String labelString;
377-
if (mainRepositoryMapping != null) {
378-
labelString = owner.getLabel().getDisplayForm(mainRepositoryMapping);
379-
} else {
380-
labelString = owner.getLabel().toString();
381-
}
382-
progressMessage = progressMessage.replace("%{label}", labelString);
376+
progressMessage =
377+
progressMessage.replace(
378+
"%{label}", owner.getLabel().getDisplayForm(mainRepositoryMapping));
383379
}
384380
if (progressMessage.contains("%{output}") && getPrimaryOutput() != null) {
385381
progressMessage =

src/main/java/com/google/devtools/build/lib/analysis/BazelRuleAnalysisThreadContext.java

+4-3
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@
1414

1515
package com.google.devtools.build.lib.analysis;
1616

17+
import com.google.devtools.build.lib.cmdline.BazelStarlarkContext;
1718
import com.google.devtools.build.lib.cmdline.Label;
18-
import com.google.devtools.build.lib.packages.BazelStarlarkContext;
19-
import com.google.devtools.build.lib.packages.SymbolGenerator;
19+
import com.google.devtools.build.lib.cmdline.SymbolGenerator;
2020
import com.google.errorprone.annotations.CanIgnoreReturnValue;
2121
import javax.annotation.Nullable;
2222
import net.starlark.java.eval.EvalException;
@@ -37,7 +37,8 @@ public class BazelRuleAnalysisThreadContext extends BazelStarlarkContext {
3737
*/
3838
public BazelRuleAnalysisThreadContext(
3939
SymbolGenerator<?> symbolGenerator, RuleContext ruleContext) {
40-
super(Phase.ANALYSIS, symbolGenerator);
40+
super(
41+
Phase.ANALYSIS, symbolGenerator, ruleContext.getAnalysisEnvironment()::getMainRepoMapping);
4142
this.ruleContext = ruleContext;
4243
}
4344

src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@
8282
import com.google.devtools.build.lib.packages.RuleClass.ConfiguredTargetFactory.RuleErrorException;
8383
import com.google.devtools.build.lib.packages.StarlarkAspectClass;
8484
import com.google.devtools.build.lib.packages.StarlarkProviderWrapper;
85-
import com.google.devtools.build.lib.packages.SymbolGenerator;
85+
import com.google.devtools.build.lib.cmdline.SymbolGenerator;
8686
import com.google.devtools.build.lib.packages.Target;
8787
import com.google.devtools.build.lib.packages.TargetUtils;
8888
import com.google.devtools.build.lib.packages.Type;

src/main/java/com/google/devtools/build/lib/analysis/config/StarlarkDefinedConfigTransition.java

+5-4
Original file line numberDiff line numberDiff line change
@@ -31,18 +31,18 @@
3131
import com.google.devtools.build.lib.analysis.config.CoreOptions.OutputDirectoryNamingScheme;
3232
import com.google.devtools.build.lib.analysis.config.CoreOptions.OutputPathsMode;
3333
import com.google.devtools.build.lib.analysis.config.transitions.PatchTransition;
34+
import com.google.devtools.build.lib.cmdline.BazelStarlarkContext;
35+
import com.google.devtools.build.lib.cmdline.BazelStarlarkContext.Phase;
3436
import com.google.devtools.build.lib.cmdline.Label;
3537
import com.google.devtools.build.lib.cmdline.Label.PackageContext;
3638
import com.google.devtools.build.lib.cmdline.LabelSyntaxException;
3739
import com.google.devtools.build.lib.cmdline.RepositoryMapping;
3840
import com.google.devtools.build.lib.events.Event;
3941
import com.google.devtools.build.lib.events.EventHandler;
40-
import com.google.devtools.build.lib.packages.BazelStarlarkContext;
41-
import com.google.devtools.build.lib.packages.BazelStarlarkContext.Phase;
4242
import com.google.devtools.build.lib.packages.Rule;
4343
import com.google.devtools.build.lib.packages.RuleTransitionData;
4444
import com.google.devtools.build.lib.packages.StructImpl;
45-
import com.google.devtools.build.lib.packages.SymbolGenerator;
45+
import com.google.devtools.build.lib.cmdline.SymbolGenerator;
4646
import com.google.devtools.build.lib.starlarkbuildapi.config.ConfigurationTransitionApi;
4747
import com.google.devtools.build.lib.util.RegexFilter;
4848
import com.google.devtools.build.lib.vfs.PathFragment;
@@ -556,7 +556,8 @@ public ImmutableMap<String, Map<String, Object>> evaluate(
556556
// Create a new {@link BazelStarlarkContext} for the new thread. We need to
557557
// create a new context every time because {@link BazelStarlarkContext}s
558558
// should be confined to a single thread.
559-
new BazelStarlarkContext(Phase.ANALYSIS, dummySymbolGenerator).storeInThread(thread);
559+
new BazelStarlarkContext(Phase.ANALYSIS, dummySymbolGenerator, /* mainRepoMapping= */ null)
560+
.storeInThread(thread);
560561

561562
result =
562563
Starlark.fastcall(

src/main/java/com/google/devtools/build/lib/analysis/configuredtargets/RuleConfiguredTarget.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@
5454
import net.starlark.java.eval.Dict;
5555
import net.starlark.java.eval.Printer;
5656
import net.starlark.java.eval.Starlark;
57-
import net.starlark.java.eval.StarlarkSemantics;
57+
import net.starlark.java.eval.StarlarkThread;
5858

5959
/**
6060
* A {@link com.google.devtools.build.lib.analysis.ConfiguredTarget} that is produced by a rule.
@@ -249,7 +249,7 @@ public void repr(Printer printer) {
249249
}
250250

251251
@Override
252-
public void debugPrint(Printer printer, StarlarkSemantics semantics) {
252+
public void debugPrint(Printer printer, StarlarkThread thread) {
253253
// Show the names of the provider keys that this target propagates.
254254
// Provider key names might potentially be *private* information, and thus a comprehensive
255255
// list of provider keys should not be exposed in any way other than for debug information.

src/main/java/com/google/devtools/build/lib/analysis/starlark/Args.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ public void repr(Printer printer) {
7272
}
7373

7474
@Override
75-
public void debugPrint(Printer printer, StarlarkSemantics semantics) {
75+
public void debugPrint(Printer printer, StarlarkThread thread) {
7676
try {
7777
printer.append(
7878
Joiner.on(" ").join(build(/* mainRepoMappingSupplier= */ () -> null).arguments()));

src/main/java/com/google/devtools/build/lib/analysis/starlark/StarlarkRuleClassFunctions.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@
5252
import com.google.devtools.build.lib.analysis.starlark.StarlarkAttrModule.Descriptor;
5353
import com.google.devtools.build.lib.analysis.test.TestConfiguration;
5454
import com.google.devtools.build.lib.cmdline.BazelModuleContext;
55+
import com.google.devtools.build.lib.cmdline.BazelStarlarkContext;
5556
import com.google.devtools.build.lib.cmdline.Label;
5657
import com.google.devtools.build.lib.cmdline.LabelSyntaxException;
5758
import com.google.devtools.build.lib.cmdline.RepositoryMapping;
@@ -63,7 +64,6 @@
6364
import com.google.devtools.build.lib.packages.Attribute.StarlarkComputedDefaultTemplate;
6465
import com.google.devtools.build.lib.packages.AttributeTransitionData;
6566
import com.google.devtools.build.lib.packages.AttributeValueSource;
66-
import com.google.devtools.build.lib.packages.BazelStarlarkContext;
6767
import com.google.devtools.build.lib.packages.BuildSetting;
6868
import com.google.devtools.build.lib.packages.BuildType;
6969
import com.google.devtools.build.lib.packages.BuiltinRestriction;

src/main/java/com/google/devtools/build/lib/bazel/bzlmod/BazelModuleResolutionValue.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
* graphs.
3030
*/
3131
@AutoValue
32-
abstract class BazelModuleResolutionValue implements SkyValue {
32+
public abstract class BazelModuleResolutionValue implements SkyValue {
3333

3434
@SerializationConstant
3535
public static final SkyKey KEY = () -> SkyFunctions.BAZEL_MODULE_RESOLUTION;

src/main/java/com/google/devtools/build/lib/bazel/bzlmod/ModuleFileValue.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ public static Key key(ModuleKey moduleKey, @Nullable ModuleOverride override) {
117117
/** {@link SkyKey} for {@link ModuleFileValue} computation. */
118118
@AutoCodec
119119
@AutoValue
120-
abstract static class Key implements SkyKey {
120+
public abstract static class Key implements SkyKey {
121121
private static final SkyKeyInterner<Key> interner = SkyKey.newInterner();
122122

123123
abstract ModuleKey getModuleKey();

src/main/java/com/google/devtools/build/lib/bazel/bzlmod/NonRegistryOverride.java

+9
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515

1616
package com.google.devtools.build.lib.bazel.bzlmod;
1717

18+
import com.google.common.collect.ImmutableSet;
1819
import com.google.devtools.build.lib.bazel.bzlmod.BazelModuleInspectorValue.AugmentedModule.ResolutionReason;
1920

2021
/**
@@ -25,6 +26,14 @@
2526
*/
2627
public interface NonRegistryOverride extends ModuleOverride {
2728

29+
// Starlark rules loaded from bazel_tools that may define Bazel module repositories with
30+
// non-registry overrides and thus must be loaded without relying on any other modules or the main
31+
// repo mapping.
32+
ImmutableSet<String> BOOTSTRAP_RULE_CLASSES =
33+
ImmutableSet.of(
34+
ArchiveRepoSpecBuilder.HTTP_ARCHIVE_PATH + "%http_archive",
35+
GitRepoSpecBuilder.GIT_REPO_PATH + "%git_repository");
36+
2837
/** Returns the {@link RepoSpec} that defines this repository. */
2938
RepoSpec getRepoSpec();
3039

src/main/java/com/google/devtools/build/lib/bazel/bzlmod/SingleExtensionEvalFunction.java

+27-4
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,14 @@
3434
import com.google.devtools.build.lib.bazel.repository.downloader.DownloadManager;
3535
import com.google.devtools.build.lib.bazel.repository.starlark.StarlarkRepositoryModule.RepositoryRuleFunction;
3636
import com.google.devtools.build.lib.cmdline.BazelModuleContext;
37+
import com.google.devtools.build.lib.cmdline.BazelStarlarkContext;
38+
import com.google.devtools.build.lib.cmdline.BazelStarlarkContext.Phase;
3739
import com.google.devtools.build.lib.cmdline.Label;
3840
import com.google.devtools.build.lib.cmdline.LabelConstants;
3941
import com.google.devtools.build.lib.cmdline.LabelSyntaxException;
4042
import com.google.devtools.build.lib.cmdline.RepositoryMapping;
4143
import com.google.devtools.build.lib.cmdline.RepositoryName;
44+
import com.google.devtools.build.lib.cmdline.SymbolGenerator;
4245
import com.google.devtools.build.lib.events.Event;
4346
import com.google.devtools.build.lib.packages.NoSuchPackageException;
4447
import com.google.devtools.build.lib.packages.Rule;
@@ -131,6 +134,12 @@ public SkyValue compute(SkyKey skyKey, Environment env)
131134
if (starlarkSemantics == null) {
132135
return null;
133136
}
137+
RepositoryMappingValue mainRepoMappingValue =
138+
(RepositoryMappingValue)
139+
env.getValue(RepositoryMappingValue.KEY_FOR_ROOT_MODULE_WITHOUT_WORKSPACE_REPOS);
140+
if (mainRepoMappingValue == null) {
141+
return null;
142+
}
134143

135144
ModuleExtensionId extensionId = (ModuleExtensionId) skyKey.argument();
136145
SingleExtensionUsagesValue usagesValue =
@@ -181,7 +190,12 @@ public SkyValue compute(SkyKey skyKey, Environment env)
181190
// Run that extension!
182191
env.getListener().post(ModuleExtensionEvaluationProgress.ongoing(extensionId, "starting"));
183192
RunModuleExtensionResult moduleExtensionResult =
184-
extension.run(env, usagesValue, starlarkSemantics, extensionId);
193+
extension.run(
194+
env,
195+
usagesValue,
196+
starlarkSemantics,
197+
extensionId,
198+
mainRepoMappingValue.getRepositoryMapping());
185199
if (moduleExtensionResult == null) {
186200
return null;
187201
}
@@ -523,7 +537,8 @@ RunModuleExtensionResult run(
523537
Environment env,
524538
SingleExtensionUsagesValue usagesValue,
525539
StarlarkSemantics starlarkSemantics,
526-
ModuleExtensionId extensionId)
540+
ModuleExtensionId extensionId,
541+
RepositoryMapping repositoryMapping)
527542
throws InterruptedException, SingleExtensionEvalFunctionException;
528543
}
529544

@@ -675,7 +690,8 @@ public RunModuleExtensionResult run(
675690
Environment env,
676691
SingleExtensionUsagesValue usagesValue,
677692
StarlarkSemantics starlarkSemantics,
678-
ModuleExtensionId extensionId)
693+
ModuleExtensionId extensionId,
694+
RepositoryMapping mainRepositoryMapping)
679695
throws InterruptedException, SingleExtensionEvalFunctionException {
680696
var generatedRepoSpecs = ImmutableMap.<String, RepoSpec>builderWithExpectedSize(repos.size());
681697
// Instantiate the repos one by one.
@@ -845,7 +861,8 @@ public RunModuleExtensionResult run(
845861
Environment env,
846862
SingleExtensionUsagesValue usagesValue,
847863
StarlarkSemantics starlarkSemantics,
848-
ModuleExtensionId extensionId)
864+
ModuleExtensionId extensionId,
865+
RepositoryMapping mainRepositoryMapping)
849866
throws InterruptedException, SingleExtensionEvalFunctionException {
850867
ModuleExtensionEvalStarlarkThreadContext threadContext =
851868
new ModuleExtensionEvalStarlarkThreadContext(
@@ -864,6 +881,12 @@ public RunModuleExtensionResult run(
864881
thread.setPrintHandler(Event.makeDebugPrintHandler(env.getListener()));
865882
moduleContext = createContext(env, usagesValue, starlarkSemantics, extensionId);
866883
threadContext.storeInThread(thread);
884+
new BazelStarlarkContext(
885+
Phase.WORKSPACE,
886+
// Doesn't create retained objects.
887+
new SymbolGenerator<>(new Object()),
888+
() -> mainRepositoryMapping)
889+
.storeInThread(thread);
867890
// This is used by the `Label()` constructor in Starlark, to record any attempts to resolve
868891
// apparent repo names to canonical repo names. See #20721 for why this is necessary.
869892
thread.setThreadLocal(Label.RepoMappingRecorder.class, repoMappingRecorder);

src/main/java/com/google/devtools/build/lib/bazel/bzlmod/TypeCheckedTag.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
import net.starlark.java.annot.StarlarkBuiltin;
2525
import net.starlark.java.eval.EvalException;
2626
import net.starlark.java.eval.Printer;
27-
import net.starlark.java.eval.StarlarkSemantics;
27+
import net.starlark.java.eval.StarlarkThread;
2828
import net.starlark.java.eval.Structure;
2929
import net.starlark.java.spelling.SpellChecker;
3030
import net.starlark.java.syntax.Location;
@@ -150,7 +150,7 @@ public String getErrorMessageForUnknownField(String field) {
150150
}
151151

152152
@Override
153-
public void debugPrint(Printer printer, StarlarkSemantics semantics) {
153+
public void debugPrint(Printer printer, StarlarkThread thread) {
154154
printer.append(String.format("'%s' tag at %s", tagClassName, location));
155155
}
156156
}

src/main/java/com/google/devtools/build/lib/bazel/repository/starlark/BUILD

+1
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ java_library(
4646
"//src/main/java/com/google/devtools/build/lib/skyframe:directory_tree_digest_value",
4747
"//src/main/java/com/google/devtools/build/lib/skyframe:ignored_package_prefixes_value",
4848
"//src/main/java/com/google/devtools/build/lib/skyframe:precomputed_value",
49+
"//src/main/java/com/google/devtools/build/lib/skyframe:repository_mapping_value",
4950
"//src/main/java/com/google/devtools/build/lib/starlarkbuildapi/repository",
5051
"//src/main/java/com/google/devtools/build/lib/util",
5152
"//src/main/java/com/google/devtools/build/lib/util:string",

src/main/java/com/google/devtools/build/lib/bazel/repository/starlark/StarlarkRepositoryFunction.java

+28-4
Original file line numberDiff line numberDiff line change
@@ -23,15 +23,17 @@
2323
import com.google.common.collect.Table;
2424
import com.google.devtools.build.lib.analysis.BlazeDirectories;
2525
import com.google.devtools.build.lib.analysis.RuleDefinition;
26+
import com.google.devtools.build.lib.bazel.bzlmod.NonRegistryOverride;
2627
import com.google.devtools.build.lib.bazel.repository.RepositoryResolvedEvent;
2728
import com.google.devtools.build.lib.bazel.repository.downloader.DownloadManager;
29+
import com.google.devtools.build.lib.cmdline.BazelStarlarkContext;
2830
import com.google.devtools.build.lib.cmdline.Label;
2931
import com.google.devtools.build.lib.cmdline.LabelConstants;
32+
import com.google.devtools.build.lib.cmdline.RepositoryMapping;
3033
import com.google.devtools.build.lib.cmdline.RepositoryName;
3134
import com.google.devtools.build.lib.events.Event;
32-
import com.google.devtools.build.lib.packages.BazelStarlarkContext;
3335
import com.google.devtools.build.lib.packages.Rule;
34-
import com.google.devtools.build.lib.packages.SymbolGenerator;
36+
import com.google.devtools.build.lib.cmdline.SymbolGenerator;
3537
import com.google.devtools.build.lib.packages.semantics.BuildLanguageOptions;
3638
import com.google.devtools.build.lib.pkgcache.PathPackageLocator;
3739
import com.google.devtools.build.lib.profiler.Profiler;
@@ -47,7 +49,7 @@
4749
import com.google.devtools.build.lib.runtime.RepositoryRemoteExecutor;
4850
import com.google.devtools.build.lib.skyframe.IgnoredPackagePrefixesValue;
4951
import com.google.devtools.build.lib.skyframe.PrecomputedValue;
50-
import com.google.devtools.build.lib.util.CPU;
52+
import com.google.devtools.build.lib.skyframe.RepositoryMappingValue;
5153
import com.google.devtools.build.lib.vfs.FileSystemUtils;
5254
import com.google.devtools.build.lib.vfs.Path;
5355
import com.google.devtools.build.lib.vfs.PathFragment;
@@ -243,6 +245,27 @@ private RepositoryDirectoryValue.Builder fetchInternal(
243245
return null;
244246
}
245247

248+
boolean enableBzlmod = starlarkSemantics.getBool(BuildLanguageOptions.ENABLE_BZLMOD);
249+
@Nullable RepositoryMapping mainRepoMapping;
250+
String ruleClass =
251+
rule.getRuleClassObject().getRuleDefinitionEnvironmentLabel().getUnambiguousCanonicalForm()
252+
+ "%"
253+
+ rule.getRuleClass();
254+
if (NonRegistryOverride.BOOTSTRAP_RULE_CLASSES.contains(ruleClass)) {
255+
// Avoid a cycle.
256+
mainRepoMapping = null;
257+
} else if (enableBzlmod || !isWorkspaceRepo(rule)) {
258+
var mainRepoMappingValue =
259+
(RepositoryMappingValue)
260+
env.getValue(RepositoryMappingValue.KEY_FOR_ROOT_MODULE_WITHOUT_WORKSPACE_REPOS);
261+
if (mainRepoMappingValue == null) {
262+
return null;
263+
}
264+
mainRepoMapping = mainRepoMappingValue.getRepositoryMapping();
265+
} else {
266+
mainRepoMapping = rule.getPackage().getRepositoryMapping();
267+
}
268+
246269
IgnoredPackagePrefixesValue ignoredPackagesValue =
247270
(IgnoredPackagePrefixesValue) env.getValue(IgnoredPackagePrefixesValue.key());
248271
if (env.valuesMissing()) {
@@ -265,7 +288,8 @@ private RepositoryDirectoryValue.Builder fetchInternal(
265288

266289
new BazelStarlarkContext(
267290
BazelStarlarkContext.Phase.LOADING, // ("fetch")
268-
new SymbolGenerator<>(key))
291+
new SymbolGenerator<>(key),
292+
() -> mainRepoMapping)
269293
.storeInThread(thread);
270294

271295
StarlarkRepositoryContext starlarkRepositoryContext =

src/main/java/com/google/devtools/build/lib/bazel/repository/starlark/StarlarkRepositoryModule.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,12 @@
2828
import com.google.devtools.build.lib.bazel.bzlmod.ModuleExtensionEvalStarlarkThreadContext;
2929
import com.google.devtools.build.lib.bazel.bzlmod.TagClass;
3030
import com.google.devtools.build.lib.cmdline.BazelModuleContext;
31+
import com.google.devtools.build.lib.cmdline.BazelStarlarkContext;
3132
import com.google.devtools.build.lib.cmdline.Label;
3233
import com.google.devtools.build.lib.cmdline.LabelSyntaxException;
3334
import com.google.devtools.build.lib.events.EventHandler;
3435
import com.google.devtools.build.lib.packages.Attribute;
3536
import com.google.devtools.build.lib.packages.AttributeValueSource;
36-
import com.google.devtools.build.lib.packages.BazelStarlarkContext;
3737
import com.google.devtools.build.lib.packages.BzlInitThreadContext;
3838
import com.google.devtools.build.lib.packages.Package;
3939
import com.google.devtools.build.lib.packages.Package.NameConflictException;

src/main/java/com/google/devtools/build/lib/cmdline/BUILD

+2
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ java_library(
1717
srcs = [
1818
"BazelCompileContext.java",
1919
"BazelModuleContext.java",
20+
"BazelStarlarkContext.java",
2021
"Label.java",
2122
"LabelConstants.java",
2223
"LabelParser.java",
@@ -26,6 +27,7 @@ java_library(
2627
"RepositoryName.java",
2728
"ResolvedTargets.java",
2829
"SignedTargetPattern.java",
30+
"SymbolGenerator.java",
2931
"TargetParsingException.java",
3032
"TargetPattern.java",
3133
"TargetPatternResolver.java",

0 commit comments

Comments
 (0)