CONTRIBUTING
Welcome
For an introduction to contributing to Flutter, see our contributor
guide.
Additional resources specific to the packages repository:
- Setting up the Packages development
environment,
which covers the setup process for this repository.
- Packages repository structure,
to get an overview of how this repository is laid out.
- Contributing to Plugins and Packages,
for more information about how to make PRs for this repository, especially when
changing federated plugins.
- Plugin tests,
which explains the different kinds of tests used for plugins, where to find them, and how to run them.
As explained in the Flutter guide,
PRs need tests, so
this is critical to read before submitting a plugin PR.
Code review processes and automation
PRs will automatically be assigned to
code owners
for review.
If a code owner is creating a PR, they should explicitly pick another
Flutter team member
as a code reviewer.
Style
Flutter packages and plugins follow Google styleβor Flutter style for Dartβfor the languages they
use, and use auto-formatters:
- Dart formatted
with dart format
- C++ formatted with clang-format
- Note: The Linux plugins generally follow idiomatic GObject-based C
style. See the engine style
notes
for more details, and exceptions.
- Java formatted with
google-java-format
- Kotlin formatted with
ktfmt
- Objective-C formatted with
clang-format
- Swift formatted with swift-format
Releasing
If you are a team member landing a PR, or just want to know what the release
process is for package changes, see the release
documentation.
---