@@ -13,12 +13,18 @@ import 'package:pubspec_parse/pubspec_parse.dart';
1313import 'package:yaml_edit/yaml_edit.dart' hide SourceEdit;
1414
1515final class PubspecUpdater extends ProjectMigration {
16- const PubspecUpdater (super .projectRoot, this .parentProject, this .projectName);
16+ const PubspecUpdater (
17+ super .projectRoot,
18+ this .parentProject,
19+ this .projectName, {
20+ this .upgradeFromVersion,
21+ });
1722
1823 static final _logger = Logger ('PubspecUpdater' );
1924
2025 final ParentProject ? parentProject;
2126 final String projectName;
27+ final Version ? upgradeFromVersion;
2228
2329 @override
2430 String get name => 'core.project.pubspec' ;
@@ -55,7 +61,7 @@ final class PubspecUpdater extends ProjectMigration {
5561 }
5662
5763 /// Returns the version updated from.
58- Future <Version ? > _updateBackendDependencies ({
64+ Future <void > _updateBackendDependencies ({
5965 required Pubspec pubspec,
6066 required String pubspecYaml,
6167 required File pubspecFile,
@@ -65,16 +71,8 @@ final class PubspecUpdater extends ProjectMigration {
6571 if (ProjectDependency .backendDependencies.upToDate (pubspec) &&
6672 currentSdkVersion == requiredSdkVersion) {
6773 _logger.fine ('Project dependencies are up to date.' );
68- return null ;
74+ return ;
6975 }
70- final fromVersion = switch (pubspec.dependencies['celest' ]) {
71- final HostedDependency hosted => switch (hosted.version) {
72- final Version version => version,
73- final VersionRange range => range.min,
74- _ => Version .none,
75- },
76- _ => Version .none,
77- };
7876 _logger.fine ('Updating project dependencies to latest versions...' );
7977 pubspec = pubspec.copyWith (
8078 environment: {'sdk' : PubEnvironment .dartSdkConstraint},
@@ -95,7 +93,6 @@ final class PubspecUpdater extends ProjectMigration {
9593 );
9694 pubspecYaml = pubspec.toYaml (source: pubspecYaml);
9795 await pubspecFile.writeAsString (pubspecYaml);
98- return fromVersion;
9996 }
10097
10198 Future <bool > _updateClientDependencies ({
@@ -173,14 +170,14 @@ final class PubspecUpdater extends ProjectMigration {
173170 final pubspecFile = fileSystem.file (p.join (projectRoot, 'pubspec.yaml' ));
174171 final pubspecYaml = await pubspecFile.readAsString ();
175172 final pubspec = Pubspec .parse (pubspecYaml);
176- final fromVersion = await _updateBackendDependencies (
173+ await _updateBackendDependencies (
177174 pubspec: pubspec,
178175 pubspecYaml: pubspecYaml,
179176 pubspecFile: pubspecFile,
180177 );
181178 // await _updateProjectName();
182- needsAnalyzerMigration | =
183- fromVersion != null && fromVersion < Version (1 , 0 , 0 ).firstPreRelease;
179+ needsAnalyzerMigration | = upgradeFromVersion != null &&
180+ upgradeFromVersion ! < Version (1 , 0 , 0 ).firstPreRelease;
184181 if (needsAnalyzerMigration) {
185182 operations.add (
186183 runPub (action: PubAction .get , workingDirectory: projectRoot),
0 commit comments