mirror of
https://github.com/flutter/flutter.git
synced 2025-06-03 00:51:18 +00:00
Add the ability to inject a bootstrap script (#66897)
This commit is contained in:
parent
1d93be3d3d
commit
5f76bfb4af
2
.gitignore
vendored
2
.gitignore
vendored
@ -24,6 +24,8 @@
|
|||||||
|
|
||||||
# Flutter repo-specific
|
# Flutter repo-specific
|
||||||
/bin/cache/
|
/bin/cache/
|
||||||
|
/bin/internal/bootstrap.bat
|
||||||
|
/bin/internal/bootstrap.sh
|
||||||
/bin/mingit/
|
/bin/mingit/
|
||||||
/dev/benchmarks/mega_gallery/
|
/dev/benchmarks/mega_gallery/
|
||||||
/dev/bots/.recipe_deps
|
/dev/bots/.recipe_deps
|
||||||
|
@ -61,6 +61,12 @@ IF NOT EXIST "%cache_dir%" (
|
|||||||
GOTO :after_subroutine
|
GOTO :after_subroutine
|
||||||
|
|
||||||
: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%"
|
PUSHD "%flutter_root%"
|
||||||
FOR /f %%r IN ('git rev-parse HEAD') DO SET revision=%%r
|
FOR /f %%r IN ('git rev-parse HEAD') DO SET revision=%%r
|
||||||
POPD
|
POPD
|
||||||
|
@ -166,6 +166,12 @@ function upgrade_flutter () (
|
|||||||
function shared::execute() {
|
function shared::execute() {
|
||||||
export FLUTTER_ROOT="$(cd "${BIN_DIR}/.." ; pwd -P)"
|
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"
|
FLUTTER_TOOLS_DIR="$FLUTTER_ROOT/packages/flutter_tools"
|
||||||
SNAPSHOT_PATH="$FLUTTER_ROOT/bin/cache/flutter_tools.snapshot"
|
SNAPSHOT_PATH="$FLUTTER_ROOT/bin/cache/flutter_tools.snapshot"
|
||||||
STAMP_PATH="$FLUTTER_ROOT/bin/cache/flutter_tools.stamp"
|
STAMP_PATH="$FLUTTER_ROOT/bin/cache/flutter_tools.stamp"
|
||||||
|
@ -170,4 +170,28 @@ void main() {
|
|||||||
expect(result.exitCode, 1);
|
expect(result.exitCode, 1);
|
||||||
expect(result.stderr, contains('Invalid `--debug-uri`: http://127.0.0.1:3333*/'));
|
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();
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user