Merge pull request #24 from hsyed/toolchains-and-coroutines

initial toolchain implementation, enables coroutines and also reorgan…
tree: 98cba44f02f0503df419369fd55df52080550a9e
  1. docs/
  2. examples/
  3. kotlin/
  4. tests/
  5. third_party/
  6. .bazelproject
  7. .bazelrc
  8. .gitignore
  9. AUTHORS
  10. BUILD
  11. CONTRIBUTING.md
  12. CONTRIBUTORS
  13. LICENSE
  14. Makefile
  15. README.md
  16. WORKSPACE
README.md

Skydoc documentation

Announcements

  • February 15, 2018.. Toolchains for the JVM rules. Currently this allow tweaking:
    • The JVM target (bytecode level).
    • API and Language levels.
    • Coroutines, enabled by default.
  • February 9, 2018. Annotation processing.
  • February 5, 2018. JVM rule name change: the prefix has changed from kotlin_ to kt_jvm_.

Overview

These rules were initially forked from pubref/rules_kotlin. Key changes:

  • Replace the macros with three basic rules. kotlin_binary, kotlin_library and kotlin_test.
  • Use a single dep attribute instead of java_dep and dep.
  • Add support for the following standard java rules attributes:
    • data
    • resource_jars
    • runtime_deps
    • resources
    • resources_strip_prefix
    • exports
  • Persistent worker support.
  • Mixed-Mode compilation (compile Java and Kotlin in one pass).