Skip to content

Commit 4e94f29

Browse files
illicitonioncopybara-github
authored andcommitted
Error if repository name isn't supplied
Currently, this results in a server crash along the lines of: ``` FATAL: bazel crashed due to an internal error. Printing stack trace: java.lang.RuntimeException: Unrecoverable error while evaluating node '[/redacted]/[WORKSPACE.bazel], 1' (requested by nodes 'com.google.devtools.build.lib.skyframe.ExternalPackageFunction$$Lambda$231/0x0000000800df7998@34f133c') at com.google.devtools.build.skyframe.AbstractParallelEvaluator$Evaluate.run(AbstractParallelEvaluator.java:642) at com.google.devtools.build.lib.concurrent.AbstractQueueVisitor$WrappedRunnable.run(AbstractQueueVisitor.java:382) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at java.base/java.lang.Thread.run(Thread.java:833) Caused by: net.starlark.java.eval.Starlark$UncheckedEvalException: NullPointerException thrown during Starlark evaluation (WORKSPACE) at <starlark>.repository_rule(<builtin>:0) at <starlark>.<toplevel>(/redacted/WORKSPACE.bazel:3) Caused by: java.lang.NullPointerException: Cannot invoke "String.isEmpty()" because "name" is null at com.google.devtools.build.lib.cmdline.RepositoryName.create(RepositoryName.java:71) at com.google.devtools.build.lib.packages.WorkspaceFactoryHelper.addMainRepoEntry(WorkspaceFactoryHelper.java:106) at com.google.devtools.build.lib.bazel.repository.starlark.StarlarkRepositoryModule$RepositoryRuleFunction.createRuleLegacy(StarlarkRepositoryModule.java:228) at com.google.devtools.build.lib.bazel.repository.starlark.StarlarkRepositoryModule$RepositoryRuleFunction.call(StarlarkRepositoryModule.java:185) ``` Closes #18335. PiperOrigin-RevId: 530577557 Change-Id: Ic402e8fabac180aaa2da19cd3201b9fb2671dccb
1 parent 9b534ea commit 4e94f29

File tree

1 file changed

+3
-0
lines changed

1 file changed

+3
-0
lines changed

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -220,6 +220,9 @@ private Object createRuleLegacy(StarlarkThread thread, Dict<String, Object> kwar
220220

221221
// TODO(adonovan): is this cast safe? Check.
222222
String name = (String) kwargs.get("name");
223+
if (name == null) {
224+
throw Starlark.errorf("argument 'name' is required");
225+
}
223226
WorkspaceFactoryHelper.addMainRepoEntry(packageBuilder, name);
224227
WorkspaceFactoryHelper.addRepoMappings(packageBuilder, kwargs, name);
225228
return WorkspaceFactoryHelper.createAndAddRepositoryRule(

0 commit comments

Comments
 (0)