Unverified Commit 33ea7f84 authored by xster's avatar xster Committed by GitHub

Reduce xcodebuild noise #2 (#14622)

* Revert "Revert "Reduce noise in xcodebuild stdout (#14586)" (#14605)"

This reverts commit 8e2278bd.

* Specify the build config when cleaning
parent 4e106d7e
......@@ -4,7 +4,9 @@
# found in the LICENSE file.
RunCommand() {
echo "♦ $*"
if [[ -n "$VERBOSE_SCRIPT_LOGGING" ]]; then
echo "♦ $*"
fi
"$@"
return $?
}
......
......@@ -277,16 +277,41 @@ Future<XcodeBuildResult> buildXcodeProject({
);
}
final Status cleanStatus =
logger.startProgress('Running Xcode clean...', expectSlowOperation: true);
final RunResult cleanResult = await runAsync(
<String>[
'/usr/bin/env',
'xcrun',
'xcodebuild',
'clean',
'-configuration', configuration,
],
workingDirectory: app.appDirectory,
);
cleanStatus.stop();
if (cleanResult.exitCode != 0) {
throwToolExit('Xcode failed to clean\n${cleanResult.stderr}');
}
final List<String> commands = <String>[
'/usr/bin/env',
'xcrun',
'xcodebuild',
'clean',
'build',
'-configuration', configuration,
'ONLY_ACTIVE_ARCH=YES',
];
if (logger.isVerbose) {
// An environment variable to be passed to xcode_backend.sh determining
// whether to echo back executed commands.
commands.add('VERBOSE_SCRIPT_LOGGING=YES');
} else {
// This will print warnings and errors only.
commands.add('-quiet');
}
if (developmentTeam != null)
commands.add('DEVELOPMENT_TEAM=$developmentTeam');
......@@ -318,27 +343,28 @@ Future<XcodeBuildResult> buildXcodeProject({
);
}
final Status status = logger.startProgress('Running Xcode build...', expectSlowOperation: true);
final RunResult result = await runAsync(
final Status buildStatus =
logger.startProgress('Running Xcode build...', expectSlowOperation: true);
final RunResult buildResult = await runAsync(
commands,
workingDirectory: app.appDirectory,
allowReentrantFlutter: true
);
status.stop();
if (result.exitCode != 0) {
buildStatus.stop();
if (buildResult.exitCode != 0) {
printStatus('Failed to build iOS app');
if (result.stderr.isNotEmpty) {
if (buildResult.stderr.isNotEmpty) {
printStatus('Error output from Xcode build:\n↳');
printStatus(result.stderr, indent: 4);
printStatus(buildResult.stderr, indent: 4);
}
if (result.stdout.isNotEmpty) {
if (buildResult.stdout.isNotEmpty) {
printStatus('Xcode\'s output:\n↳');
printStatus(result.stdout, indent: 4);
printStatus(buildResult.stdout, indent: 4);
}
return new XcodeBuildResult(
success: false,
stdout: result.stdout,
stderr: result.stderr,
stdout: buildResult.stdout,
stderr: buildResult.stderr,
xcodeBuildExecution: new XcodeBuildExecution(
commands,
app.appDirectory,
......@@ -348,7 +374,7 @@ Future<XcodeBuildResult> buildXcodeProject({
} else {
// Look for 'clean build/<configuration>-<sdk>/Runner.app'.
final RegExp regexp = new RegExp(r' clean (.*\.app)$', multiLine: true);
final Match match = regexp.firstMatch(result.stdout);
final Match match = regexp.firstMatch(buildResult.stdout);
String outputDir;
if (match != null) {
final String actualOutputDir = match.group(1).replaceAll('\\ ', ' ');
......
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