fix: speed up the prepare process #4972
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Currently CLI executes
which pod
andwhich xcodeproj
every time whenpod install
is executed e.g on every native change. Also, CLI checks if env is correctly setup on every "prepare" related command - e.g prepare, build, run, debug and test. However, which xcodeprojand pod --version are included in the checks for correctly setup env. So these checks shouldn't be executed before each
pod install
as it aditionally slow down the prepare process.Currently CLI checks if
xcproj
executable is available on user's machine in case when CocoaPods version is lower than1.0.0
and Xcode's version is greater than7.3
and uses it to convert the project to ASCII plist format. This logic was needed as there is an issue in case when CocoaPods is with version lower than 1.0.0 and Xcode is with version >= 7.3.0 - all.pbxproject
files are converted to XML plst format. However, CLI requires Xcode 10 as min supported version and based on this blog post it seems it is not possible to use CocoaPods with version lower than 1.0.0 and Xcode 10+.Rel to: #4971
PR Checklist
What is the current behavior?
What is the new behavior?
Fixes/Implements/Closes #[Issue Number].