Skip to content
This repository has been archived by the owner on Jan 16, 2023. It is now read-only.

Contributing

Leandro Alonso edited this page Jan 19, 2018 · 2 revisions

How to start contributing

Just follow these commands:

git clone https://github.com/clappr/clappr-ios.git
cd clappr-ios
make setup
make test

If all the tests run you're ready to contribute!

Dependencies

Clappr tries to not include dependencies, always targeting to be as simple and smaller as possible, and avoiding conflict with other third-party libraries that could be used in other projects.

Clappr uses Carthage for managing its dependencies, all of the dependencies will be built, or downloaded to Carthage\Checkouts directory.

If you need to update a dependency version, since Clappr is distributed on CocoaPods and Carthage, you need to update on both files: Cartfile and Clappr.podspec.

  • Kingfisher: A lightweight, pure-Swift library for downloading and caching images from the web.
  • Quick / Nimble: Test only

Getting Started

We have four targets on the Clappr project:

  • Clappr: Contains the source code of the iOS framework.
  • Clappr_Example: Has an example app, the unit tests and the UI tests.
  • Clappr_tvOS: Contains the source code of the tvOS framework and the unit tests.
  • Clappr_tvOS_Example: Contains an example tvOS app.

Workflow

Currently, our workflow is based on this model. To help follow that idea, we're using the gitflow tool.

After downloading the project, you should run:

$ git flow init

Which branch should be used for bringing forth production releases?
Branch name for production releases: [] master
Which branch should be used for integration of the "next release"?
Branch name for "next release" development: [master] dev
How to name your supporting branch prefixes?
Feature branches? [feature/]
Release branches? [release/]
Hotfix branches? [hotfix/]
Support branches? [support/]
Version tag prefix? []

The git-flow configurations will be saved on the .git/config file.

In case of make a mistake, you can run git flow init -f, which will force the reconfiguration.

You can start a new feature by using git flow feature start <feature_name>. Create a Pull Request for you new branch, and set the label as in progress.

Clone this wiki locally