public interface RuleAnalysisContext extends DependencyOnlyRuleAnalysisContext
Description
's
rule implementation so that the rule analysis can be performed. This context will be used to
create the rule's Provider
, and register
corresponding Actions. Actions will be BuildRule
s for now,
but we will eventually migrate to some other representation of the set of Step
.
The RuleAnalysisContext
will be very similar to Bazel's com.google.devtools.build.lib.analysis.RuleContext
. RuleContext
This will contain information on the configurations of the current rule, information about
it's transitive dependencies via Provider
s and
their corresponding InfoInterface
s. It will also
offer ways to register Step
s.
Modifier and Type | Method and Description |
---|---|
ActionRegistry |
actionRegistry() |
BuckEventBus |
getEventBus() |
ProviderInfoCollection |
resolveDep(BuildTarget dep)
same as
resolveDeps(Iterable) but for one dep |
Map<BuildTarget,ProviderInfoCollection> |
resolveDeps(Iterable<BuildTarget> deps) |
Artifact |
resolveSrc(SourcePath src)
same as
resolveSrcs(Iterable) but for one src |
com.google.common.collect.ImmutableSortedSet<Artifact> |
resolveSrcs(Iterable<SourcePath> srcs) |
Map<BuildTarget,ProviderInfoCollection> resolveDeps(Iterable<BuildTarget> deps)
resolveDeps
in interface DependencyOnlyRuleAnalysisContext
ProviderInfoCollection
of the providers propagated by each of the
dependencies requested.ProviderInfoCollection resolveDep(BuildTarget dep)
resolveDeps(Iterable)
but for one depresolveDep
in interface DependencyOnlyRuleAnalysisContext
com.google.common.collect.ImmutableSortedSet<Artifact> resolveSrcs(Iterable<SourcePath> srcs)
resolveSrcs
in interface DependencyOnlyRuleAnalysisContext
Artifact
of the sources of the providers propagated by each of
the source paths requested.Artifact resolveSrc(SourcePath src)
resolveSrcs(Iterable)
but for one srcresolveSrc
in interface DependencyOnlyRuleAnalysisContext
ActionRegistry actionRegistry()
BuckEventBus getEventBus()
BuckEventBus
for sending stats and printing