Copy the flutter version JSON file into the simulated Flutter SDK used by update_packages (#143035)
Dart pub now expects that file to be present in a Flutter SDK (see https://dart.googlesource.com/pub/+/dce232ec195df802a730eb3a66163e28d2ec6444)
This commit is contained in:
parent
bf9aa556d2
commit
db141ecd28
@ -19,6 +19,7 @@ import '../globals.dart' as globals;
|
|||||||
import '../project.dart';
|
import '../project.dart';
|
||||||
import '../runner/flutter_command.dart';
|
import '../runner/flutter_command.dart';
|
||||||
import '../update_packages_pins.dart';
|
import '../update_packages_pins.dart';
|
||||||
|
import '../version.dart';
|
||||||
|
|
||||||
class UpdatePackagesCommand extends FlutterCommand {
|
class UpdatePackagesCommand extends FlutterCommand {
|
||||||
UpdatePackagesCommand() {
|
UpdatePackagesCommand() {
|
||||||
@ -1713,6 +1714,10 @@ Directory createTemporaryFlutterSdk(
|
|||||||
// Fill in version info.
|
// Fill in version info.
|
||||||
realFlutter.childFile('version')
|
realFlutter.childFile('version')
|
||||||
.copySync(directory.childFile('version').path);
|
.copySync(directory.childFile('version').path);
|
||||||
|
final File versionJson = FlutterVersion.getVersionFile(realFlutter.fileSystem, realFlutter.path);
|
||||||
|
final Directory binCacheDirectory = directory.childDirectory('bin').childDirectory('cache');
|
||||||
|
binCacheDirectory.createSync(recursive: true);
|
||||||
|
versionJson.copySync(binCacheDirectory.childFile('flutter.version.json').path);
|
||||||
|
|
||||||
// Directory structure should mirror the current Flutter SDK
|
// Directory structure should mirror the current Flutter SDK
|
||||||
final Directory packages = directory.childDirectory('packages');
|
final Directory packages = directory.childDirectory('packages');
|
||||||
|
@ -73,6 +73,20 @@ dependencies:
|
|||||||
# PUBSPEC CHECKSUM: 6543
|
# PUBSPEC CHECKSUM: 6543
|
||||||
''';
|
''';
|
||||||
|
|
||||||
|
const String kVersionJson = '''
|
||||||
|
{
|
||||||
|
"frameworkVersion": "1.2.3",
|
||||||
|
"channel": "[user-branch]",
|
||||||
|
"repositoryUrl": "git@github.com:flutter/flutter.git",
|
||||||
|
"frameworkRevision": "1234567812345678123456781234567812345678",
|
||||||
|
"frameworkCommitDate": "2024-02-06 22:26:52 +0100",
|
||||||
|
"engineRevision": "abcdef01abcdef01abcdef01abcdef01abcdef01",
|
||||||
|
"dartSdkVersion": "1.2.3",
|
||||||
|
"devToolsVersion": "1.2.3",
|
||||||
|
"flutterVersion": "1.2.3"
|
||||||
|
}
|
||||||
|
''';
|
||||||
|
|
||||||
void main() {
|
void main() {
|
||||||
group('update-packages', () {
|
group('update-packages', () {
|
||||||
late FileSystem fileSystem;
|
late FileSystem fileSystem;
|
||||||
@ -91,6 +105,9 @@ void main() {
|
|||||||
fileSystem = MemoryFileSystem.test();
|
fileSystem = MemoryFileSystem.test();
|
||||||
flutterSdk = fileSystem.directory('flutter')..createSync();
|
flutterSdk = fileSystem.directory('flutter')..createSync();
|
||||||
flutterSdk.childFile('version').writeAsStringSync('1.2.3');
|
flutterSdk.childFile('version').writeAsStringSync('1.2.3');
|
||||||
|
flutterSdk.childDirectory('bin').childDirectory('cache').childFile('flutter.version.json')
|
||||||
|
..createSync(recursive: true)
|
||||||
|
..writeAsStringSync(kVersionJson);
|
||||||
flutter = flutterSdk.childDirectory('packages').childDirectory('flutter')
|
flutter = flutterSdk.childDirectory('packages').childDirectory('flutter')
|
||||||
..createSync(recursive: true);
|
..createSync(recursive: true);
|
||||||
flutterSdk.childDirectory('dev').createSync(recursive: true);
|
flutterSdk.childDirectory('dev').createSync(recursive: true);
|
||||||
|
@ -77,6 +77,20 @@ dependencies:
|
|||||||
git:
|
git:
|
||||||
''';
|
''';
|
||||||
|
|
||||||
|
const String kVersionJson = '''
|
||||||
|
{
|
||||||
|
"frameworkVersion": "1.2.3",
|
||||||
|
"channel": "[user-branch]",
|
||||||
|
"repositoryUrl": "git@github.com:flutter/flutter.git",
|
||||||
|
"frameworkRevision": "1234567812345678123456781234567812345678",
|
||||||
|
"frameworkCommitDate": "2024-02-06 22:26:52 +0100",
|
||||||
|
"engineRevision": "abcdef01abcdef01abcdef01abcdef01abcdef01",
|
||||||
|
"dartSdkVersion": "1.2.3",
|
||||||
|
"devToolsVersion": "1.2.3",
|
||||||
|
"flutterVersion": "1.2.3"
|
||||||
|
}
|
||||||
|
''';
|
||||||
|
|
||||||
void main() {
|
void main() {
|
||||||
late FileSystem fileSystem;
|
late FileSystem fileSystem;
|
||||||
late Directory flutterSdk;
|
late Directory flutterSdk;
|
||||||
@ -88,6 +102,10 @@ void main() {
|
|||||||
flutterSdk = fileSystem.directory('flutter')..createSync();
|
flutterSdk = fileSystem.directory('flutter')..createSync();
|
||||||
// Create version file
|
// Create version file
|
||||||
flutterSdk.childFile('version').writeAsStringSync('1.2.3');
|
flutterSdk.childFile('version').writeAsStringSync('1.2.3');
|
||||||
|
// Create version JSON file
|
||||||
|
flutterSdk.childDirectory('bin').childDirectory('cache').childFile('flutter.version.json')
|
||||||
|
..createSync(recursive: true)
|
||||||
|
..writeAsStringSync(kVersionJson);
|
||||||
// Create a pubspec file
|
// Create a pubspec file
|
||||||
flutter = flutterSdk.childDirectory('packages').childDirectory('flutter')
|
flutter = flutterSdk.childDirectory('packages').childDirectory('flutter')
|
||||||
..createSync(recursive: true);
|
..createSync(recursive: true);
|
||||||
@ -144,6 +162,7 @@ void main() {
|
|||||||
// The version file exists.
|
// The version file exists.
|
||||||
expect(result.childFile('version'), exists);
|
expect(result.childFile('version'), exists);
|
||||||
expect(result.childFile('version').readAsStringSync(), '1.2.3');
|
expect(result.childFile('version').readAsStringSync(), '1.2.3');
|
||||||
|
expect(fileSystem.file(fileSystem.path.join(result.path, 'bin', 'cache', 'flutter.version.json')), exists);
|
||||||
|
|
||||||
// The sky_engine package exists
|
// The sky_engine package exists
|
||||||
expect(fileSystem.directory('${result.path}/bin/cache/pkg/sky_engine'), exists);
|
expect(fileSystem.directory('${result.path}/bin/cache/pkg/sky_engine'), exists);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user