There are two types of third-party dependencies in the Fuchsia tree:
Pub dependencies are hosted at //third-party/dart-pkg
. That project is regularly kept up-to-date with a script that relies on the pub
tool to resolve versions and fetch sources for the packages that are used in the tree. This script uses a set of canonical local packages, which are assumed to be providing the necessary package coverage for the entire tree.
Additionally, projects may request third-party dependencies to be imported through the following procedure:
Locate the dart_dependencies.yaml
file in //src/dart.
In dart_dependencies.yaml
, append the desired dependencies to ‘dependencies’:
name: module dependencies: foo: ^4.0.0 bar: >=0.1.0
Run this script:
//scripts/dart/update_3p_packages.py
Merge your changes to dart_dependencies.yaml
to main.
Merge the files, downloaded by running the update_3p_packages.py
script, to main.
In the //integration/fuchsia/third_party/dart
manifest, update the project node third_part/dart-pkg
revision attribute with the SHA from your commit of dart_dependencies.yaml
..
Merge your change to the //integration/fuchsia/third_party/dart
manifest file to main.