Unverified Commit 5f76bfb4 authored by Marcus Tomlinson's avatar Marcus Tomlinson Committed by GitHub

Add the ability to inject a bootstrap script (#66897)

parent 1d93be3d
......@@ -24,6 +24,8 @@
# Flutter repo-specific
/bin/cache/
/bin/internal/bootstrap.bat
/bin/internal/bootstrap.sh
/bin/mingit/
/dev/benchmarks/mega_gallery/
/dev/bots/.recipe_deps
......
......@@ -61,6 +61,12 @@ IF NOT EXIST "%cache_dir%" (
GOTO :after_subroutine
:subroutine
REM If present, run the bootstrap script first
SET bootstrap_path=%FLUTTER_ROOT%\bin\internal\bootstrap.bat
IF EXIST "%bootstrap_path%" (
CALL "%bootstrap_path%"
)
PUSHD "%flutter_root%"
FOR /f %%r IN ('git rev-parse HEAD') DO SET revision=%%r
POPD
......
......@@ -166,6 +166,12 @@ function upgrade_flutter () (
function shared::execute() {
export FLUTTER_ROOT="$(cd "${BIN_DIR}/.." ; pwd -P)"
# If present, run the bootstrap script first
BOOTSTRAP_PATH="$FLUTTER_ROOT/bin/internal/bootstrap.sh"
if [ -f "$BOOTSTRAP_PATH" ]; then
source "$BOOTSTRAP_PATH"
fi
FLUTTER_TOOLS_DIR="$FLUTTER_ROOT/packages/flutter_tools"
SNAPSHOT_PATH="$FLUTTER_ROOT/bin/cache/flutter_tools.snapshot"
STAMP_PATH="$FLUTTER_ROOT/bin/cache/flutter_tools.stamp"
......
......@@ -170,4 +170,28 @@ void main() {
expect(result.exitCode, 1);
expect(result.stderr, contains('Invalid `--debug-uri`: http://127.0.0.1:3333*/'));
});
testWithoutContext('will load bootstrap script before starting', () async {
final String flutterBin =
fileSystem.path.join(getFlutterRoot(), 'bin', 'flutter');
final File bootstrap = fileSystem.file(fileSystem.path.join(
getFlutterRoot(),
'bin',
'internal',
platform.isWindows ? 'bootstrap.bat' : 'bootstrap.sh'));
try {
bootstrap.writeAsStringSync('echo TESTING 1 2 3');
final ProcessResult result = await processManager.run(<String>[
flutterBin,
...getLocalEngineArguments(),
]);
expect(result.stdout, contains('TESTING 1 2 3'));
} finally {
bootstrap.deleteSync();
}
});
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment