Hi there,

I've set up a local_repository in our WORKSPACE file, and would like to 
leverage bind to prevent having to change the BUILD files.

>From the documentation, it seems I should be able to do something like the 
following:

bind(
    name = "grpc",
    actual = "@grpc//:grpc",
)

local_repository(
  name = "grpc",
  path = "third_party/google/grpc",
)

And the BUILD dependency should become: "//external:grpc" whereas it was 
previously "//third_party/google/grpc:gprc".

However, if I try to do this, I hit the following exception:

java.lang.RuntimeException: Unrecoverable error while evaluating node 
'CONFIGURED_TARGET://lb:ip-forwarder-main eeab51cc7d46801c1a05a5f646430553 
(936318221 375452941)' (requested by nodes 
'CONFIGURED_TARGET://lb/testing:ip_forwarder_test 
eeab51cc7d46801c1a05a5f646430553 (1211325356 375452941)')
    at 
com.google.devtools.build.skyframe.ParallelEvaluator$Evaluate.run(ParallelEvaluator.java:438)
    at 
com.google.devtools.build.lib.concurrent.AbstractQueueVisitor$WrappedRunnable.run(AbstractQueueVisitor.java:501)
    at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException
    at 
com.google.devtools.build.lib.packages.NonconfigurableAttributeMapper.get(NonconfigurableAttributeMapper.java:45)
    at 
com.google.devtools.build.lib.bazel.rules.BazelRuleClassProvider$BazelPrerequisiteValidator.isTestOnlyRule(BazelRuleClassProvider.java:266)
    at 
com.google.devtools.build.lib.bazel.rules.BazelRuleClassProvider$BazelPrerequisiteValidator.validateDirectPrerequisiteForTestOnly(BazelRuleClassProvider.java:252)
    at 
com.google.devtools.build.lib.bazel.rules.BazelRuleClassProvider$BazelPrerequisiteValidator.validate(BazelRuleClassProvider.java:196)
    at 
com.google.devtools.build.lib.analysis.RuleContext$Builder.validateDirectPrerequisite(RuleContext.java:1954)
    at 
com.google.devtools.build.lib.analysis.RuleContext$Builder.createTargetMap(RuleContext.java:1626)
    at 
com.google.devtools.build.lib.analysis.RuleContext$Builder.build(RuleContext.java:1465)
    at 
com.google.devtools.build.lib.analysis.ConfiguredTargetFactory.createRule(ConfiguredTargetFactory.java:245)
    at 
com.google.devtools.build.lib.analysis.ConfiguredTargetFactory.createConfiguredTarget(ConfiguredTargetFactory.java:176)
    at 
com.google.devtools.build.lib.skyframe.SkyframeBuildView.createConfiguredTarget(SkyframeBuildView.java:491)
    at 
com.google.devtools.build.lib.skyframe.ConfiguredTargetFunction.createConfiguredTarget(ConfiguredTargetFunction.java:1094)
    at 
com.google.devtools.build.lib.skyframe.ConfiguredTargetFunction.compute(ConfiguredTargetFunction.java:251)
    at 
com.google.devtools.build.skyframe.ParallelEvaluator$Evaluate.run(ParallelEvaluator.java:373)
    ... 4 more


Any idea why this is happening? What is the right way to use bind to refer 
to the local_repository? I know I can refer to the local_repository 
directly from the BUILD files using "@grpc//:grpc", but I'm trying to avoid 
having to do this.

Thanks,
Ilina

-- 
You received this message because you are subscribed to the Google Groups 
"grpc.io" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/grpc-io.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/grpc-io/4ddb1266-1190-475a-9118-b5088474637c%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to