feat: add `xcbeautify` to iOS shell (#18273)
I can't remember the number of times I have had to ask developers to run `make run-ios | xcbeautify` when debugging iOS build failures and they do not have `xcbeautify` installed on their environment. `xcbeautify` helps make `xcodebuild` output more readable and to identify problems quickly. This commit adds `xcbeautify` to iOS shell and to `make run-ios` so that we get readable output by default.
This commit is contained in:
parent
5eb0baa64d
commit
10b97843ce
4
Makefile
4
Makefile
|
@ -283,9 +283,9 @@ run-ios: export TARGET := ios
|
||||||
run-ios: export IOS_STATUS_GO_TARGETS := iossimulator/amd64
|
run-ios: export IOS_STATUS_GO_TARGETS := iossimulator/amd64
|
||||||
run-ios: ##@run Build iOS app and start it in a simulator/device
|
run-ios: ##@run Build iOS app and start it in a simulator/device
|
||||||
ifneq ("$(SIMULATOR)", "")
|
ifneq ("$(SIMULATOR)", "")
|
||||||
npx react-native run-ios --simulator="$(SIMULATOR)"
|
npx react-native run-ios --simulator="$(SIMULATOR)" | xcbeautify
|
||||||
else
|
else
|
||||||
npx react-native run-ios
|
npx react-native run-ios | xcbeautify
|
||||||
endif
|
endif
|
||||||
|
|
||||||
show-ios-devices: ##@other shows connected ios device and its name
|
show-ios-devices: ##@other shows connected ios device and its name
|
||||||
|
|
|
@ -21,6 +21,7 @@ in {
|
||||||
xcodeWrapper watchman procps
|
xcodeWrapper watchman procps
|
||||||
flock # used in nix/scripts/node_modules.sh
|
flock # used in nix/scripts/node_modules.sh
|
||||||
ios-deploy # used in 'make run-ios-device'
|
ios-deploy # used in 'make run-ios-device'
|
||||||
|
xcbeautify # used in 'make run-ios'
|
||||||
];
|
];
|
||||||
|
|
||||||
# WARNING: Executes shellHook in reverse order.
|
# WARNING: Executes shellHook in reverse order.
|
||||||
|
|
|
@ -96,4 +96,5 @@ in {
|
||||||
aapt2 = callPackage ./pkgs/aapt2 { };
|
aapt2 = callPackage ./pkgs/aapt2 { };
|
||||||
patchMavenSources = callPackage ./pkgs/patch-maven-srcs { };
|
patchMavenSources = callPackage ./pkgs/patch-maven-srcs { };
|
||||||
goMavenResolver = callPackage ./pkgs/go-maven-resolver { };
|
goMavenResolver = callPackage ./pkgs/go-maven-resolver { };
|
||||||
|
xcbeautify = callPackage ./pkgs/xcbeautify { };
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,35 @@
|
||||||
|
{ stdenv, fetchurl, unzip, lib }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (lib) getAttr;
|
||||||
|
in
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "xcbeautify";
|
||||||
|
version = "1.1.1";
|
||||||
|
arch = if stdenv.hostPlatform.isAarch64 then "arm64" else "x86_64";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "https://github.com/tuist/xcbeautify/releases/download/${version}/xcbeautify-${version}-${arch}-apple-macosx.zip";
|
||||||
|
sha256 = getAttr arch {
|
||||||
|
arm64 = "sha256-VaZBWZNx5iZxjpsVbKQA4wVsigjlhArDCsQXY/RBDx4=";
|
||||||
|
x86_64 = "sha256-Q1t4nHQu05mPqNRmL0KQukGRAHdkQHM7H24ar0isQTo=";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ unzip ];
|
||||||
|
|
||||||
|
unpackPhase = ''
|
||||||
|
unzip $src
|
||||||
|
'';
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
install -D xcbeautify $out/bin/xcbeautify
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "A little beautifier tool for xcodebuild";
|
||||||
|
homepage = "https://github.com/tuist/xcbeautify";
|
||||||
|
license = licenses.mit;
|
||||||
|
platforms = platforms.darwin;
|
||||||
|
};
|
||||||
|
}
|
Loading…
Reference in New Issue