flutter/dev/integration_tests/deferred_components_test
Christopher Fujino 730d6d44b7
Don't pin package:macros (#148087)
Full context https://github.com/flutter/flutter/issues/148004

TL;DR

1. Because `package:macros` depends on `package:_macros` via [a Dart SDK
dependency](https://github.com/dart-lang/sdk/blob/main/pkg/macros/pubspec.yaml#L13);
and
2. `package:macros` exactly pins `package:_macros`; and
3. Each new version of `package:macros` will increment its exact pin of
`package:_macros`
([comment](https://github.com/flutter/flutter/issues/148004#issuecomment-2103099893));
and
4. The [flutter/flutter](https://github.com/flutter/flutter) repository
exactly pins the Dart SDK (via its exact pin on the
[flutter/engine](https://github.com/flutter/engine) repository

Therefore, the [flutter/flutter](https://github.com/flutter/flutter)
repository effectively pins both `package:macros` and `package:_macros`
already (as in, there exists only a single version of each that pub will
successfully be able to solve within the context of a particular Flutter
SDK).

Therefore, it is safe for
[flutter/flutter](https://github.com/flutter/flutter) repository to
*not* pin `package:macros`, which will allow engine -> framework rolls
that contain a new Dart SDK that contains a new `package:_macros`
version to land automatically, provided all tests pass.
2024-05-09 16:28:49 -07:00
..
android [flutter_tools] Update external link in Android manifest template (#144302) 2024-02-29 06:47:19 +00:00
lib Sync analysis_options.yaml & cleanups (#117327) 2022-12-20 14:15:39 -08:00
test_driver Deferred components integration test app (#88030) 2021-08-16 15:32:05 -07:00
.gitignore Download script for deferred components assets (#88905) 2021-08-26 15:18:37 -07:00
deferred_components_loading_units.yaml Deferred components integration test app (#88030) 2021-08-16 15:32:05 -07:00
download_assets.sh Download script for deferred components assets (#88905) 2021-08-26 15:18:37 -07:00
pubspec.yaml Don't pin package:macros (#148087) 2024-05-09 16:28:49 -07:00
README.md Download script for deferred components assets (#88905) 2021-08-26 15:18:37 -07:00
run_release_test.sh Reland: Update link branches to main (#146882) 2024-04-17 13:16:33 +00:00

Deferred components integration test app

Setup

This integration test app requires manually downloading additional assets to build. Run

./download_assets.sh

before running any of the tests.

Tests

This app contains two sets of tests:

  • flutter drive tests that run a debug mode app to validate framework side logic
  • run_release_test.sh <bundletool.jar path> which builds and installs a release version of this app and validates the loading units are loaded correctly. A path to bundletool.jar must be provided