Rugby icon indicating copy to clipboard operation
Rugby copied to clipboard

🏈 Cache CocoaPods for faster rebuild and indexing Xcode project.




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.

Known limitations

- Not supported WatchOS SDK


Download binary with Homebrew 🍺

brew tap swiftyfinch/Rugby https://github.com/swiftyfinch/Rugby.git
brew install rugby

Build from source code with Mint 🌱

brew install mint
mint install swiftyfinch/rugby

Warning: 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

More info about installation with 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
🎬 Installation Demo
🎬 Basic Usage Demo
🎬 Debug Demo
🎬 Rugby Review (ru)

Author

Vyacheslav Khorkov
Twitter: @SwiftyFinch
Blog: swiftyfinch.github.io
Feel free to contact me 📮