Welcome, and thank you for your interest in contributing to VS App Center SDK for iOS and macOS! The goal of this document is to provide a high-level overview of how you can get involved.
To contribute to the SDK, please
- Install Xcode 13 on your Mac.
- Install Jazzy to be able to generate documentation.
- Install
clang-format
for code formatting via Homebrew using the commandbrew install clang-format
.
Small pull requests are much easier to review and more likely to get merged. Make sure the PR does only one thing, otherwise please split it.
Please make sure the following is done when submitting a pull request:
- Fork the repository and create your branch from
develop
. - Run
git submodule update --init --recursive
before opening the solution. - Use Xcode 13 or above to edit and compile the SDK.
- Make sure that there are no lint errors: run
gradlew assemble lint
command. - Make sure all tests have passed and your code is covered.
- If your change includes a fix or feature related to the changelog of the next release, you have to update the CHANGELOG.md.
- After creating a pull request, sign the CLA, if you haven't already.
- Make sure that the git history is clean, either by using squash merge of a PR or by doing amend commits during development.
- Make sure you name all the classes in upper camel case and have
MSAC
. - Use blank line in-between methods.
- No newlines within methods except in front of a comment.
- Use
{}
even if you have single operation in block.
All Objective-C files follow LLVM coding style (with a few exceptions) and are formatted accordingly. To format your changes, make sure you have the clang-format
tool. It can be installed with Homebrew using the command brew install clang-format
. Once you have installed clang-format
, run ./clang-format-changed-files.sh
from the repository root - this will format all files that have changes against the remote develop
branch (it will also perform a git fetch
).
- Use capital letter in the beginning of each comment and dot at the end.
- Provide documentation for each public class, method and property.
Your contributions to open source, large or small, constantly make projects better. Thank you for taking the time to contribute.