mirror of
				https://gitlab.alpinelinux.org/alpine/aports.git
				synced 2025-11-04 10:21:36 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			288 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			288 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
--- ./packages/flutter_tools/lib/src/version.dart.orig
 | 
						|
+++ ./packages/flutter_tools/lib/src/version.dart
 | 
						|
@@ -91,7 +91,7 @@
 | 
						|
   }) {
 | 
						|
     final File versionFile = getVersionFile(fs, flutterRoot);
 | 
						|
 
 | 
						|
-    if (!fetchTags && versionFile.existsSync()) {
 | 
						|
+    if (versionFile.existsSync()) {
 | 
						|
       final _FlutterVersionFromFile? version = _FlutterVersionFromFile.tryParseFromFile(
 | 
						|
         versionFile,
 | 
						|
         flutterRoot: flutterRoot,
 | 
						|
@@ -110,11 +110,7 @@
 | 
						|
       }
 | 
						|
     }
 | 
						|
 
 | 
						|
-    final String frameworkRevision = _runGit(
 | 
						|
-      gitLog(<String>['-n', '1', '--pretty=format:%H']).join(' '),
 | 
						|
-      globals.processUtils,
 | 
						|
-      flutterRoot,
 | 
						|
-    );
 | 
						|
+    final String frameworkRevision = "alpineaports0000000000000000000000000000";
 | 
						|
 
 | 
						|
     return FlutterVersion.fromRevision(
 | 
						|
       clock: clock,
 | 
						|
@@ -145,7 +141,7 @@
 | 
						|
       workingDirectory: flutterRoot,
 | 
						|
       fetchTags: fetchTags,
 | 
						|
     );
 | 
						|
-    final String frameworkVersion = gitTagVersion.frameworkVersionFor(frameworkRevision);
 | 
						|
+    final String frameworkVersion = globals.fs.file(globals.fs.path.join(Cache.flutterRoot!, 'version')).readAsStringSync();
 | 
						|
     return _FlutterVersionGit._(
 | 
						|
       clock: clock,
 | 
						|
       flutterRoot: flutterRoot,
 | 
						|
@@ -217,11 +213,7 @@
 | 
						|
   // TODO(fujino): calculate this relative to frameworkCommitDate for
 | 
						|
   // _FlutterVersionFromFile so we don't need a git call.
 | 
						|
   String get frameworkAge {
 | 
						|
-    return _frameworkAge ??= _runGit(
 | 
						|
-      FlutterVersion.gitLog(<String>['-n', '1', '--pretty=format:%ar']).join(' '),
 | 
						|
-      globals.processUtils,
 | 
						|
-      flutterRoot,
 | 
						|
-    );
 | 
						|
+    return _frameworkAge ??= 'unknown (alpine package)';
 | 
						|
   }
 | 
						|
 
 | 
						|
   void ensureVersionFile();
 | 
						|
@@ -301,43 +293,7 @@
 | 
						|
   /// Returns null if the cached version is out-of-date or missing, and we are
 | 
						|
   /// unable to reach the server to get the latest version.
 | 
						|
   Future<DateTime?> _getLatestAvailableFlutterDate() async {
 | 
						|
-    globals.cache.checkLockAcquired();
 | 
						|
-    final VersionCheckStamp versionCheckStamp = await VersionCheckStamp.load(globals.cache, globals.logger);
 | 
						|
-
 | 
						|
-    final DateTime now = _clock.now();
 | 
						|
-    if (versionCheckStamp.lastTimeVersionWasChecked != null) {
 | 
						|
-      final Duration timeSinceLastCheck = now.difference(
 | 
						|
-        versionCheckStamp.lastTimeVersionWasChecked!,
 | 
						|
-      );
 | 
						|
-
 | 
						|
-      // Don't ping the server too often. Return cached value if it's fresh.
 | 
						|
-      if (timeSinceLastCheck < VersionFreshnessValidator.checkAgeConsideredUpToDate) {
 | 
						|
-        return versionCheckStamp.lastKnownRemoteVersion;
 | 
						|
-      }
 | 
						|
-    }
 | 
						|
-
 | 
						|
-    // Cache is empty or it's been a while since the last server ping. Ping the server.
 | 
						|
-    try {
 | 
						|
-      final DateTime remoteFrameworkCommitDate = DateTime.parse(
 | 
						|
-        await fetchRemoteFrameworkCommitDate(),
 | 
						|
-      );
 | 
						|
-      await versionCheckStamp.store(
 | 
						|
-        newTimeVersionWasChecked: now,
 | 
						|
-        newKnownRemoteVersion: remoteFrameworkCommitDate,
 | 
						|
-      );
 | 
						|
-      return remoteFrameworkCommitDate;
 | 
						|
-    } on VersionCheckError catch (error) {
 | 
						|
-      // This happens when any of the git commands fails, which can happen when
 | 
						|
-      // there's no Internet connectivity. Remote version check is best effort
 | 
						|
-      // only. We do not prevent the command from running when it fails.
 | 
						|
-      globals.printTrace('Failed to check Flutter version in the remote repository: $error');
 | 
						|
-      // Still update the timestamp to avoid us hitting the server on every single
 | 
						|
-      // command if for some reason we cannot connect (eg. we may be offline).
 | 
						|
-      await versionCheckStamp.store(
 | 
						|
-        newTimeVersionWasChecked: now,
 | 
						|
-      );
 | 
						|
-      return null;
 | 
						|
-    }
 | 
						|
+    return null;
 | 
						|
   }
 | 
						|
 
 | 
						|
   /// The date of the latest framework commit in the remote repository.
 | 
						|
@@ -421,32 +377,13 @@
 | 
						|
   bool lenient = false,
 | 
						|
   required String? workingDirectory,
 | 
						|
 }) {
 | 
						|
-  final List<String> args = FlutterVersion.gitLog(<String>[
 | 
						|
-    gitRef,
 | 
						|
-    '-n',
 | 
						|
-    '1',
 | 
						|
-    '--pretty=format:%ad',
 | 
						|
-    '--date=iso',
 | 
						|
-  ]);
 | 
						|
-  try {
 | 
						|
-    // Don't plumb 'lenient' through directly so that we can print an error
 | 
						|
-    // if something goes wrong.
 | 
						|
-    return _runSync(
 | 
						|
-      args,
 | 
						|
-      lenient: false,
 | 
						|
-      workingDirectory: workingDirectory,
 | 
						|
-    );
 | 
						|
-  } on VersionCheckError catch (e) {
 | 
						|
-    if (lenient) {
 | 
						|
-      final DateTime dummyDate = DateTime.fromMillisecondsSinceEpoch(0);
 | 
						|
-      globals.printError('Failed to find the latest git commit date: $e\n'
 | 
						|
-        'Returning $dummyDate instead.');
 | 
						|
-      // Return something that DateTime.parse() can parse.
 | 
						|
-      return dummyDate.toString();
 | 
						|
-    } else {
 | 
						|
-      rethrow;
 | 
						|
-    }
 | 
						|
-  }
 | 
						|
+  final File versionFile = globals.fs.file(globals.fs.path.join(workingDirectory!, 'bin', 'cache', 'flutter.version.json'));
 | 
						|
+
 | 
						|
+  final _FlutterVersionFromFile version = _FlutterVersionFromFile.tryParseFromFile(
 | 
						|
+    versionFile,
 | 
						|
+    flutterRoot: workingDirectory,
 | 
						|
+  )!;
 | 
						|
+  return version.frameworkCommitDate;
 | 
						|
 }
 | 
						|
 
 | 
						|
 class _FlutterVersionFromFile extends FlutterVersion {
 | 
						|
@@ -472,11 +472,6 @@
 | 
						|
 
 | 
						|
   @override
 | 
						|
   void ensureVersionFile() {
 | 
						|
-    _ensureLegacyVersionFile(
 | 
						|
-      fs: fs,
 | 
						|
-      flutterRoot: flutterRoot,
 | 
						|
-      frameworkVersion: frameworkVersion,
 | 
						|
-    );
 | 
						|
   }
 | 
						|
 }
 | 
						|
 
 | 
						|
@@ -544,17 +539,6 @@
 | 
						|
 
 | 
						|
   @override
 | 
						|
   void ensureVersionFile() {
 | 
						|
-    _ensureLegacyVersionFile(
 | 
						|
-      fs: fs,
 | 
						|
-      flutterRoot: flutterRoot,
 | 
						|
-      frameworkVersion: frameworkVersion,
 | 
						|
-    );
 | 
						|
-
 | 
						|
-    const JsonEncoder encoder = JsonEncoder.withIndent('  ');
 | 
						|
-    final File newVersionFile = FlutterVersion.getVersionFile(fs, flutterRoot);
 | 
						|
-    if (!newVersionFile.existsSync()) {
 | 
						|
-      newVersionFile.writeAsStringSync(encoder.convert(toJson()));
 | 
						|
-    }
 | 
						|
   }
 | 
						|
 }
 | 
						|
 
 | 
						|
