aboutsummaryrefslogtreecommitdiffhomepage
path: root/site
diff options
context:
space:
mode:
authorGravatar tomlu <tomlu@google.com>2018-05-02 09:38:00 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-05-02 09:39:19 -0700
commite374970c71a0647bb4c95ccb9a1cc671e41b9134 (patch)
treee64a5f25642cf2adf47489fc3613429119d71536 /site
parent94b8702db5f9a905337aca74bfc2e7c436bf33ec (diff)
Add --incompatible_disallow_legacy_javainfo flag.
When set to true, old-style JavaInfo provider construction methods become an error. RELNOTES[INC]: Add --incompatible_disallow_legacy_javainfo flag. PiperOrigin-RevId: 195104452
Diffstat (limited to 'site')
-rw-r--r--site/docs/skylark/backward-compatibility.md71
1 files changed, 71 insertions, 0 deletions
diff --git a/site/docs/skylark/backward-compatibility.md b/site/docs/skylark/backward-compatibility.md
index dcbce32e32..d6a753fe76 100644
--- a/site/docs/skylark/backward-compatibility.md
+++ b/site/docs/skylark/backward-compatibility.md
@@ -44,6 +44,7 @@ guarded behind flags in the current release:
* [Disable objc provider resources](#disable-objc-provider-resources)
* [Remove native git repository](#remove-native-git-repository)
* [Remove native http archive](#remove-native-http-archive)
+* [New-style JavaInfo constructor](#new-style-java_info)
### Dictionary concatenation
@@ -265,5 +266,75 @@ should be used instead.
* Flag: `--incompatible_remove_native_http_archive`
* Default: `false`
+### New-style JavaInfo constructor
+
+When set, `java_common.create_provider` and certain arguments to `JavaInfo` are deprecated. The
+deprecated arguments are: `actions`, `sources`, `source_jars`, `use_ijar`, `java_toolchain`,
+and `host_javabase`.
+
+Example migration from `create_provider`:
+
+```python
+# Before
+provider = java_common.create_provider(
+ ctx.actions,
+ compile_time_jars = [output_jar],
+ use_ijar = True,
+ java_toolchain = ctx.attr._java_toolchain,
+ transitive_compile_time_jars = transitive_compile_time,
+ transitive_runtime_jars = transitive_runtime_jars,
+)
+
+# After
+compile_jar = java_common.run_ijar(
+ ctx.actions,
+ jar = output_jar,
+ target_label = ctx.label,
+ java_toolchain = ctx.attr._java_toolchain,
+)
+provider = JavaInfo(
+ output_jar = output_jar,
+ compile_jar = compile_jar,
+ deps = deps,
+ runtime_deps = runtime_deps,
+)
+```
+
+Example migration from deprecated `JavaInfo` arguments:
+
+```python
+# Before
+provider = JavaInfo(
+ output_jar = my_jar,
+ use_ijar = True,
+ sources = my_sources,
+ deps = my_compile_deps,
+ runtime_deps = my_runtime_deps,
+ actions = ctx.actions,
+ java_toolchain = my_java_toolchain,
+ host_javabase = my_host_javabase,
+)
+
+# After
+my_ijar = java_common.run_ijar(
+ ctx.actions,
+ jar = my_jar,
+ target_label = ctx.label,
+ java_toolchain, my_java_toolchain,
+)
+my_source_jar = java_common.pack_sources(
+ ctx.actions,
+ sources = my_sources,
+ java_toolchain = my_java_toolchain,
+ host_javabase = my_host_javabase,
+)
+provider = JavaInfo(
+ output_jar = my_jar,
+ compile_jar = my_ijar,
+ source_jar = my_source_jar,
+ deps = my_compile_deps,
+ runtime_deps = my_runtime_deps,
+)
+```
<!-- Add new options here -->