Skip to content

Commit

Permalink
Create ROADMAP.md
Browse files Browse the repository at this point in the history
Initial commit of the Kotlin Rules Roadmap.
  • Loading branch information
git-str committed Apr 2, 2019
1 parent 4c71740 commit 8b84fe6
Showing 1 changed file with 61 additions and 0 deletions.
61 changes: 61 additions & 0 deletions ROADMAP.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# Kotlin Bazel Roadmap

This document describes the major release milestones for the Kotlin Bazel Rules.
There are three major pillars that we are focused on when developing the Kotlin
rules - **Performance**, **Features**, and **Developer Experience** - and for
each milestone we list the main items for each pillar. Progress on each item is
tracked via an issue.

If you have feedback on this roadmap (including feature and reprioritization
requests) please open an issue or comment on the existing one.

## Kotlin 1.3 (est. mid 2019)

The existing Kotlin rules only support up to version 1.2. The primary goal of
this release is to bring preliminary 1.3 support to Bazel. We will seek to
provide a migration path for users of the existing rules, with the intention of
1.3 eventually becoming the master branch. This includes documenting the
differences between the rulesets, and providing migration tooling and support.

### Performance

* Compilation avoidance for non-structural changes to dependencies

### Features

* Support android_instrumentation_test on Linux and macOS
* Support building and testing on Google Cloud Platform Remote Build Execution
* Support for ktlint
* Simplified package and dependency management
* Improve Android interoperability

### Developer Experience

* Document major differences between the rulesets
* Documentation for Kotlin with Bazel compatibility across Windows, macOS,
Linux
* Stable and reliable CI
* Sample projects

## XPlat (est. late 2019)

The goal for the XPlat release is to provide a stable cross-platform (XPlat)
experience for developers. We intend to provide first class Kotlin/Native
support for Android and iOS, and collaborate with the community to add
additional target platforms. We also plan to deliver performance improvements
for build speed and binary size.

### Performance

* Implement persistent workers for faster compilation
* Reduce output binary sizes

### Features

* Stable Kotlin/Native support for Android and iOS
* Support `bazel coverage` for all test rules
* Support for Android Lint

### Developer Experience

* Documentation and guides for writing a cross platform app

0 comments on commit 8b84fe6

Please sign in to comment.