blob: 59f4a2abb710f55f4c21c572ac50230df5298e48 [file] [log] [blame]
Name: Ninja
URL: https://ninja-build.org
Gerrit Git: https://fuchsia.googlesource.com/third_party/github.com/ninja-build/ninja
Upstream Git: https://github.com/ninja-build/ninja
Fuchsia RFC: https://fuchsia.dev/fuchsia-src/contribute/governance/rfcs/0153_ninja_customization?hl=en
License: Apache 2.0
License File: COPYING
Fuchsia Bug: https://fxbug.dev/91545
Description:
Ninja is a small build system with a focus on speed. As explained in the
Fuchsia RFC-0153 document, this is a temporary custom branch of the upstream
Ninja sources to provide various improvements for the Fuchsia build. All
changes should be expressed as a set of small commits on top of the upstream
main branch, periodically rebased according to the strategy described in the
RFC document. Due to this, local modifications are not listed explictly here
to reduce unnecessary merge conflicts in this file.
Note that:
- Development happens in the `fuchsia-rfc-0153` branch of
`https://fuchsia.googlesource.com/third_party/github.com/ninja-build/ninja`
- All patches need to be uploaded to Gerrit for review approval.
- Sync branches can only be created on Gerrit, and require filing
a ticket, see associated bug for details.
Use `git log origin/upstream/master..fuchsia-rfc-0153` to see the detail log
of changes instead.
To facilite sync branch creation and management, the commit message of
patches should following these conventions:
- Patches that were cherry-picked from upstream should have a line that
starts with `Upstream-Cherry-Pick: <COMMIT>` added to their original
commit message.
- Patches that were cherry-picked from the upstream GitHub pull requests
should have a line that starts with `Upstream-GitHub-PR: <URL>`
pointing to the corresponding pull request.
- Patches that should not be sent upstream should have a line that
starts with `Fuchsia-Only: <REASON>`. These should only matter for
Fuchsia specific documentation (such as this file), or development
scripts.
- Non-trivial changes that address a specific feature should be provided
as a series of small patches whose commit messages all include a line
that starts with `Fuchsia-Topic: <name>`, where `<name>` is a small
identifier describing the common feature (e.g. `faster-manifest-parser`)
described by the list in the next section of this README.fuchsia file.
This will allow collecting the commits to send them as upstream pull
requests (after removing these lines from the commit message), or to
re-order them during sync-branch rebase operations.
Fuchsia-specific scripts or data files should go under `misc/fuchsia/`.