On-the-fly target pattern resolution in SkyQueryEnvironment

Moves pattern resolving logic from TargetPatternFunction.Resolver to
a top level class. Adds a layer of abstraction to the Resolver
implementation enabling it to be backed by either an Environment or
a Graph, for use in SkyFunction evaluation or on-the-fly evaluation,
respectively. Finally, SkyQueryEnvironment#preloadOrThrow now checks
to see if each target pattern exists in the graph, and any that
don't will be resolved on-the-fly.

--
MOS_MIGRATED_REVID=88861201
13 files changed
tree: c9f2455d27a1e33d80ce23aeb6209cf52a32f651
  1. base_workspace/
  2. docs/
  3. scripts/
  4. src/
  5. third_party/
  6. tools/
  7. .gitignore
  8. .travis.yml
  9. bootstrap_test.sh
  10. compile.sh
  11. LICENSE.txt
  12. README.md
  13. WORKSPACE
README.md

Bazel

{Fast, Correct} - Choose two

Bazel is a build tool that builds code quickly and reliably. It executes as few build steps as possible by tracking dependencies and outputs, controls the build environment to keep builds hermetic, and uses its knowledge of dependencies to parallelize builds.