-
Notifications
You must be signed in to change notification settings - Fork 29.7k
Open
Labels
P2Important issues not at the top of the work listImportant issues not at the top of the work listc: new featureNothing broken; request for a new capabilityNothing broken; request for a new capabilityc: tech-debtTechnical debt, code quality, testing, etc.Technical debt, code quality, testing, etc.team-engineOwned by Engine teamOwned by Engine teamtriaged-engineTriaged by Engine teamTriaged by Engine team
Description
The engine is a necessarily complicated product and can be difficult to work in for contributors that do not frequently live in the engine code. Personally I have to open a wiki page or two every time I want to jump in the engine code.
This umbrella issue is to track all work related to building out the feature request for a mono tool designed for contributor and CI to use.
The tool should be:
- Written in dart
- Maximize number of contributors that have high proficiency
- Runs on every platform we support
- Live in the engine repo `script/tool/bin/engine.dart
- Allows for single repo change
- Easier to keep up to date
- Code reviewable
- Can build all targets
dart run engine.dart build --all- At 6 platforms this can be annoying to figure out
- Can lint all targets
dart run engine.dart lint --all - Can run all unit/(integration?) tests
- Building is hard enough, understanding how to run all tests few humans know how to do
- Used by CI in pre submit
- Ensures build/lint/test continues to work because if they fail presubmit fails
- Gives contributors with domain expertise the ability to enforce or exempt code as it makes sense for their area of expertise
- The tool itself has unit tests
- This lets tool contributors and reviewers be more confident in changes
- The tool unit tests are run as part of presubmit
This is not a new concept for the Dash Team. Flutter tool offers a public implementation of something similar and the packages repo has a contributor focused version of the same principals. This feature request is asking we apply the same idea to engine.
matanlurey, vially and gnpricematanlurey, vially and gnprice
Metadata
Metadata
Assignees
Labels
P2Important issues not at the top of the work listImportant issues not at the top of the work listc: new featureNothing broken; request for a new capabilityNothing broken; request for a new capabilityc: tech-debtTechnical debt, code quality, testing, etc.Technical debt, code quality, testing, etc.team-engineOwned by Engine teamOwned by Engine teamtriaged-engineTriaged by Engine teamTriaged by Engine team