mirror of
				https://gitlab.alpinelinux.org/alpine/aports.git
				synced 2025-10-31 08:21:49 +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()
 | |
|      );
 | |
|    }
 | |
|  
 |