| commit | d83e2689b04941d097be7d3b85fd227434e036ea | [log] [tgz] |
|---|---|---|
| author | hsyed <[email protected]> | Tue Aug 28 19:24:56 2018 +0100 |
| committer | Hassan Syed <[email protected]> | Tue Aug 28 19:27:17 2018 +0100 |
| tree | c0385386375634708b85746985c1390af0df2313 | |
| parent | c5e25d71af96d446af4a8cb283c261537fc9f64e [diff] |
thread all deps through android_library before compiling kotlin
examples/node.kotlin/internal/jvm/android.bzl.>=0.14. JDK9 host issues were fixed as well some other deprecations. I recommend skipping 0.15.0 if you are on a Mac.kt_jvm_test which allows the test to access internal members of the module under test.kotlin_ to kt_jvm_.These rules were initially forked from pubref/rules_kotlin. Key changes:
kt_jvm_binary, kt_jvm_library and kt_jvm_test.java_dep and dep.dataresource_jarsruntime_depsresourcesresources_strip_prefixexportsThis section just contains a quick overview. Consult the generated documentation. Note: Skydoc documentation is no longer being generated. Comprehensive documentation will have to wait till the new documentation generation tool is ready. A contribution to port the documentation to the RST format like rules_go has would be very welcome !
In the project's WORKSPACE, declare the external repository and initialize the toolchains, like this:
kotlin_release_version="1.2.30" rules_kotlin_version = "67f4a6050584730ebae7f8a40435a209f8e0b48e" http_archive( name = "io_bazel_rules_kotlin", urls = ["https://github.com/bazelbuild/rules_kotlin/archive/%s.zip" % rules_kotlin_version], type = "zip", strip_prefix = "rules_kotlin-%s" % rules_kotlin_version ) load("@io_bazel_rules_kotlin//kotlin:kotlin.bzl", "kotlin_repositories", "kt_register_toolchains") kotlin_repositories(kotlin_release_version=kotlin_release_version) kt_register_toolchains()
If you omit kotlin_release_version and just call kotlin_repositories() with no arguments, you'll get the current kotlin compiler version (at least as known to the rules_kotlin project).
In your project's BUILD files, load the kotlin rules and use them like so:
load("@io_bazel_rules_kotlin//kotlin:kotlin.bzl", "kt_jvm_library")
kt_jvm_library(
name = "package_name",
srcs = glob(["*.kt"]),
deps = [
"//path/to/dependency",
],
)
This project is licensed under the Apache 2.0 license, as are all contributions
See the CONTRIBUTING doc for information about how to contribute to this project.