[flutter_tools] correctly forward error only stdout in non-verbose modes (#63815)
This commit is contained in:
parent
2122fe1fa1
commit
39c735f408
@ -301,7 +301,7 @@
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh\ntouch Flutter/ephemeral/tripwire\n";
|
||||
shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire";
|
||||
};
|
||||
36C290D58D35783923B6B124 /* [CP] Check Pods Manifest.lock */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
|
@ -14,6 +14,10 @@ import '../ios/xcodeproj.dart';
|
||||
import '../project.dart';
|
||||
import 'cocoapod_utils.dart';
|
||||
|
||||
/// When run in -quiet mode, Xcode only prints from the underlying tasks to stdout.
|
||||
/// Passing this regexp to trace moves the stdout output to stderr.
|
||||
final RegExp _anyOutput = RegExp('.*');
|
||||
|
||||
/// Builds the macOS project through xcodebuild.
|
||||
// TODO(jonahwilliams): refactor to share code with the existing iOS code.
|
||||
Future<void> buildMacOS({
|
||||
@ -87,10 +91,15 @@ Future<void> buildMacOS({
|
||||
'OBJROOT=${globals.fs.path.join(flutterBuildDir.absolute.path, 'Build', 'Intermediates.noindex')}',
|
||||
'SYMROOT=${globals.fs.path.join(flutterBuildDir.absolute.path, 'Build', 'Products')}',
|
||||
if (verboseLogging)
|
||||
'VERBOSE_SCRIPT_LOGGING=YES',
|
||||
'VERBOSE_SCRIPT_LOGGING=YES'
|
||||
else
|
||||
'-quiet',
|
||||
'COMPILER_INDEX_STORE_ENABLE=NO',
|
||||
...environmentVariablesAsXcodeBuildSettings(globals.platform)
|
||||
], trace: true);
|
||||
],
|
||||
trace: true,
|
||||
stdoutErrorMatcher: verboseLogging ? null : _anyOutput,
|
||||
);
|
||||
} finally {
|
||||
status.cancel();
|
||||
}
|
||||
|
@ -280,7 +280,7 @@
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh\ntouch Flutter/ephemeral/tripwire\n";
|
||||
shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire";
|
||||
};
|
||||
/* End PBXShellScriptBuildPhase section */
|
||||
|
||||
|
@ -86,7 +86,9 @@ void main() {
|
||||
'OBJROOT=${fileSystem.path.join(flutterBuildDir.absolute.path, 'Build', 'Intermediates.noindex')}',
|
||||
'SYMROOT=${fileSystem.path.join(flutterBuildDir.absolute.path, 'Build', 'Products')}',
|
||||
if (verbose)
|
||||
'VERBOSE_SCRIPT_LOGGING=YES',
|
||||
'VERBOSE_SCRIPT_LOGGING=YES'
|
||||
else
|
||||
'-quiet',
|
||||
'COMPILER_INDEX_STORE_ENABLE=NO',
|
||||
],
|
||||
stdout: 'STDOUT STUFF',
|
||||
@ -129,7 +131,7 @@ void main() {
|
||||
FeatureFlags: () => TestFeatureFlags(isMacOSEnabled: true),
|
||||
});
|
||||
|
||||
testUsingContext('macOS build does not spew stdout to status logger', () async {
|
||||
testUsingContext('macOS build forwards error stdout to status logger error', () async {
|
||||
final BuildCommand command = BuildCommand();
|
||||
createMinimalMockProjectFiles();
|
||||
|
||||
@ -137,7 +139,8 @@ void main() {
|
||||
const <String>['build', 'macos', '--debug']
|
||||
);
|
||||
expect(testLogger.statusText, isNot(contains('STDOUT STUFF')));
|
||||
expect(testLogger.traceText, contains('STDOUT STUFF'));
|
||||
expect(testLogger.traceText, isNot(contains('STDOUT STUFF')));
|
||||
expect(testLogger.errorText, contains('STDOUT STUFF'));
|
||||
}, overrides: <Type, Generator>{
|
||||
FileSystem: () => fileSystem,
|
||||
ProcessManager: () => FakeProcessManager.list(<FakeCommand>[
|
||||
|
Loading…
x
Reference in New Issue
Block a user