about summary refs log tree commit diff
path: root/third_party/bazel/rules_haskell/ROADMAP.md
blob: 4e234bddb1cb9eda744458bd6d480481a37af450 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# Feature roadmap

In the following list, each feature is associated with a corresponding
milestone. The convention for the priorities are:

* P0 feature will block the milestone; we will delay the milestone
  date until the feature is shipped.
* P1 feature can delay the milestone if the feature can be shipped
  with a reasonable delay.
* P2 feature will be dropped and rescheduled for later rather than
  delaying the milestone.

We will update this list when reaching each milestone. Some milestones
may also be refined if appropriate.

## Planned feature list

### 1.0

* P1. Backpack support.
* P2. Define official GHC bindists as toolchains for each Tier-1
  platform.
* P2. Define cross-compiler toolchains.
* P2. Support multiple build flavours: fastbuild, opt, dbg/profiling.

## Previous milestones

### Initial support

* P0. Ensure legalese is in place from the beginning to make project
  upstreamable to official `bazelbuild` org eventually.
* P0. `haskell_library` able to compile single file library.
* P0. `haskell_binary` able to compile single file binary.
* P1. Basic binary build with a library dependency.
* P2. Transitive library dependencies.
* P2. Basic documentation with rule descriptions.

### Build and test inline-java

* P0. Can build and run inline-java spec and jvm-streaming spec.
* P0. Can use inline-java packages as dependencies in bigger product
  (sparkle).

### Build and test sparkle

* P0. Able to build sparkle executable. This includes building all
  relevant Java.