aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/java_tools
Commit message (Collapse)AuthorAge
* Description redacted.Gravatar Carmi Grushko2016-06-23
| | | | | -- MOS_MIGRATED_REVID=125589653
* Global cleanup change.Gravatar Googler2016-06-21
| | | | | -- MOS_MIGRATED_REVID=125449526
* When running Java-based tools, use -XX:+TieredCompilation ↵Gravatar Philipp Wollermann2016-06-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -XX:TieredStopAtLevel=1 instead of -client, as the latter is ignored on 64-bit JVMs since at least JDK 6. The new flags have been shown to cut down CPU time by 50% due to reduced time spent in JIT and improving overall run time for short running actions, some times also cutting them in half. Here's a benchmark of Bazel building itself, giving a nice 2-4x speedup: ./output/bazel clean && ./output/bazel build //src:bazel Bazel before this change: INFO: Elapsed time: 197.783s, Critical Path: 194.10s INFO: Elapsed time: 198.928s, Critical Path: 195.65s INFO: Elapsed time: 194.913s, Critical Path: 191.56s Bazel before this change with --strategy=Javac=worker: INFO: Elapsed time: 130.436s, Critical Path: 124.27s INFO: Elapsed time: 116.114s, Critical Path: 112.30s INFO: Elapsed time: 116.852s, Critical Path: 84.45s Bazel with this change: INFO: Elapsed time: 121.625s, Critical Path: 119.08s INFO: Elapsed time: 119.401s, Critical Path: 115.80s INFO: Elapsed time: 121.198s, Critical Path: 119.03s Bazel with this change and --strategy=Javac=worker: INFO: Elapsed time: 54.456s, Critical Path: 51.28s INFO: Elapsed time: 53.272s, Critical Path: 51.09s INFO: Elapsed time: 52.966s, Critical Path: 49.86s Bazel with this change and --strategy=Javac=worker and stripping -XX:TieredStopAtLevel=1 from JVM flags when using workers: INFO: Elapsed time: 61.599s, Critical Path: 58.93s INFO: Elapsed time: 48.695s, Critical Path: 45.02s INFO: Elapsed time: 46.874s, Critical Path: 43.91s INFO: Elapsed time: 46.174s, Critical Path: 43.32s (The latter is a possible optimization for workers and it's also nice to know that the limited tiered compilation does not hurt their performance.) -- MOS_MIGRATED_REVID=125448089
* Rollback of commit bdfd58a8ca2ed5735d6aaa5b238fb0f689515724.Gravatar Laurent Le Brun2016-06-20
| | | | | -- MOS_MIGRATED_REVID=125160288
* Clean up the test runner code a bit.Gravatar Ulf Adams2016-06-20
| | | | | | | Small steps towards #1150. -- MOS_MIGRATED_REVID=125158135
* Fix deps of the Java test runner.Gravatar Ulf Adams2016-06-20
| | | | | | | This should help with #1203. -- MOS_MIGRATED_REVID=125154544
* Make the execution root match the runfiles tree structure for external ↵Gravatar Kristina Chodorow2016-06-17
| | | | | | | | | | | | | | | | | | | | | repositories One interesting side effect of how this is implemented is that for external repositories, bin/ and genfiles/ are combined. External repo output is under bazel-out/local-fastbuild/repo_name for each repo. Fixes #1262. RELNOTES[INC]: Previously, an external repository would be symlinked into the execution root at execroot/local_repo/external/remote_repo. This changes it to be at execroot/remote_repo. This may break genrules/Skylark actions that hardcode execution root paths. If this causes breakages for you, ensure that genrules are using $(location :target) to access files and Skylark rules are using http://bazel.io/docs/skylark/lib/File.html's path, dirname, etc. functions. -- MOS_MIGRATED_REVID=125095799
* Convert the Bazel JUnit4 test runner from Guice to Dagger.Gravatar Googler2016-06-06
| | | | | -- MOS_MIGRATED_REVID=124008772
* For open-source Error Prone, disable checks that are more stylistic thanGravatar Eddie Aftandilian2016-05-30
| | | | | | | | | | | functional. This will improve signal-to-noise ratio for Android and our external users. Specifically, disables ClassName, DepAnn, LongLiteralLowerCaseSuffix, MultipleTopLevelClasses, and StaticAccessedFromInstance. -- MOS_MIGRATED_REVID=123459006
* Description redacted.Gravatar Googler2016-05-30
| | | | | -- MOS_MIGRATED_REVID=123431237
* Convert the Bazel JUnit4 test runner from Guice to Dagger.Gravatar Googler2016-05-27
| | | | | -- MOS_MIGRATED_REVID=123342439
* Write a -gensrc.jar even if the compilation failedGravatar Liam Miller-Cushon2016-05-19
| | | | | | | The generated sources are useful for debugging annotation processors. -- MOS_MIGRATED_REVID=122683781
* Add turbine to embedded toolsGravatar Liam Miller-Cushon2016-05-06
| | | | | | | | This allows --experimental_java_header_compilation=true to be used with Bazel. It is still off by default. -- MOS_MIGRATED_REVID=121623213
* Make processRequest public.Gravatar Googler2016-05-05
| | | | | -- MOS_MIGRATED_REVID=121520005
* Set Bazel's workspace nameGravatar Kristina Chodorow2016-04-27
| | | | | | | | | | RELNOTES: Bazel's workspace name is now io_bazel. If you are using Bazel's source as an external repository, then you may want to update the name you're referring to it as or you'll begin seeing warnings about name mismatches in your code. -- MOS_MIGRATED_REVID=120926179
* Do not compress small manifest files.Gravatar Googler2016-04-27
| | | | | -- MOS_MIGRATED_REVID=120846643
* Refactor JavaBuilder output handlingGravatar Liam Miller-Cushon2016-04-26
| | | | | | | | | Prefer Writer to OutputStream to reduce the number of char/byte conversions, and pass in a Writer for the persistent worker entry point instead of redirecting stdout and stderr. -- MOS_MIGRATED_REVID=120771072
* Clean up assertionsGravatar Liam Miller-Cushon2016-04-26
| | | | | -- MOS_MIGRATED_REVID=120742339
* Make --target_label and --rule_kind optionalGravatar Liam Miller-Cushon2016-04-25
| | | | | | | | This is consistent with JavaBuilder. Some actions (e.g. resource compilations) don't set these flags. -- MOS_MIGRATED_REVID=120590777
* Automated [] rollback of commit 857cda2c45a5cc68c3fa398311c48c571a64915d and ↵Gravatar Damien Martin-Guillerez2016-04-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | commit 790d2f6009d47fe92cf0cd92a1473bbf0141f32e. *** Reason for rollback *** Broke non-Bazel projects on ci.bazel.io Fixes #1168 *** Original change description *** Move the runfiles for external repositories to under the x.runfiles/ directory This also sets the Bazel workspace name to io_bazel_source. Fixes #848. Relevant to #1116, #1124, RELNOTES[INC]: All repositories are now directly under the x.runfiles directory in the runfiles tree (previously, external repositories were at x.runfiles/main-repo/external/other-repo. This simplifies handling remote repository runfiles considerably, but will break existing references to external repository runfiles.... *** -- MOS_MIGRATED_REVID=120535721
* Flush output before exitingGravatar Liam Miller-Cushon2016-04-22
| | | | | | | | Explicitly close the PrintWriter before exiting, calling write(String) on an auto-flushing PrintWriter doesn't flush the output. -- MOS_MIGRATED_REVID=120473105
* Switch from relying on the Guice-specific annotations to the JSR-330 ↵Gravatar Googler2016-04-21
| | | | | | | standard annotations. -- MOS_MIGRATED_REVID=120351013
* Refactor JDK 7 build to use the vendored version of itGravatar Damien Martin-Guillerez2016-04-20
| | | | | | | | | | | | | Along the path, fix the build for JDK 7 and get rid of most ugliness in the JDK 7 build. Now simply setting JAVA_VERSION to 1.7 will build a JDK 7 compatible version. Fixes #1159. -- Change-Id: I9599283844a57d9e053f12d37445907f22a9232e Reviewed-on: https://bazel-review.googlesource.com/#/c/3452 MOS_MIGRATED_REVID=120332747
* Move the runfiles for external repositories to under the x.runfiles/ directoryGravatar Kristina Chodorow2016-04-20
| | | | | | | | | | | | | | | This also sets the Bazel workspace name to io_bazel_source. Fixes #848. Relevant to #1116, #1124, RELNOTES[INC]: All repositories are now directly under the x.runfiles directory in the runfiles tree (previously, external repositories were at x.runfiles/main-repo/external/other-repo. This simplifies handling remote repository runfiles considerably, but will break existing references to external repository runfiles. --- Furthermore, if a Bazel project does not provide a workspace name in the WORKSPACE file, Bazel will now default to using __main__ as the workspace name (instead of "", as previously). The repository's runfiles will appear under x.runfiles/__main__/. -- MOS_MIGRATED_REVID=120224534
* Deprecate top-level Java toolchain flags in favour of java_toolchainGravatar Liam Miller-Cushon2016-04-19
| | | | | | | | | | | | | This change disables --java_langtools, --javabuilder_top, --singlejar_top, --genclass_top, and --ijar_top, and finishes replacing them with java_toolchain.{javac,javabuilder,singlejar,genclass,ijar}. RELNOTES: Replace --java_langtools, --javabuilder_top, --singlejar_top, --genclass_top, and --ijar_top with java_toolchain.{javac,javabuilder,singlejar,genclass,ijar} -- MOS_MIGRATED_REVID=120154954
* Fixes GenClass exception when the temp directory does not exists.Gravatar Damien Martin-Guillerez2016-04-19
| | | | | | | -- Change-Id: Ie4236fbadc63ef38f08783acc0162cf0dd4fe872 Reviewed-on: https://bazel-review.googlesource.com/3422 MOS_MIGRATED_REVID=120146252
* GenClass: delete the temporary directory before usageGravatar Damien Martin-Guillerez2016-04-18
| | | | | | | Fixes #1104. -- MOS_MIGRATED_REVID=120098776
* Don't print extra newlinesGravatar Liam Miller-Cushon2016-04-11
| | | | | -- MOS_MIGRATED_REVID=119421719
* Relax strict deps checking in Turbine, leave enforcement to JavaBuilderGravatar Liam Miller-Cushon2016-04-11
| | | | | -- MOS_MIGRATED_REVID=119394125
* Don't emit native headers, only Java headersGravatar Liam Miller-Cushon2016-04-08
| | | | | | | If NATIVE_HEADER_OUTPUT is set (which it always was for ZipOutputFileManager), then javac will emit jni headers for native methods. Emitting the the headers requires doing unnecessary additional work and completing additional symbols, which may not be present on the classpath. -- MOS_MIGRATED_REVID=119286406
* Remove runWithLargeStack and remove some single-use abstractionsGravatar Liam Miller-Cushon2016-04-07
| | | | | -- MOS_MIGRATED_REVID=119188524
* Disable tree pruning for blacklisted annotation processorsGravatar Liam Miller-Cushon2016-04-07
| | | | | | | | | | Some annotation processors use non-standard APIs to examine the AST, and are broken by tree pruning. This change adds configuration to Turbine to allow a blacklist of processors to be provided, and disables tree pruning if any blacklisted processors are found. -- MOS_MIGRATED_REVID=119079114
* Remove shell quotes from javacoptsGravatar Liam Miller-Cushon2016-04-05
| | | | | -- MOS_MIGRATED_REVID=118967358
* Allow compilations to have an empty source listGravatar Liam Miller-Cushon2016-04-04
| | | | | | | for compatibility with JavaBuilder. -- MOS_MIGRATED_REVID=118802288
* Deduplicate annotation processor classesGravatar Liam Miller-Cushon2016-04-01
| | | | | | | Also rename the build method from add* to set*. -- MOS_MIGRATED_REVID=118746866
* Track which output files are writtenGravatar Liam Miller-Cushon2016-04-01
| | | | | | | | | instead of initializing all file objects to empty. Some annotation processors speculatively open files and handle FileNotFoundException, and we were always providing empty files. -- MOS_MIGRATED_REVID=118730162
* Handle more javacoptsGravatar Liam Miller-Cushon2016-04-01
| | | | | | | | | | | | | | Previously turbine whitelisted -source and -target flags and ignored all other configured javacopts, including custom annotation processor options and javac debug flags. The change switches to allowing all javacopts, and blackisting options that are known to be incompatible. Also ensure that invalid flags result in an error. -- MOS_MIGRATED_REVID=118718745
* Prune private fields and methods from the outputGravatar Liam Miller-Cushon2016-04-01
| | | | | -- MOS_MIGRATED_REVID=118713377
* Remove support for non-proto deps filesGravatar Liam Miller-Cushon2016-03-30
| | | | | -- MOS_MIGRATED_REVID=118488877
* Don't prune qualified super constructors invocations in chained constructorsGravatar Liam Miller-Cushon2016-03-30
| | | | | -- MOS_MIGRATED_REVID=118488791
* Fix file object URIs in ZipOutputFileManagerGravatar Liam Miller-Cushon2016-03-30
| | | | | | | Avoids spurious diagnostics about annotation processor generated class names not matching the file path. -- MOS_MIGRATED_REVID=118488628
* Handle overlapping source jarsGravatar Liam Miller-Cushon2016-03-30
| | | | | | | JavaBuilder overwrites files when extracting source jars, silently ignoring duplicates. It it'd be better if it didn't, but until it's fixed turbine should have the same behaviour. -- MOS_MIGRATED_REVID=118487939
* Update TODOGravatar Liam Miller-Cushon2016-03-29
| | | | | -- MOS_MIGRATED_REVID=118410183
* Record dependencies for exempt annotation processorsGravatar Liam Miller-Cushon2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | Certain annotation processors that generate references to transitive dependencies are exempt from Strict Java Deps. Dagger ensures that all references to transitive types are reachable via a chain of direct dependencies specified in @Component interfaces. We don't record dependencies inside dagger-generated code, since Dagger is already enforcing strict dependencies. By not recording the deps we allow dependency management tools to remove depednencies that are only needed transitively by dagger. This approach doesn't work in general, since processors may generate references to transitive types that are not reachable via a chain of direct deps, and which may be subject to pruning by the reduced classpath optimization. This change causes strict deps to record dependencies (but not emit strict deps errors) inside code generated by exempt annotation processors other than Dagger. -- MOS_MIGRATED_REVID=117882599
* Stop using //tools/defaults:java_langtoolsGravatar Liam Miller-Cushon2016-03-18
| | | | | | | | | | | | | | | | | | The //tools/defaults package exports the values of blaze flags, including --java_langtools. That flag is being deprecated and the configuration moved into the java_toolchain rule. This change migrates from the //tools/defaults targets for Java tools to the canonical versions of those tools. Unlike the previous solution, the tools in the package are no longer affected by the current build configuration (e.g. the value of --java_toolchain). If that configurability becomes necessary again, we can achieve it using Skylark (via the java.compilation_info.boot_classpath provider), or by expanding the blaze query output for java_toolchain (as used in java_toolchain_content). -- MOS_MIGRATED_REVID=117485737
* Mask turbine classes from the processor classpath to avoid version skewGravatar Liam Miller-Cushon2016-03-17
| | | | | | | | This prevents processors from seeing turbine's version of e.g. guava. javac is still available becuase Blaze puts it on the bootstrap classpath. -- MOS_MIGRATED_REVID=117363448
* Add Python protobuf to Bazel third_party and move all protobuf targets intoGravatar David Chen2016-03-17
| | | | | | | //third_party/protobuf. -- MOS_MIGRATED_REVID=117336377
* Description redacted.Gravatar Liam Miller-Cushon2016-03-15
| | | | | -- MOS_MIGRATED_REVID=117151379
* Global cleanup change.Gravatar Googler2016-03-08
| | | | | -- MOS_MIGRATED_REVID=116498132
* Canonicalize the name of the target itself for java indirect dep errors.Gravatar Brian Silverman2016-03-03
| | | | | | | | | | | | | | | Roll-forward of I3762e6be911b79a133a2959fce3a8bf34d183232 with fixes. Otherwise it prints the wrong message when the target which is missing a dependency is in a repository other than the default one. Second try with the new test disabled for jdk7 because that uses an old, fixed version of the code. -- Change-Id: I7e16fa874066e1b63064662df42a98784fcae233 Reviewed-on: https://bazel-review.googlesource.com/#/c/3032/ MOS_MIGRATED_REVID=116248259