aboutsummaryrefslogtreecommitdiffhomepage
path: root/tools/jdk/BUILD
Commit message (Collapse)AuthorAge
* Move bazel conditions into src/conditions.Gravatar tomlu2017-11-30
| | | | | | | This will enable an easier transition from checked-in BUILD files to ones generated by copybara. RELNOTES: None PiperOrigin-RevId: 177514519
* Remove java_toolchain using remote targets.Gravatar xingao2017-11-21
| | | | PiperOrigin-RevId: 176521744
* Enable switching singlejar and ijar targets for remote execution.Gravatar xingao2017-11-02
| | | | | | When --define EXECUTOR=remote is specified in bazel command, embedded tool singlejar and ijar will be compiled remotely from source. PiperOrigin-RevId: 174195094
* Add java_toolchain which compiles singlejar and ijar from source.Gravatar xingao2017-10-24
| | | | PiperOrigin-RevId: 173178028
* Enable debug info for Java buildsGravatar cushon2017-08-23
| | | | | | | | | | | See: * https://docs.oracle.com/javase/9/tools/javac.htm#GUID-AEEC9F07-CB49-4E96-8BC7-BCC2C7F725C9__GUID-38E8A593-FF4E-4EEA-ADC1-84429B08CCA2 * https://docs.oracle.com/javase/9/tools/javac.htm#GUID-AEEC9F07-CB49-4E96-8BC7-BCC2C7F725C9__GUID-A649BE59-30C2-48E8-A766-FA5CD21AB3AF Fixes #2859 RELNOTES: Enable debug info for Java builds PiperOrigin-RevId: 166129309
* Make default java_toolchain compile protos as java 7.Gravatar ajmichael2017-08-17
| | | | | | | | | Fixes https://github.com/bazelbuild/bazel/issues/2829 Without this change, there is no way to use Bazel to build a release Android build (--noincremental_dexing) with java 8 and protos. RELNOTES: Java protos are compiled to Java 7 bytecode. PiperOrigin-RevId: 165500316
* Add *_alias rules to @bazel_tools so that people don't have to keep writing ↵Gravatar lberki2017-07-14
| | | | | | | | | | their own. The alias_rules.bzl hack is required because Bazel at HEAD needs to be able to be built with released Bazel, which doesn't know these rules yet. RELNOTES: None. PiperOrigin-RevId: 161808672
* Remove hard-coded -Xbootclasspath/p flags for javac and turbine invocationsGravatar cushon2017-07-12
| | | | | | | | And instead rely on the flags being set in java_toolchain.jvm_opts. This change is being made in preparation for JDK 9, which replaces -Xbootclasspath/p with --patch-module. PiperOrigin-RevId: 161620182
* Add alias in bazel_tools for jni_md_header-windowsGravatar pcloudy2017-06-27
| | | | | | | | | | Some projects, eg. TF depends on @bazel_tools//tools/jdk:jni_md_header-<platform> https://github.com/tensorflow/tensorflow/blob/master/tensorflow/java/src/main/native/BUILD#L70 We already have this for darwin, linux and freebsd, should also provide it for Windows. RELNOTES: None. PiperOrigin-RevId: 160248449
* Automated g4 rollback of commit dba22f337a20d3e8f3ac8dfd23bc6fa69e4528da.Gravatar xingao2017-06-02
| | | | | | | | | | | | | | | | | | | | | *** Reason for rollback *** Use Java implementation of singlejar on FreeBSD, and roll forward change 157473007. *** Original change description *** Automated g4 rollback of commit d894345ed88f8adce600b66a310b5210d0bcb59c. *** Reason for rollback *** Breaks Bazel on FreeBSD: http://ci.bazel.io/view/Dashboard/job/Bazel/JAVA_VERSION=1.8,PLATFORM_NAME=freebsd-11/1542/console *** Original change description *** Use cc implementation of singlejar except on Windows. Change-Id: Ie4a2db2a6fa1ea86f4bdd42cd806f6804a0c56d4 PiperOrigin-RevId: 157729503
* Automated g4 rollback of commit d894345ed88f8adce600b66a310b5210d0bcb59c.Gravatar laszlocsomor2017-05-31
| | | | | | | | | | | | | *** Reason for rollback *** Breaks Bazel on FreeBSD: http://ci.bazel.io/view/Dashboard/job/Bazel/JAVA_VERSION=1.8,PLATFORM_NAME=freebsd-11/1542/console *** Original change description *** Use cc implementation of singlejar except on Windows. Change-Id: Ie4a2db2a6fa1ea86f4bdd42cd806f6804a0c56d4 PiperOrigin-RevId: 157567871
* Use cc implementation of singlejar except on Windows.Gravatar Xin Gao2017-05-31
| | | | | Change-Id: Ie4a2db2a6fa1ea86f4bdd42cd806f6804a0c56d4 PiperOrigin-RevId: 157473007
* Migrate off versioned javac and Error Prone targetsGravatar Liam Miller-Cushon2017-05-09
| | | | | Change-Id: Iad1e07ad55d5304d7c3dbb8bdab856728a91432d PiperOrigin-RevId: 155375893
* Update to javac9-r4023Gravatar cushon2017-04-25
| | | | PiperOrigin-RevId: 154078281
* Roll forward change https://cr.bazel.build/9250 with Java 7 build failure fix.Gravatar xingao2017-04-04
| | | | | | | | | Make Java tool jars available from @bazel_tools. Now users can point to default Java tool jars in customized java_toolchain rule defined in project's BUILD file. PiperOrigin-RevId: 152012191
* Automated g4 rollback of commit 99a5a30d17d920de323d1cc37e3fe25a0749ae41.Gravatar philwo2017-03-31
| | | | | | | | | | | | | | | | | | *** Reason for rollback *** Breaks Java 7 tests: ERROR: missing input file '@bazel_tools//tools/jdk:JavaBuilder_deploy.jar' http://ci.bazel.io/job/bazel-tests/BAZEL_VERSION=HEAD-jdk7,PLATFORM_NAME=linux-x86_64/670/console *** Original change description *** Make Java tool jars available from @bazel_tools. Now users can point to default Java tool jars in custmized java_toolchain rule defined in project's BUILD file. PiperOrigin-RevId: 151699090
* Make Java tool jars available from @bazel_tools. Gravatar Xin Gao2017-03-28
| | | | | | | | | | | Now users can point to default Java tool jars in custmized java_toolchain rule defined in project's BUILD file. -- Change-Id: I064c9646e8681a3f5669d7163b1b3cb5cc0b16b7 Reviewed-on: https://cr.bazel.build/9250 PiperOrigin-RevId: 151422924 MOS_MIGRATED_REVID=151422924
* Rollback of commit 3da16e3b4e8be4d4c4a6eae80365a85851e3253d.Gravatar Liam Miller-Cushon2017-02-22
| | | | | | | | | | | | | | | | | *** Reason for rollback *** rules_closure needs to set go/be#java_plugin.generates_api to 1 for dagger *** Original change description *** Disable Java header compilation by default in Bazel. Enabling this by default broke rules_closure at HEAD: http://ci.bazel.io/view/Dashboard/job/rules_closure/BAZEL_VERSION=HEAD,PLATFORM_NAME=linux-x86_64/711/console -- PiperOrigin-RevId: 148132758 MOS_MIGRATED_REVID=148132758
* Disable Java header compilation by default in Bazel.Gravatar Irina Iancu2017-02-21
| | | | | | | | | Enabling this by default broke rules_closure at HEAD: http://ci.bazel.io/view/Dashboard/job/rules_closure/BAZEL_VERSION=HEAD,PLATFORM_NAME=linux-x86_64/711/console -- PiperOrigin-RevId: 148092235 MOS_MIGRATED_REVID=148092235
* Added alias for extdir in tools/jdk.Gravatar Irina Iancu2017-02-21
| | | | | | | | | | | Some projects fail [1] to build after the change that renamed extdir to extclasspath [2]. [1] http://ci.bazel.io/job/rules_appengine/BAZEL_VERSION=HEAD,PLATFORM_NAME=linux-x86_64/564/console [2] 8153cb80f4a4424640e694cb6ed4792dcc193171 -- PiperOrigin-RevId: 148085503 MOS_MIGRATED_REVID=148085503
* Rename 'extdir' to 'extclasspath'Gravatar Liam Miller-Cushon2017-02-17
| | | | | | | | | The targets contain the entries in the extdir and are used to construct a classpath, so the label is not actually a directory. -- PiperOrigin-RevId: 147798672 MOS_MIGRATED_REVID=147798672
* Avoid using //external labels; use @local_jdk// insteadGravatar Ulf Adams2017-02-14
| | | | | | -- PiperOrigin-RevId: 147449557 MOS_MIGRATED_REVID=147449557
* gen_java_lang_invoke_jar should not use java from $PATH.Gravatar Adam Michael2017-02-13
| | | | | | | | | | This caused a failure in http://ci.bazel.io/job/Gerrit-bazel-tests/368/BAZEL_VERSION=latest,PLATFORM_NAME=ubuntu_15.10-x86_64/console where the genrule used java from a jdk7 instead of a jdk8. -- PiperOrigin-RevId: 147198518 MOS_MIGRATED_REVID=147198518
* Rollback of commit a80099b6de04dec802b556768f8c5f1c299c83ee.Gravatar Liam Miller-Cushon2017-02-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | *** Reason for rollback *** Header compilation is now explicitly disabled for JDK 7 Bazel using java_toolchain.forcibly_disable_header_compilation *** Original change description *** Automated [] rollback of commit 156adeec613ab140a91d73e1147bc688689bcfb7. *** Reason for rollback *** Breaks Bazel on JDK 7: http://ci.bazel.io/view/Dashboard/job/bazel-tests/BAZEL_VERSION=HEAD-jdk7,PLATFORM_NAME=linux-x86_64/475/console *** Original change description *** Automated [] rollback of commit 5163ec2c0db8fbdc7f367bb4aca5b6d7ae6d80b0. *** Reason for rollback *** See unknown commit *** Original change description *** Automated [] rollback of commit c9dbd4c1a4a4b4345c0b3924f86e01612ae12807. *** Reason for rollback *** Breaks bazel-docker-tests http://ci.baz... *** -- PiperOrigin-RevId: 146685610 MOS_MIGRATED_REVID=146685610
* Rollback of commit 156adeec613ab140a91d73e1147bc688689bcfb7.Gravatar Lukacs Berki2017-01-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | *** Reason for rollback *** Breaks Bazel on JDK 7: http://ci.bazel.io/view/Dashboard/job/bazel-tests/BAZEL_VERSION=HEAD-jdk7,PLATFORM_NAME=linux-x86_64/475/console *** Original change description *** Automated [] rollback of commit 5163ec2c0db8fbdc7f367bb4aca5b6d7ae6d80b0. *** Reason for rollback *** See unknown commit *** Original change description *** Automated [] rollback of commit c9dbd4c1a4a4b4345c0b3924f86e01612ae12807. *** Reason for rollback *** Breaks bazel-docker-tests http://ci.bazel.io/view/Dashboard/job/bazel-docker-tests/lastCompletedBuild/BAZEL_VERSION=HEAD,PLATFORM_NAME=docker/console *** Original change description *** Enable header compilation by default -- PiperOrigin-RevId: 144443446 MOS_MIGRATED_REVID=144443446
* Rollback of commit 5163ec2c0db8fbdc7f367bb4aca5b6d7ae6d80b0.Gravatar Liam Miller-Cushon2017-01-13
| | | | | | | | | | | | | | | | | | | | | | | | *** Reason for rollback *** See unknown commit *** Original change description *** Automated [] rollback of commit c9dbd4c1a4a4b4345c0b3924f86e01612ae12807. *** Reason for rollback *** Breaks bazel-docker-tests http://ci.bazel.io/view/Dashboard/job/bazel-docker-tests/lastCompletedBuild/BAZEL_VERSION=HEAD,PLATFORM_NAME=docker/console *** Original change description *** Enable header compilation by default -- PiperOrigin-RevId: 144344329 MOS_MIGRATED_REVID=144344329
* Rollback of commit c9dbd4c1a4a4b4345c0b3924f86e01612ae12807.Gravatar Marcel Hlopko2017-01-11
| | | | | | | | | | | | | | | | *** Reason for rollback *** Breaks bazel-docker-tests http://ci.bazel.io/view/Dashboard/job/bazel-docker-tests/lastCompletedBuild/BAZEL_VERSION=HEAD,PLATFORM_NAME=docker/console *** Original change description *** Enable header compilation by default -- PiperOrigin-RevId: 144176396 MOS_MIGRATED_REVID=144176396
* Enable header compilation by defaultGravatar Liam Miller-Cushon2017-01-10
| | | | | | -- PiperOrigin-RevId: 143972504 MOS_MIGRATED_REVID=143972504
* Fix cycle in dependency graph during bootstrapGravatar Damien Martin-Guillerez2016-12-20
| | | | | | | | | | | | | | | | This cycle was due to JacocoCoverage_deploy.jar being an implicit dependency of java_binary. We do not need the binary during bootstrap because we are not running with coverage but we need the target. Simply move it to exists as a java_import in tools/jdk. Fixes #2269. To be cherry-picked for #2246. -- Change-Id: I63aee0e76b305833ac0c0c2cae5abe1cbad5e6d1 Reviewed-on: https://cr.bazel.build/8036 PiperOrigin-RevId: 142537244 MOS_MIGRATED_REVID=142537244
* Avoids NullPointerException when running `bazel coverage //:xxx`, since ↵Gravatar Yue Gan2016-12-20
| | | | | | | | | | PathFragment.getParentDirectory() may return null. Fixes #2212. Also adds coverage-specific attributes to the java_binary rule. -- PiperOrigin-RevId: 142516883 MOS_MIGRATED_REVID=142516883
* Remove JavaCpuSupplier; use the actual --cpu value instead.Gravatar Ulf Adams2016-10-06
| | | | | | | | | | | | This is a semantic change for Bazel, which now observes the --cpu flag when looking up a Jvm. Use "-default" as a fallback to keep the change backwards compatible. RELNOTES[INC]: Bazel now uses the --cpu flag to look up Jvms; it falls back to "default" if it can't find a Jvm matching the CPU value. -- MOS_MIGRATED_REVID=135333759
* workers: Use workers by default for Javac.Gravatar Philipp Wollermann2016-07-29
| | | | | | | RELNOTES: Persistent workers are now used by default for Java compilation in Bazel, which should speed up your Java builds by ~4x. You can switch back to the old behavior via --strategy=Javac=standalone. Check out http://www.bazel.io/blog/2015/12/10/java-workers.html for more details. -- MOS_MIGRATED_REVID=128801059
* When running Javac and related tools, use -XX:+TieredCompilation ↵Gravatar Philipp Wollermann2016-07-18
| | | | | | | | | -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. -- MOS_MIGRATED_REVID=127536578
* Description redacted.Gravatar Carmi Grushko2016-06-23
| | | | | -- MOS_MIGRATED_REVID=125589653
* 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
* 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
* 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
* 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
* Rollback of commit 6cb8d820689ad029a9d0dc4ee1100db9b2d96515.Gravatar Damien Martin-Guillerez2016-04-14
| | | | | | | | | | | | | | | | | | | | | | *** Reason for rollback *** Breaks ci.bazel.io While the basics for fixing the build is easy (just a few typos in packages building), fixing the test is a bit more tricky. I see only one solution for fixing the test: use a select statement that would select the good bazel version but that would always pull JavaBuilder as an external dependency when we do test. Better roll this back then check the JavaBuilder 0.1.0 as a binary in third_party before rolling forward (a similar change is still needed to decouple running the test and building the binary for JDK 7) *** Original change description *** Refactor build for JDK 7 Now the JDK 7 tuning happens all in Bazel, removing logic from the CI script. It uses remote repositories to access JDK 7 dependencies. -- MOS_MIGRATED_REVID=119773123
* Refactor build for JDK 7Gravatar Damien Martin-Guillerez2016-04-13
| | | | | | | | | | | Now the JDK 7 tuning happens all in Bazel, removing logic from the CI script. It uses remote repositories to access JDK 7 dependencies. -- Change-Id: Iff590c6642ca5b2343aa15096f8fd837d1c80787 Reviewed-on: https://bazel-review.googlesource.com/#/c/3327 MOS_MIGRATED_REVID=119634530
* Make Bazel be able to reach ijar on Windows where it's called "ijar.exe" .Gravatar Lukacs Berki2016-02-11
| | | | | | | A small step towards the resolution of #276. -- MOS_MIGRATED_REVID=114330517
* Tweak the bootstrapping and build process so that the prebuilt tools under ↵Gravatar Lukacs Berki2015-11-18
| | | | | | | | | tools/jdk are not necessary anymore. Fixes #508. -- MOS_MIGRATED_REVID=108123264
* Allow Java libraries to export and propagate proguard_specs.Gravatar Michael Staib2015-10-06
| | | | | | | | | | | | | | | It may be the case that a library used by Java clients is also used by Android clients, but when used for the latter, it requires a particular Proguard configuration. This change modifies Java library rules to accept Proguard specs and pass them up to Android rules. Note that this does not cause Proguard to be used on normal Java binaries. RELNOTES[NEW]: java_library now supports the proguard_specs attribute for passing Proguard configuration up to Android (not Java) binaries. -- MOS_MIGRATED_REVID=104661799
* Requires JDK 8Gravatar Damien Martin-Guillerez2015-09-15
| | | | | | | | | | | | This change deprecate JDK 7 as JavaBuilder follow changes in Java 9 and might use Java 8 features. We will maintain a build with the JDK 7 as long as possible but this build won't include updates in JavaBuilder. RELNOTES[INC]: Bazel requires JDK 8 to run. -- MOS_MIGRATED_REVID=103069207
* Port to FreeBSD.Gravatar Doug Rabson2015-08-26
| | | | | | | -- Change-Id: I4e65cc583e758d2f7e45209ffcb37f6a871e2ed7 Reviewed-on: https://bazel-review.git.corp.google.com/#/c/1840 MOS_MIGRATED_REVID=101462155
* Improve the JDK and JRE filegroups to include all the necessary parts. Then ↵Gravatar Philipp Wollermann2015-08-24
| | | | | | | fix the Skylark rules and tests that so far failed to declare dependencies on the JVM. -- MOS_MIGRATED_REVID=101215495
* Create a binary packager for BazelGravatar Damien Martin-Guillerez2015-07-29
| | | | | | | | | | | | | | | | | This packager can be called by the release scripts to generate a self-extractable bash installer for Bazel. This script was tested by hand as extra arguments can be specified to change the default install of Bazel (default is system-wide and with the argument you can make a user install). This will be the only packager for now since GitHub is offering the possibility to download the source tree as a ZIP. Hopefully, before the end of the year we could build some more package kind. -- Change-Id: I1a2d0cd39b9e4adcaf6c984ec4c855a04213b61a Reviewed-on: https://bazel-review.googlesource.com/1581 MOS_MIGRATED_REVID=99258828
* Adds gen jar and manifest proto outputs.Gravatar Alex Humesky2015-07-10
| | | | | | | Adds a jar output to Java and Android rules which contains the class files for source files generated from Java annotation processors. For a java_binary foo, the jar will be foo-gen.jar, and for a java_library foo the jar will be libfoo-gen.jar, and similarly for Android. Also adds a binary serialized proto manifest file output to Java and Android rules which describes the contents of the output class jar of those rules, which is used to create the -gen.jar. See src/main/protobuf/java_compilation.proto. -- MOS_MIGRATED_REVID=97793715
* Make use of the jvm_opts from java_toolchainGravatar Damien Martin-Guillerez2015-06-24
| | | | | | | -client is now the only default JVM options of JavaBuilder -- MOS_MIGRATED_REVID=96762330
* Lower the requirement to Java 7Gravatar Damien Martin-Guillerez2015-06-19
| | | | | | | | | Now that we are using the error-prone javac, there is no need to impose Java 8. However, because some of our tests are targetting Java 8, developer should still use a JDK 8 to tests. -- MOS_MIGRATED_REVID=96400914