Skip to content

๐Ÿˆ Cache CocoaPods for faster rebuild and indexing Xcode project

License

Notifications You must be signed in to change notification settings

johnnie-che/Rugby

ย 
ย 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation




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 ๐Ÿ“ฎ

About

๐Ÿˆ Cache CocoaPods for faster rebuild and indexing Xcode project

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Swift 95.8%
  • Ruby 4.2%