diff options
author | cushon <cushon@google.com> | 2017-07-06 17:04:27 -0400 |
---|---|---|
committer | John Cater <jcater@google.com> | 2017-07-07 07:07:57 -0400 |
commit | 58dc6b98f92c88bd788b6459a2e26101c99f245a (patch) | |
tree | eb51fec94911abd82936844a07e64bef659bf2be /site/blog | |
parent | 17795caaa2eb6e05b107502a57e929f1b0224344 (diff) |
Remove support for -extra_checks:off
it has been replaced by -XepDisableAllChecks, which disables all Error Prone
checks instead of disabling the plugin. Disabling the plugin entirely breaks
handling of other -Xep flags.
RELNOTES[INC]: -extra_checks:off is no longer supported; use -XepDisableAllChecks instead
PiperOrigin-RevId: 161127522
Diffstat (limited to 'site/blog')
-rw-r--r-- | site/blog/_posts/2015-06-25-ErrorProne.md | 17 | ||||
-rw-r--r-- | site/blog/_posts/2015-07-08-Java-Configuration.md | 43 |
2 files changed, 60 insertions, 0 deletions
diff --git a/site/blog/_posts/2015-06-25-ErrorProne.md b/site/blog/_posts/2015-06-25-ErrorProne.md new file mode 100644 index 0000000000..d79d87accb --- /dev/null +++ b/site/blog/_posts/2015-06-25-ErrorProne.md @@ -0,0 +1,17 @@ +--- +layout: posts +title: Checking your Java errors with Error Prone. +--- + +We recently open-sourced our support for [Error Prone](http://errorprone.info). +[Error Prone](http://errorprone.info) checks for common mistakes in Java code +that will not be caught by the compiler. + +We turned [Error Prone](http://errorprone.info) on by default but you can easily +turn it off by using the Javac option `-XepDisableAllChecks`. To do so, simply +specify `--javacopt='XepDisableAllChecks` to the list of Bazel's options. You +can also tune the checks error-prone will perform by using the [`-Xep:` +flags](http://errorprone.info/docs/flags). + +See the [documentation of Error Prone](http://errorprone.info/docs/installation) for more +on Error Prone. diff --git a/site/blog/_posts/2015-07-08-Java-Configuration.md b/site/blog/_posts/2015-07-08-Java-Configuration.md new file mode 100644 index 0000000000..2d0a3c70c5 --- /dev/null +++ b/site/blog/_posts/2015-07-08-Java-Configuration.md @@ -0,0 +1,43 @@ +--- +layout: posts +title: Configuring your Java builds +--- + +Let say that you want to build for Java 8 and Error Prone checks off but keep +the tools directory provided with Bazel in the package path, you could do that +by having the following rc file: + +``` +build --javacopt=-XepDisableAllChecks +build --javacopt="-source 8 -target 8" +``` + +However, the file would becomes quickly overloaded, especially if you take +all languages and options into account. Instead, you can tweak the +[java_toolchain](https://github.com/bazelbuild/bazel/tree/0e1680e58f01f3d443f7e68865b5a56b76c9dadf/tools/jdk/BUILD#L73) +rule that specifies the various options for the java compiler. So in a +BUILD file: + +```python +java_toolchain( + name = "my_toolchain", + encoding = "UTF-8", + source_version = "8", + target_version = "8", + misc = [ + "-Xep:CollectionIncompatibleType:ERROR", # http://errorprone.info/bugpattern/CollectionIncompatibleType + ], +) +``` + +And to keep it out of the tools directory (or you need to copy the rest +of the package), you can redirect the default one in a bazelrc: + +``` +build --java_toolchain=//package:my_toolchain +``` + +In the future, toolchain rules should be the configuration points for all +the languages but it is a long road. We also want to make it easier to +rebind the toolchain using the `bind` rule in the WORKSPACE file. + |