Skip to content

Commit

Permalink
feat(run-is): less noisy build failures with xcpretty (#1393)
Browse files Browse the repository at this point in the history
* feat: less noisy run-ios build failures with xcpretty

The run-ios command detects and uses xcpretty (https://github.com/xcpretty/xcpretty) if it's available. If it's not available it displays a loader/spinner animation until xcodebuild finishes.

If a build failure happens then the buildOutput and errorOutput are included in the raised CLIError and printed out to the terminal.

This makes sense when xcpretty isn't present as there has been no build output displayed up to now. However, if xcpretty is being used, this behaviour makes less sense:

Firstly, xcpretty has been doing coloured output, nicely highlighting warnings and errors as they happened. The raised CLIError will repeat the output but without colours which means you have to scroll back up past a potential mountain of monochrome xcodebuild output to find the xcpretty output (or attempt to pick out the error from the monochrome output).

Secondly, you will be prompted to "Run CLI with --verbose flag for more details." upon build failure anyway. If you use xcpretty then running the build again with the --verbose flag would force raw xcodebuild output (which would then including the buildOutput and errorOutput again).

* Update index.ts

Co-authored-by: Mike Grabowski <grabbou@gmail.com>
  • Loading branch information
liamjones and grabbou committed Jul 19, 2021
1 parent e17d9b0 commit 84e91a9
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion packages/platform-ios/src/commands/runIOS/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -381,7 +381,7 @@ function buildProject(
logs further, consider building your app with Xcode.app, by opening
${xcodeProject.name}.
`,
buildOutput + '\n' + errorOutput,
xcodebuildOutputFormatter ? undefined : buildOutput + '\n' + errorOutput,
),
);
return;
Expand Down

0 comments on commit 84e91a9

Please sign in to comment.