Remove find_engine_commit.dart
, which is unused in the monorepo. (#164494)
Just cleanup of unused code.
This commit is contained in:
parent
3bb5bf4d43
commit
09ed5aaaad
@ -1 +0,0 @@
|
|||||||
This is a stub-file that can be deleted.
|
|
@ -1,120 +0,0 @@
|
|||||||
// Copyright 2014 The Flutter Authors. All rights reserved.
|
|
||||||
// Use of this source code is governed by a BSD-style license that can be
|
|
||||||
// found in the LICENSE file.
|
|
||||||
|
|
||||||
import 'dart:io';
|
|
||||||
|
|
||||||
void _validate(List<String> args) {
|
|
||||||
bool errors = false;
|
|
||||||
if (!File('bin/cache/engine.stamp').existsSync()) {
|
|
||||||
errors = true;
|
|
||||||
print('This program must be run from the root of your flutter repository.');
|
|
||||||
}
|
|
||||||
if (!File('../engine/src/flutter/DEPS').existsSync()) {
|
|
||||||
errors = true;
|
|
||||||
print(
|
|
||||||
'This program assumes the engine directory is a sibling to the flutter repository directory.',
|
|
||||||
);
|
|
||||||
}
|
|
||||||
if (args.length != 1) {
|
|
||||||
errors = true;
|
|
||||||
print('This program takes the engine revision as a single argument.');
|
|
||||||
}
|
|
||||||
if (errors) {
|
|
||||||
exit(-1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
const String engineRepo = '../engine/src/flutter';
|
|
||||||
|
|
||||||
Future<void> main(List<String> args) async {
|
|
||||||
_validate(args);
|
|
||||||
await _fetchUpstream();
|
|
||||||
await _fetchUpstream(engineRepo);
|
|
||||||
String? flutterRevision;
|
|
||||||
await for (final FlutterEngineRevision revision in _logEngineVersions()) {
|
|
||||||
if (!await containsRevision(args[0], revision.engineRevision)) {
|
|
||||||
if (flutterRevision == null) {
|
|
||||||
print('Revision not found.');
|
|
||||||
exit(-1);
|
|
||||||
}
|
|
||||||
print('earliest revision: $flutterRevision');
|
|
||||||
print('Tags that contain this engine revision:');
|
|
||||||
print(await _tagsForRevision(flutterRevision));
|
|
||||||
exit(0);
|
|
||||||
}
|
|
||||||
flutterRevision = revision.flutterRevision;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Future<void> _fetchUpstream([String workingDirectory = '.']) async {
|
|
||||||
print(
|
|
||||||
'Fetching remotes for "$workingDirectory" - you may be prompted for SSH credentials by git.',
|
|
||||||
);
|
|
||||||
final ProcessResult fetchResult = await Process.run('git', <String>[
|
|
||||||
'fetch',
|
|
||||||
'--all',
|
|
||||||
], workingDirectory: workingDirectory);
|
|
||||||
if (fetchResult.exitCode != 0) {
|
|
||||||
throw Exception('Failed to fetch upstream in repository $workingDirectory');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Future<String> _tagsForRevision(String flutterRevision) async {
|
|
||||||
final ProcessResult tagResult = await Process.run('git', <String>[
|
|
||||||
'tag',
|
|
||||||
'--contains',
|
|
||||||
flutterRevision,
|
|
||||||
]);
|
|
||||||
return tagResult.stdout as String;
|
|
||||||
}
|
|
||||||
|
|
||||||
Future<bool> containsRevision(String ancestorRevision, String revision) async {
|
|
||||||
final ProcessResult result = await Process.run('git', <String>[
|
|
||||||
'merge-base',
|
|
||||||
'--is-ancestor',
|
|
||||||
ancestorRevision,
|
|
||||||
revision,
|
|
||||||
], workingDirectory: engineRepo);
|
|
||||||
return result.exitCode == 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
Stream<FlutterEngineRevision> _logEngineVersions() async* {
|
|
||||||
final ProcessResult result = await Process.run('git', <String>[
|
|
||||||
'log',
|
|
||||||
'--oneline',
|
|
||||||
'-p',
|
|
||||||
'--',
|
|
||||||
'bin/internal/engine.version',
|
|
||||||
]);
|
|
||||||
if (result.exitCode != 0) {
|
|
||||||
print(result.stderr);
|
|
||||||
throw Exception('Failed to log bin/internal/engine.version');
|
|
||||||
}
|
|
||||||
|
|
||||||
final List<String> lines = (result.stdout as String).split('\n');
|
|
||||||
int index = 0;
|
|
||||||
while (index < lines.length - 1) {
|
|
||||||
final String flutterRevision = lines[index].split(' ').first;
|
|
||||||
index += 1;
|
|
||||||
while (!lines[index].startsWith('+') || lines[index].startsWith('+++')) {
|
|
||||||
index += 1;
|
|
||||||
}
|
|
||||||
if (index >= lines.length) {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
final String engineRevision = lines[index].substring(1);
|
|
||||||
yield FlutterEngineRevision(flutterRevision, engineRevision);
|
|
||||||
index += lines[index + 1].startsWith(r'\ ') ? 2 : 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
class FlutterEngineRevision {
|
|
||||||
const FlutterEngineRevision(this.flutterRevision, this.engineRevision);
|
|
||||||
|
|
||||||
final String flutterRevision;
|
|
||||||
final String engineRevision;
|
|
||||||
|
|
||||||
@override
|
|
||||||
String toString() => '$flutterRevision: $engineRevision';
|
|
||||||
}
|
|
Loading…
x
Reference in New Issue
Block a user