-
Notifications
You must be signed in to change notification settings - Fork 3
Open Source
Pablo Villar edited this page Sep 28, 2016
·
43 revisions
First of all, make sure you've read our general open source guidelines.
##Current Projects
- Current iOS open source projects are listed in this spreadsheet.
##Guidelines
Any Swift open source project must satisfy these items:
Suggestion: Create an issue in your repo, and use this checklist as description.
###General Items
It has a Github repo
The repo address must match this format: https://github.com/inaka/ProjectNameIt has an [Apache2 LICENSE](https://github.com/inaka/swift_guidelines/wiki/License) file
There must be a `LICENSE` file at the root level containing [this](License). Be aware of the copyright's year.It has a clear and useful [README](https://github.com/inaka/swift_guidelines/wiki/README-Template) file
There must be a `README.md` file at the root level following [this template](README-Template).It's available in [Cocoapods](https://github.com/inaka/swift_guidelines/wiki/How-To-Podify)
Also, make sure your library's name does not already exist in [cocoapods](https://cocoapods.org/). If so, consider renaming it.###Continuous Integration Items
It's hooked to HipChat rooms
The library should be hooked to the **iOS devs** room and the **open-source** public room.It's hooked to [Travis CI](https://github.com/inaka/swift_guidelines/wiki/Travis-CI-Hook)
Follow [these instructions](Travis-CI-Hook) for further detail.It's hooked to [Codecov](https://github.com/inaka/swift_guidelines/wiki/Codecov-Hook)
Follow [these instructions](Codecov-Hook) for further detail.###Source Code Items
Code is [documented](https://developer.apple.com/library/content/documentation/Xcode/Reference/xcode_markup_formatting_ref/)
Each exposed API must have a proper markup documentation following [the official guidelines](https://developer.apple.com/library/content/documentation/Xcode/Reference/xcode_markup_formatting_ref/).Code is tested
Aim for both unit tests and UI tests (if they apply), and remember that [100% coverage is a non-goal](https://jeremybytes.blogspot.com.ar/2016/08/code-coverage-should-not-be-goal.html).Every source file uses the [Apache2 License Header](https://github.com/inaka/swift_guidelines/wiki/License-Header)
For every `.swift` file in the project, remove the default header, and replace it with the [Apache2 License Header](License-Header).###Exhibition Items