Remove engine_hash.sh, which is no longer used by google3. (#164502)

Can be submitted after cl/732966938 is submitted.
This commit is contained in:
Matan Lurey 2025-03-03 11:47:18 -08:00 committed by GitHub
parent 7ea4ac53f2
commit 07b6cf07ab
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 0 additions and 141 deletions

View File

@ -1,69 +0,0 @@
#!/usr/bin/env bash
# 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.
# ---------------------------------- NOTE ---------------------------------- #
#
# This file will appear unused within the monorepo. It is used internally
# (in google3) as part of the roll process, and care should be put before
# making changes.
#
# See cl/688973229.
#
# -------------------------------------------------------------------------- #
# Needed because if it is set, cd may print the path it changed to.
unset CDPATH
# On Mac OS, readlink -f doesn't work, so follow_links traverses the path one
# link at a time, and then cds into the link destination and find out where it
# ends up.
#
# The returned filesystem path must be a format usable by Dart's URI parser,
# since the Dart command line tool treats its argument as a file URI, not a
# filename. For instance, multiple consecutive slashes should be reduced to a
# single slash, since double-slashes indicate a URI "authority", and these are
# supposed to be filenames. There is an edge case where this will return
# multiple slashes: when the input resolves to the root directory. However, if
# that were the case, we wouldn't be running this shell, so we don't do anything
# about it.
#
# The function is enclosed in a subshell to avoid changing the working directory
# of the caller.
function follow_links() (
cd -P "$(dirname -- "$1")"
file="$PWD/$(basename -- "$1")"
while [[ -h "$file" ]]; do
cd -P "$(dirname -- "$file")"
file="$(readlink -- "$file")"
cd -P "$(dirname -- "$file")"
file="$PWD/$(basename -- "$file")"
done
echo "$file"
)
PROG_NAME="$(follow_links "${BASH_SOURCE[0]}")"
BIN_DIR="$(cd "${PROG_NAME%/*}" ; pwd -P)"
FLUTTER_ROOT="$(cd "${BIN_DIR}/../../.." ; pwd -P)"
# Allow using a mock git for testing.
if [ -z "$GIT" ]; then
# By default, use git on PATH.
GIT_BIN="git"
else
# Use the provide GIT executable.
GIT_BIN="$GIT"
fi
# Test for fusion repository
if [ -f "$FLUTTER_ROOT/DEPS" ]; then
ENGINE_VERSION=$($GIT_BIN -C "$FLUTTER_ROOT" merge-base HEAD origin/master)
elif [ -f "$FLUTTER_ROOT/bin/internal/engine.version" ]; then
ENGINE_VERSION=$(cat "$FLUTTER_ROOT/bin/internal/engine.version")
else
>&2 echo "Not a valid FLUTTER_ROOT: $FLUTTER_ROOT"
exit 1
fi
echo $ENGINE_VERSION

View File

@ -1,72 +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.
@TestOn('posix')
library;
import 'dart:io' as io;
import 'package:path/path.dart' as p;
import 'package:test/test.dart';
/// Tests that `/dev/tools/bin/engine_hash.sh` _appears_ to work.
void main() {
late final io.File engineHashSh;
setUpAll(() {
engineHashSh = io.File(p.join(p.current, 'bin', 'engine_hash.sh'));
if (!engineHashSh.existsSync()) {
fail('No engine_hash.sh at "${p.absolute(engineHashSh.path)}".');
}
});
late io.Directory tmpFlutterRoot;
setUp(() {
tmpFlutterRoot = io.Directory.systemTemp.createTempSync('engine_hash_test.');
// Create engine_hash.sh at the same component it would be in the real root.
io.Directory(p.join(tmpFlutterRoot.path, 'dev', 'tools', 'bin')).createSync(recursive: true);
engineHashSh.copySync(p.join(tmpFlutterRoot.path, 'dev', 'tools', 'bin', 'engine_hash.sh'));
// Create FLUTTER_ROOT/DEPS.
io.File(p.join(tmpFlutterRoot.path, 'DEPS')).createSync();
});
tearDown(() {
tmpFlutterRoot.deleteSync(recursive: true);
});
test('omission of FLUTTER_ROOT/DEPS falls back to engine.version', () {
io.File(p.join(tmpFlutterRoot.path, 'bin', 'internal', 'engine.version'))
..createSync(recursive: true)
..writeAsStringSync('12345');
io.File(p.join(tmpFlutterRoot.path, 'DEPS')).deleteSync();
final io.ProcessResult result = io.Process.runSync(
p.join(tmpFlutterRoot.path, 'dev', 'tools', 'bin', 'engine_hash.sh'),
<String>[],
);
expect(result.exitCode, 0, reason: result.stderr.toString());
expect(result.stdout, '12345\n');
});
test('uses git -C merge-base HEAD origin/master', () {
final io.ProcessResult result = io.Process.runSync(
p.join(tmpFlutterRoot.path, 'dev', 'tools', 'bin', 'engine_hash.sh'),
<String>[],
environment: <String, String>{'GIT': p.join(p.current, 'test', 'mock_git.sh')},
);
expect(result.exitCode, 0, reason: result.stderr.toString());
expect(
result.stdout,
stringContainsInOrder(<String>[
'Mock Git: -C',
'engine_hash_test',
// This needs to be origin/master if the google3 script is running from a fresh checkout.
'merge-base HEAD origin/master',
]),
);
});
}