Skip to content

Migrate flutter/engine to a Dart workspace for Dart/pub packages #147883

Closed
flutter/engine
#54232
@matanlurey

Description

@matanlurey

tl;dr: Dart tooling is landing support for so-called Pub workspaces, the engine should use them when ready.


Right now, flutter/engine has many, many pubspec.yaml file each of which needs to be independently maintained, and comply with our policy of not resolving any packages to external data sources (i.e., all packages have to either be vended by the Dart SDK, or via our own DEPS file).

The impact of this is perhaps most profound when you look at the necessary dependencies needed to use package:test as a dependency, which at the time of this writing, was nearly ~50 packages (and hand-written paths that resolve to different directories depending on the package).

With upcoming pub workspaces, we could instead:

  • Have a single root flutter/engine/pubspec.yaml listing all pub dependencies we use.
  • Have nested packages use resolution: workspace

Unblocks #133569.

See also:

Metadata

Metadata

Assignees

Labels

P2Important issues not at the top of the work listc: tech-debtTechnical debt, code quality, testing, etc.engineflutter/engine repository. See also e: labels.team-engineOwned by Engine teamtriaged-engineTriaged by Engine team

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions