Legacy Kotlin Rules 1.3.0
Kotlin rules for Bazel - Legacy Rules 1.3.0
Note: These rules are maintained externally from Google (with Google's oversight and help)
Updates the Kotlin rules for Bazel with a significant set of improvements, including the improvements contained in @cgruber's fork of rules_kotlin which is considered "upstreamed" as of this release.
Notable changes:
- Various to run against modern versions of Bazel (remote deprecated/removed API usages)
- Support for Kotlin 1.3 (cgruber#7)
- Support custom "repositories" for kotlinc to permit non-default kotlinc versions
- Support custom toolchains to permit Kotlin and Java language version settings.
- using with kotlinc < v1.3 now not supported, due to different stdlib/runtime artifact handling, but older language versions allowed with a custom toolchain.
- Fixes to friends/internal handling (#222)
- Use jarjar in the persistent worker, so as not to leak its own deps into the compilation job (cgruber#4)
- Permit full compile-time classpath to be passed to compiler (cgruber#5)
- This disables the very naive strict-deps implementation, which was based on limiting the classpath, which forced additional declarations of "upstream" jars containing compiler-necessary bytecode such as supertypes). A future effort to add strict deps rooted in proper deps/symbol analysis is needed.
- Quiesce java9+ reflective access warnings (cgruber#15)
- Add
exports=
tokt_jvm_library()
(cgruber#7) - Add
exports=
tokt_jvm_import()
(cgruber#18) ( - Properly handle java version semantics, to call
--multi-release
under the right conditions (cgruber#23) - Fix building on windows (#193)
- Java launcher update (#199)
- Infer test class from test name, by default, in
kt_jvm_unit_test()
(#209, #257) - Handle various packaging of javascript deps for
kt_js_import()
(#223) - Fix bad jdeps handling (#234 / #235)
- Support jvm targets later than
1.8
(#229 / #236) - Fix regression where tags were not being propagated through kt_android_library #255
Plus:
- Various cleanups, refactors, examples and tests.
- Various regressions along the way
More detail can be found in the Changelog
Usage instructions can be found in the readme README
This release includes the contributions of various Googlers as well as @cgruber, @puffnfresh, @jasonwyatt, @keith, @iirina, @mig35, @pbsf, @philwo, @Globegitter, @szinn. Special advisory thanks to @shs96c.