flutter / flutter/devtools

Consider moving off of package:stager

Open
#8,666 1 comment 0 reactions 0 assignees View on GitHub
blocked cost: medium P3 tech debt
Dominant language
Dart
Stars
1.7k
Forks
404
Avg merge
6d 17h
Merged PRs (30d)
18

Description

After pulling from the latest master of devtools, I received the following error:

```
Because devtools_app depends on integration_test from sdk which depends on test_api 0.7.4, test_api 0.7.4 is required.
And because test 1.25.8 depends on test_api 0.7.3, test 1.25.8 is forbidden.
And because devtools_tool depends on test ^1.25.8 and no versions of test match >1.25.8 <1.25.9, test ^1.25.9 is required.
And because test >=1.25.9 depends on analyzer >=6.0.0 <8.0.0 and stager 1.0.1 depends on analyzer ^5.1.0, stager 1.0.1 is forbidden.
Because no versions of stager match >1.0.1 <2.0.0 and devtools_app depends on stager ^1.0.1, stager 1.0.1 is required.
Thus, version solving failed.
```

The workaround is to add the following dependency_overrides to the top level pubspec.yaml:
```
dependency_overrides:
analyzer: 6.11.0
dart_style: 2.3.3
```

The longer term fix will require stager to update it's dependencies:
https://github.com/bryanoltman/stager/pull/48

We should make a decision if we should continue to depend on stager going forward if the versioning issue cannot be addressed from the stager side.

Contributor guide

Open the contributing guide

Research direction

Start with the top-level pubspec.yaml and reproduce the reported dependency resolution conflict involving stager, analyzer, test_api, and dart_style. Review stager PR #48 and determine whether the dependency can be updated or stager should be removed; done means recording a clear decision and resolving the versioning issue without the reported workaround.

Written by the indexing model from the issue text.

Assessment

Tech stack
dart
Domain
build-system, tooling
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.