-
Notifications
You must be signed in to change notification settings - Fork 268
Contribution Guide
All of Typhoon is Licensed under Apache v2.0. By contributing to Typhoon you agree:
- To license the work under Apache v2.0.
- That you have the right to assign this license - this is your original work, or you have permission from the owners to contribute.
Of course this stuff should go without saying, but just in case you're wondering . . .
We provide a friendly environment that welcomes everyone, regardless of gender, age, disability, physical appearance, race, religion, national origin, sexual orientation or gender identity.
Please be respectful of and welcoming to your fellow Typhoon users and contributors. Doing so confers the right to participation.
All files MUST include the copyright header found in the repository: Copyright-Header.txt. Your help replacing any incorrect headers with this canonical one, as we propagate this requirement across the codebase, is greatly appreciated. We recommend the use of a code snippet with the abbreviation 'typhoon_header' to automate the insertion of this notice.
If you want, you can use a filter that will automatically check the header presence and include it if it is not already there for every file you add or modify. To enable this behaviour you should run this two commands in your working copy directory:
git config filter.typhoonheader.smudge 'cat'
git config filter.typhoonheader.clean '`git rev-parse --git-dir`/../Resources/typhoonheader'
This two config entries register the filter that will add the right header for you.
Builds unit tests, integration tests and code coverage reports. Please run this script before committing your work or sending requests. This is the same script the build server runs, so running locally will minimize the chance of breakage and any subsequent impact on the productivity of your fellow developers.
Dependencies:
We recommended installing CLI build dependencies using HomeBrew (http://brew.sh) or MacPorts (https://www.macports.org/) and Ruby gems.
brew install lcov
brew install groovy
brew install doxygen
brew install graphviz
gem install xcpretty
. . and now run
build.sh
The AppCode project included in the repository has a complete set of code styles that AppCode's formatting engine will apply. We'd appreciate a contribution that contains a similar configuration for Uncrustify.
In case of any doubt, the best thing is looking the code around the point that you are editing, and keep the style consistent.
- We regularly release bug-fixes and improvements (micro versions) as soon as they are available.
- Minor version when significantly value-adding features are available.
- A major version indicates significant new features.
From version 3.0.0 we maintain a formal Change Log.
A warm thanks to all of the Typhoon contributors! Whether it be to the core framework, sample apps, documentation, supporting users on stack-overflow or sending feedback, you've helped create a great library that our fellow software developers can freely enjoy.
Something still not clear? How about posting a question on StackOverflow.
Get started in two minutes.
Get familiar with Typhoon.
- Types of Injections
- What can be Injected
- Auto-injection (Objective-C)
- Scopes
- Storyboards
- TyphoonLoadedView
- Activating Assemblies
Become a Typhoon expert.
For contributors or curious folks.