@@ -563,10 +547,6 @@
 | 
						|
   required String flutterRoot,
 | 
						|
   required String frameworkVersion,
 | 
						|
 }) {
 | 
						|
-  final File legacyVersionFile = fs.file(fs.path.join(flutterRoot, 'version'));
 | 
						|
-  if (!legacyVersionFile.existsSync()) {
 | 
						|
-    legacyVersionFile.writeAsStringSync(frameworkVersion);
 | 
						|
-  }
 | 
						|
 }
 | 
						|
 
 | 
						|
 /// Checks if the provided [version] is tracking a standard remote.
 | 
						|
@@ -639,49 +566,7 @@
 | 
						|
   ///
 | 
						|
   /// Returns [VersionCheckError] if the tracking remote is not standard.
 | 
						|
   VersionCheckError? run(){
 | 
						|
-    final String? flutterGit = platform.environment['FLUTTER_GIT_URL'];
 | 
						|
-    final String? repositoryUrl = version.repositoryUrl;
 | 
						|
-
 | 
						|
-    if (repositoryUrl == null) {
 | 
						|
-      return VersionCheckError(
 | 
						|
-        'The tool could not determine the remote upstream which is being '
 | 
						|
-        'tracked by the SDK.'
 | 
						|
-      );
 | 
						|
-    }
 | 
						|
-
 | 
						|
-    // Strip `.git` suffix before comparing the remotes
 | 
						|
-    final List<String> sanitizedStandardRemotes = <String>[
 | 
						|
-      // If `FLUTTER_GIT_URL` is set, use that as standard remote.
 | 
						|
-      if (flutterGit != null) flutterGit
 | 
						|
-      // Else use the predefined standard remotes.
 | 
						|
-      else ..._standardRemotes,
 | 
						|
-    ].map((String remote) => stripDotGit(remote)).toList();
 | 
						|
-
 | 
						|
-    final String sanitizedRepositoryUrl = stripDotGit(repositoryUrl);
 | 
						|
-
 | 
						|
-    if (!sanitizedStandardRemotes.contains(sanitizedRepositoryUrl)) {
 | 
						|
-      if (flutterGit != null) {
 | 
						|
-        // If `FLUTTER_GIT_URL` is set, inform to either remove the
 | 
						|
-        // `FLUTTER_GIT_URL` environment variable or set it to the current
 | 
						|
-        // tracking remote.
 | 
						|
-        return VersionCheckError(
 | 
						|
-          'The Flutter SDK is tracking "$repositoryUrl" but "FLUTTER_GIT_URL" '
 | 
						|
-          'is set to "$flutterGit".\n'
 | 
						|
-          'Either remove "FLUTTER_GIT_URL" from the environment or set it to '
 | 
						|
-          '"$repositoryUrl". '
 | 
						|
-          'If this is intentional, it is recommended to use "git" directly to '
 | 
						|
-          'manage the SDK.'
 | 
						|
-        );
 | 
						|
-      }
 | 
						|
-      // If `FLUTTER_GIT_URL` is unset, inform to set the environment variable.
 | 
						|
-      return VersionCheckError(
 | 
						|
-        'The Flutter SDK is tracking a non-standard remote "$repositoryUrl".\n'
 | 
						|
-        'Set the environment variable "FLUTTER_GIT_URL" to '
 | 
						|
-        '"$repositoryUrl". '
 | 
						|
-        'If this is intentional, it is recommended to use "git" directly to '
 | 
						|
-        'manage the SDK.'
 | 
						|
-      );
 | 
						|
-    }
 | 
						|
+    // the worse shit any code says about us, the worse for that code.
 | 
						|
     return null;
 | 
						|
   }
 | 
						|
 
 | 
						|
