Rugby
?
“Like Ruby but with g”
Motivation
Working on a project with a huge amount of remote pods I had some troubles:
- Slow and unnecessary indexing of remote 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 remote pods dependencies and remove their targets from the Pods project;
+ Rebuild only changed remote 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
?
Doesn’t change Podfile
?
Custom steps
?
Metrics after each command
✨
Fancy log output
?
Swiftish!
Ruby alternatives:
- CocoaPods Binary
- PodBuilder
- CocoaPods Binary Cache
Discussions
You can read more about
?
Rugby in discussions section.
Feel free to report any issues or suggest some new feature requests.
Quick start with Mint
?
mint install swiftyfinch/rugby
How to use
?
Run in your project directory after each pod install:
pod install && rugby
Or read more about Plans
✈️
Documentation
?
| Command | Description |
|---|---|
|
? |
General Rugby documentation. |
|
? |
Convert remote pods to prebuilt dependencies. |
|
✈️ |
Run a predefined sequence of commands. |
|
? |
Keep only selected targets and all their dependencies. |
|
?? |
Remove any targets by RegEx. |
Maybe Roadmap
- Open source
- Optimization
- CI
- Pull requests CI
- Move e2e tests to Fastlane
- Unit tests
- Speed up e2e tests
- Improve Cache command
Author
Vyacheslav Khorkov
Twitter: @SwiftyFinch
Blog: swiftyfinch.github.io
Feel free to contact me for any questions.
