We love that you’re interested in contributing to Carthage!
Please file issues or submit pull requests for anything you’d like to see! However, we make no promises that they’ll be accepted—many suggestions will be rejected to preserve simplicity.
If you know exactly how to implement the feature being suggested or fix the bug being reported, please open a pull request instead of an issue. Pull requests are easier than patches or inline code blocks for discussing and merging the changes.
If you can’t make the change yourself, please open an issue after making sure that one isn’t already logged.
After checkout, you can run the following command from the cloned directory, and then open the workspace in Xcode:
make xcodeproj && \
open Carthage.xcodeproj
Then, to install your development copy of Carthage (and any local changes you've made) on your system, and test with your own repos:
make install
If you want to go back to the mainline Brew build, just uninstall the dev copy first:
sudo make uninstall
brew install carthage
It may be useful to run Carthage on different Cartfile
s or in "real" project for debugging purpose or to learn how Carthage works. Carthage is a regular macOS application so you can run it inside Xcode and set breakpoints! To do so you may want to change the arguments passed to Carthage's command line tool and probably also change the working directory.
-
The go to
Product > Scheme > Edit current scheme
or press ⌘ + <. -
On the edit scheme sheet, on the left column select
Run
. -
On the Info tab you may want to change the
Build Configuration
toDebug
. -
You can set the arguments you want to pass to Carthage's command line tool in the
Arguments
tab. -
You can change the
Working Directory
on theOptions
tab. Choose a absolute path where aCartfile
is located. -
Run the application by going to
Product > Run
or ⌘ + R.
If you’re interested in contributing code, please have a look at our style guide, which we try to match fairly closely.
If you have a case that is not covered in the style guide, simply do your best to match the style of the surrounding code.
Thanks for contributing! 💥🐫