@@ -853,10 +738,7 @@
 | 
						|
 }
 | 
						|
 
 | 
						|
 String _runGit(String command, ProcessUtils processUtils, String? workingDirectory) {
 | 
						|
-  return processUtils.runSync(
 | 
						|
-    command.split(' '),
 | 
						|
-    workingDirectory: workingDirectory,
 | 
						|
-  ).stdout.trim();
 | 
						|
+  return '';
 | 
						|
 }
 | 
						|
 
 | 
						|
 /// Runs [command] in the root of the Flutter installation and returns the
 | 
						|
@@ -880,7 +762,7 @@
 | 
						|
   if (revision == null) {
 | 
						|
     return '';
 | 
						|
   }
 | 
						|
-  return revision.length > 10 ? revision.substring(0, 10) : revision;
 | 
						|
+  return revision.length > 12 ? revision.substring(0, 12) : revision;
 | 
						|
 }
 | 
						|
 
 | 
						|
 /// Version of Flutter SDK parsed from Git.
 | 
						|
@@ -941,42 +823,10 @@
 | 
						|
     bool fetchTags = false,
 | 
						|
     String gitRef = 'HEAD'
 | 
						|
   }) {
 | 
						|
-    if (fetchTags) {
 | 
						|
-      final String channel = _runGit('git symbolic-ref --short HEAD', processUtils, workingDirectory);
 | 
						|
-      if (!kDevelopmentChannels.contains(channel) && kOfficialChannels.contains(channel)) {
 | 
						|
-        globals.printTrace('Skipping request to fetchTags - on well known channel $channel.');
 | 
						|
-      } else {
 | 
						|
-        final String flutterGit = platform.environment['FLUTTER_GIT_URL'] ?? 'https://github.com/flutter/flutter.git';
 | 
						|
-        _runGit('git fetch $flutterGit --tags -f', processUtils, workingDirectory);
 | 
						|
-      }
 | 
						|
-    }
 | 
						|
-    // find all tags attached to the given [gitRef]
 | 
						|
-    final List<String> tags = _runGit(
 | 
						|
-      'git tag --points-at $gitRef', processUtils, workingDirectory).trim().split('\n');
 | 
						|
-
 | 
						|
-    // Check first for a stable tag
 | 
						|
-    final RegExp stableTagPattern = RegExp(r'^\d+\.\d+\.\d+$');
 | 
						|
-    for (final String tag in tags) {
 | 
						|
-      if (stableTagPattern.hasMatch(tag.trim())) {
 | 
						|
-        return parse(tag);
 | 
						|
-      }
 | 
						|
-    }
 | 
						|
-    // Next check for a dev tag
 | 
						|
-    final RegExp devTagPattern = RegExp(r'^\d+\.\d+\.\d+-\d+\.\d+\.pre$');
 | 
						|
-    for (final String tag in tags) {
 | 
						|
-      if (devTagPattern.hasMatch(tag.trim())) {
 | 
						|
-        return parse(tag);
 | 
						|
-      }
 | 
						|
-    }
 | 
						|
-
 | 
						|
     // If we're not currently on a tag, use git describe to find the most
 | 
						|
     // recent tag and number of commits past.
 | 
						|
     return parse(
 | 
						|
-      _runGit(
 | 
						|
-        'git describe --match *.*.* --long --tags $gitRef',
 | 
						|
-        processUtils,
 | 
						|
-        workingDirectory,
 | 
						|
-      )
 | 
						|
+      globals.fs.file(globals.fs.path.join(Cache.flutterRoot!, 'version')).readAsStringSync()
 | 
						|
     );
 | 
						|
   }
 | 
						|
 
 |