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

🚑
Help

General Rugby documentation.

🏈
Cache

Convert remote 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.

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.

GitHub

https://github.com/SwiftyFinch/Rugby