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.
๐ 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.
๐ 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
You can read more about ๐ Rugby in discussions section.
Feel free to report any issues or suggest some new feature requests.
Install using Homebrew ๐บ
brew tap swiftyfinch/Rugby https://github.com/swiftyfinch/Rugby.git
brew install rugby
More information ๐ฌ here.
You can find all information in the readme.
๐ฆ The latest pre-release is here.
Run in your project directory after each pod install:
pod install && rugby
Watch ๐ฌ Basic Usage Demo.
Read more about advanced usage.
Command | Description |
---|---|
๐ Help | General Rugby documentation. |
๐ Cache | Convert pods to prebuilt dependencies. |
Run a predefined sequence of commands. | |
๐ Focus | Keep only selected targets and all their dependencies. |
๐ Drop | Remove any targets by RegEx. |
๐ How To |
---|
๐ฌ Installation Demo |
๐ฌ Basic Usage Demo |
๐ฌ Debug Demo |
-
Not supported WatchOS SDK
If you want to support this project, you can do some of these:
1)
Press โญ๏ธ. It's a great sign that Rugby is useful;
2)
Share the project ๐ somewhere with anybody;
3)
Leave feedback in the discussions ๐ฌ section.
If you have any questions or feature requests, feel free to open a discussion or an issue.