Compile base classpaths for Bazel Jack support in android_sdk.

This also enables Jack support to compile with the Java bootclasspath
when running over non-Android rules. This is akin to how normal javac
support works - android_ rules are compiled with android.jar, while
java_libraries are compiled with special flags but the normal compile
time bootclasspath.

As of this change, the android_jack attribute on android_sdk is now
deprecated, and has no further effect. Because it was always optional,
this isn't really much of a change, it just means that now it does
nothing even if you DO specify it.

Because Jack support is still experimental, this should have no effect
on most users.

RELNOTES[INC]: android_sdk now compiles android_jack on the fly from
android_jar, which means android_jar must be a jar and android_jack is
now deprecated. The Jack tools (jack, jill, resource_extractor) must
be specified.

--
MOS_MIGRATED_REVID=117386373
8 files changed
tree: e57bcbd981a4b04d6f3339981ee40d251901f19b
  1. examples/
  2. scripts/
  3. site/
  4. src/
  5. third_party/
  6. tools/
  7. .gitattributes
  8. .gitignore
  9. AUTHORS
  10. BUILD
  11. CHANGELOG.md
  12. compile.sh
  13. CONTRIBUTING.md
  14. CONTRIBUTORS
  15. LICENSE.txt
  16. README.md
  17. WORKSPACE
README.md

Bazel (Beta)

{Fast, Correct} - Choose two

Bazel is a build tool that builds code quickly and reliably. It is used to build the majority of Google‘s software, and thus it has been designed to handle build problems present in Google’s development environment, including:

  • A massive, shared code repository, in which all software is built from source. Bazel has been built for speed, using both caching and parallelism to achieve this. Bazel is critical to Google's ability to continue to scale its software development practices as the company grows.

  • An emphasis on automated testing and releases. Bazel has been built for correctness and reproducibility, meaning that a build performed on a continuous build machine or in a release pipeline will generate bitwise-identical outputs to those generated on a developer's machine.

  • Language and platform diversity. Bazel's architecture is general enough to support many different programming languages within Google, and can be used to build both client and server software targeting multiple architectures from the same underlying codebase.

Find more background about Bazel in our FAQ.

Getting Started

About the Bazel project: