mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
[flutter_tools] do not set timestamp of package_config file (#57077)
This commit is contained in:
parent
b4788f290c
commit
8a77381e58
@ -223,7 +223,7 @@ class _DefaultPub implements Pub {
|
||||
}
|
||||
|
||||
if (!packageConfigFile.existsSync()) {
|
||||
throwToolExit('$directory: pub did not create .packages file.');
|
||||
throwToolExit('$directory: pub did not create .dart_tools/package_config.json file.');
|
||||
}
|
||||
if (pubSpecYaml.lastModifiedSync() != originalPubspecYamlModificationTime) {
|
||||
throwToolExit(
|
||||
@ -232,8 +232,6 @@ class _DefaultPub implements Pub {
|
||||
}
|
||||
// We don't check if dotPackages was actually modified, because as far as we can tell sometimes
|
||||
// pub will decide it does not need to actually modify it.
|
||||
// Since we rely on the file having a more recent timestamp, though, we do manually force the
|
||||
// file to be more recently modified.
|
||||
final DateTime now = DateTime.now();
|
||||
if (now.isBefore(originalPubspecYamlModificationTime)) {
|
||||
_logger.printError(
|
||||
@ -243,18 +241,6 @@ class _DefaultPub implements Pub {
|
||||
'The timestamp was: $originalPubspecYamlModificationTime\n'
|
||||
'The time now is: $now'
|
||||
);
|
||||
} else {
|
||||
packageConfigFile.setLastModifiedSync(now);
|
||||
final DateTime newDotPackagesTimestamp = packageConfigFile.lastModifiedSync();
|
||||
if (newDotPackagesTimestamp.isBefore(originalPubspecYamlModificationTime)) {
|
||||
_logger.printError(
|
||||
'Warning: Failed to set timestamp of "${_fileSystem.path.absolute(packageConfigFile.path)}". '
|
||||
'Tried to set timestamp to $now, but new timestamp is $newDotPackagesTimestamp.'
|
||||
);
|
||||
if (newDotPackagesTimestamp.isAfter(now)) {
|
||||
_logger.printError('Maybe the file was concurrently modified?');
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -338,8 +338,6 @@ void main() {
|
||||
expect(logger.statusText, 'Running "flutter pub get" in /...\n');
|
||||
expect(logger.errorText, isEmpty);
|
||||
expect(fileSystem.file('pubspec.yaml').lastModifiedSync(), DateTime(2001)); // because nothing should touch it
|
||||
expect(fileSystem.file('.dart_tool/package_config.json').lastModifiedSync(), isNot(DateTime(2000))); // because pub changes it to 2002
|
||||
expect(fileSystem.file('.dart_tool/package_config.json').lastModifiedSync(), isNot(DateTime(2002))); // because we set the timestamp again after pub
|
||||
logger.clear();
|
||||
|
||||
// bad scenario 1: pub doesn't update file; doesn't matter, because we do instead
|
||||
@ -352,8 +350,6 @@ void main() {
|
||||
expect(logger.statusText, 'Running "flutter pub get" in /...\n');
|
||||
expect(logger.errorText, isEmpty);
|
||||
expect(fileSystem.file('pubspec.yaml').lastModifiedSync(), DateTime(2001)); // because nothing should touch it
|
||||
expect(fileSystem.file('.dart_tool/package_config.json').lastModifiedSync(), isNot(DateTime(2000))); // because we set the timestamp
|
||||
expect(fileSystem.file('.dart_tool/package_config.json').lastModifiedSync(), isNot(DateTime(2002))); // just in case FakeProcessManager is buggy
|
||||
logger.clear();
|
||||
|
||||
// bad scenario 2: pub changes pubspec.yaml instead
|
||||
@ -370,7 +366,6 @@ void main() {
|
||||
expect(logger.statusText, 'Running "flutter pub get" in /...\n');
|
||||
expect(logger.errorText, isEmpty);
|
||||
expect(fileSystem.file('pubspec.yaml').lastModifiedSync(), DateTime(2002)); // because fake pub above touched it
|
||||
expect(fileSystem.file('.dart_tool/package_config.json').lastModifiedSync(), DateTime(2000)); // because nothing touched it
|
||||
|
||||
// bad scenario 3: pubspec.yaml was created in the future
|
||||
fileSystem.file('.dart_tool/package_config.json')
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user