Motivation
Working on a project with a huge amount of pods I had some troubles:
-
Slow and unnecessary indexing of pods targets, which implementation I rarely try to edit;
-
Redundant rebuild time, probably as a result of problems CocoaPods
hooks or Xcode build system;
-
Freezing UI during navigation.
You can read ? full story on my blog.
Description
? Rugby
is CLI tool that was developed to solve the above problems:
+
Cache all pods dependencies and remove their targets from the Pods project;
+
Rebuild only changed pods;
+
Remove unnecessary sources from a project and reduce project size;
+
Drop any unneeded targets with sources and resources by RegEx.
What makes it different?
? Not a dependency, just an optional step
? Doesn’t change Podfile and Podfile.lock
? Custom steps
? Metrics after each command
✨ Fancy log output
? Swiftish!
Ruby alternatives:
-
PodBuilder
-
CocoaPods Binary Cache
-
CocoaPods Binary
Discussions
You can read more about ? Rugby in discussions
section.
Feel free to report any issues or suggest some new feature requests.
Mint ?
Quick start withbrew install mint
mint install swiftyfinch/rugby
# Now on Mint 0.17.0 you'll need to add ~/.mint/bin to your $PATH
# For example, add this to your ~/.zshrc file and relaunch terminal
export PATH=$HOME/.mint/bin:$PATH
Watch ? installation demo
How to use ?
Run in your project directory after each pod install:
pod install && rugby
Watch ? Basic Usage Demo
Read more about advanced usage
Documentation ?
Command | Description |
---|---|
? Help |
General Rugby documentation. |
? Cache |
Convert pods to prebuilt dependencies. |
✈️ Plans |
Run a predefined sequence of commands. |
? Focus |
Keep only selected targets and all their dependencies. |
? Drop |
Remove any targets by RegEx. |
? How to |
---|
Generating and Installing Completion Scripts |
Author
Vyacheslav Khorkov
Twitter: @SwiftyFinch
Blog: swiftyfinch.github.io
Feel free to contact me ☎️