Legacy Kotlin Rules 1.3.0 (Release Candidate 1)
Pre-release
Pre-release
cgruber
released this
29 Oct 16:55
·
549 commits
to master
since this release
Kotlin rules for Bazel - Legacy Rules 1.3.0
(Release Candidate 1)
Note: These rules are provisionally released with community support, while Google works to "externalize"
their internal kotlin rules. Support will be best-effort during this phase.
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) - Handle various packaging of javascript deps for
kt_js_import()
(#223)
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.