--- layout: community --- # Bazel Feature Roadmap This document describes the Bazel team's plans for introducing features that will be incorporated into version 1.0. Note that this roadmap only includes features that the Bazel team itself intends to support. We anticipate that a number of other features will be added by code contributors. For the alpha and beta releases, the Bazel team will maintain two code repositories: * A Google-internal repository, containing both Bazel code and Google-specific extensions and features * An external [GitHub repository](https://github.com/bazelbuild/bazel), containing only the Bazel code. We anticipate making the external repository *primary* in the future, that is, code from Google and non-Google contributors will be committed and tested in the external repository first, then imported into the internal repository. For the alpha and beta releases, however, the internal repository will be primary. Changes to Bazel code will be frequently pushed from the internal to the external repository. ## Feature list In the following table, 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 (2 months max). * 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.
Phase | Milestone | Date | Features |
---|---|---|---|
Alpha | Alpha | 2015-03 | Linux & OS X Support |
C++ (build and test) | |||
Java (build and test) | |||
Objective-C for iOS (build) | |||
Python (build) | |||
iOS applications (build) | |||
Skylark extension mechanism (build) | |||
Basic test suite on GitHub | |||
Support for fetching dependencies from Maven repositories and web servers | |||
Beta | 0.1 | 2015-09 | P0. Binary distribution for Linux & OS X |
P0. Public continuous integration system | |||
P0. Support for fetching transitive dependencies from Maven Central | |||
P0. Android application (build and install) | |||
P1. Support for prefetching and caching remote dependencies | |||
P1. Docker (build and load) | |||
P2. Sandboxing of actions for Linux | |||
P2. AppEngine (build and load) | |||
P2. Test result dashboard | |||
0.2 | 2015-10 | P0. Support for fetching remote Skylark rules | |
P0. Support for testing iOS apps | |||
P0. Support for testing Android apps | |||
P1. Bazel's extension APIs are listed in a document | |||
0.3 | 2015-11 | P0. Significantly increase test coverage | |
P1. Roadmap to make the Github repository primary | |||
P2. Go language support (build and tests) | |||
P2. Native protobuf support | |||
P2. Bazel can bootstrap itself on Windows without requiring admin priviledge | |||
0.5 | 2015-12 | P0. Bazel can build android applications on Windows | |
P1. Custom remote repositories using Skylark | |||
P1. Interface for IDE support | |||
P1. Distributed caching of build artifacts | |||
P2. Debian packages for Bazel | |||
P2. OS X homebrew recipe for distributing Bazel | |||
P2. Reference ("pull") remote docker images as an input to the build process | |||
Stable | 1.0 | 2016-05 | P0. Extension APIs are stable and versioned |
P0. Github repository is primary | |||
P0. Full Windows support for Android: Android feature set is identical for Windows and Linux/OS X | |||
P0. Android Studio interoperability | |||
P1. Online repository of Skylark rules | |||
P2. Support testing using Google Cloud Test Lab | |||
P2. Sandboxing of action for OS X |