swiftyfinch / Rugby

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

Home Page:https://swiftyfinch.github.io/en/2021-03-09-rugby-story/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool




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.


Install using Homebrew ๐Ÿบ

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

More information ๐ŸŽฌ here.

๐Ÿˆ Rugby Remastered

You can find all information in readme.
๐Ÿ“ฆ The first pre-release is already here.


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
Known limitations

- Not supported WatchOS SDK


๐Ÿ“ฎ Support

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.