Rollback of commit 2153790fbebaed4aef6544fea3a85a01749b0d11.

*** Reason for rollback ***

Causes NPEs in tests that use AutoValue, on Kokoro and CI.

Bazel uses TestRunner_deploy.jar to run tests. To save time, we use the latest Bazel release to run tests. Therefore, we use a TestRunner_deploy.jar with an AutoValue 1.2 embedded. 
If the test requires AV itself, we use the one from HEAD, which is 1.4-rc1, therefore causing one-definition rule violations.

Once we release a TestRunner without AV (commit 90b5b19927540fc1e1c9e1a7fbd05c816ae0e4e2), we can roll forward. 


error: @AutoValue processor threw an exception: java.lang.NullPointerException
  abstract static class AutoValuedClass implements TransitiveInfoProvider {
                  ^
  	at com.google.auto.value.processor.AutoValueProcessor.getFieldOfClasses(AutoValueProcessor.java:566)
  	at com.google.auto.value.processor.AutoValueProcessor.allMethodExcludedAnnotations(AutoValueProcessor.java:818)
  	at com.google.auto.value.processor.AutoValueProcessor.defineVarsForType(AutoValueProcessor.java:763)
  	at com.google.auto.value.processor.AutoValueProcessor.processType(AutoValueProcessor.java:488)
  	at com.google.auto.value.processor.AutoValueProcessor.process(AutoValueProcessor.java:195)
  	at com.sun.tools.javac.processing.JavacProcessingEnvironment.callProcessor(JavacProcessingEnvironment.java:803)
  	at com.sun.tools.javac.processing.JavacProcessingEnvironment.discoverAndRunProcs(JavacProcessingEnvironment.java:715)
  	at com.sun.tools.javac.processing.JavacProcessingEnvironment.access$2000(JavacProcessingEnvironment.java:93)
  	at com.sun.tools.javac.processing.JavacProcessingEnvironment$Round.run(JavacProcessingEnvironment.java:1023)
  	at com.sun.tools.javac.processing.JavacProcessingEnvironment.doProcessing(JavacProcessingEnvironment.java:1130)
  	at com.sun.tools.javac.main.JavaCompiler.processAnnotations(JavaCompiler.java:1141)
  	at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:832)
  	at com.sun.tools.javac.main.Main.compile(Main.java:253)
  	at com.google.devtools.build.buildjar.javac.BlazeJavacMain.compile(BlazeJavacMain.java:140)
  	at com.google.devtools.build.buildjar.javac.BlazeJavacMain.compile(BlazeJavacMain.java:132)
  	at com.google.devtools.build.buildjar.AbstractJavaBuilder$1.invokeJavac(AbstractJavaBuilder.java:66)
  	at com.google.devtools.build.buildjar.ReducedClasspathJavaLibraryBuilder.compileSources(ReducedClasspathJavaLibraryBuilder.java:81)
  	at com.google.devtools.build.buildjar.AbstractJavaBuilder.compileJavaLibrary(AbstractJavaBuilder.java:69)
  	at com.google.devtools.build.buildjar.AbstractJavaBuilder.run(AbstractJavaBuilder.java:108)
  	at com.google.devtools.build.buildjar.BazelJavaBuilder.processRequest(BazelJavaBuilder.java:92)
  	at com.google.devtools.build.buildjar.BazelJavaBuilder.runPersistentWorker(BazelJavaBuilder.java:70)
  	at com.google.devtools.build.buildjar.BazelJavaBuilder.main(BazelJavaBuilder.java:47)

*** Original change description ***

Bazel to use AutoValue 1.4-rc1.
The big improvement is the addition of @AutoValue.CopyAnnotations, which allows AutoValue classes to be exposed to Skylark via @SkylarkModule.

--
MOS_MIGRATED_REVID=139361042
1 file changed
tree: 611e9abe1b4a069561af900c022d15c561fbc666
  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. combine_distfiles.sh
  13. compile.sh
  14. CONTRIBUTING.md
  15. CONTRIBUTORS
  16. ISSUE_TEMPLATE.md
  17. LICENSE.txt
  18. README.md
  19. 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:

Build Status