Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/doubleencore/XcodeIssueGenerator
An executable that can be called from a Run Script Build Phase that makes comments such as // TODO: or // SERIOUS: appear in Xcode's Issue Navigator giving them project-wide visibility.
https://github.com/doubleencore/XcodeIssueGenerator
Last synced: about 1 month ago
JSON representation
An executable that can be called from a Run Script Build Phase that makes comments such as // TODO: or // SERIOUS: appear in Xcode's Issue Navigator giving them project-wide visibility.
- Host: GitHub
- URL: https://github.com/doubleencore/XcodeIssueGenerator
- Owner: doubleencore
- License: mit
- Created: 2016-05-09T18:38:44.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2016-10-05T17:02:52.000Z (over 8 years ago)
- Last Synced: 2024-08-16T10:42:14.544Z (5 months ago)
- Language: Swift
- Homepage: https://possiblemobile.com/2016/05/xcode-issue-generator/
- Size: 26.4 KB
- Stars: 142
- Watchers: 9
- Forks: 8
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-ios - XcodeIssueGenerator - An executable that can be placed in a Run Script Build Phase that marks comments like // TODO: or // SERIOUS: as warnings or errors so they display in the Xcode Issue Navigator. (Tools / Web View)
- awesome-ios-star - XcodeIssueGenerator - An executable that can be placed in a Run Script Build Phase that marks comments like // TODO: or // SERIOUS: as warnings or errors so they display in the Xcode Issue Navigator. (Tools / Web View)
README
# XcodeIssueGenerator
An executable that can be called from a Run Script Build Phase that makes comments such as ```// TODO:``` or ```// SERIOUS:``` appear in Xcode's Issue Navigator giving them project-wide visibility.
- Works in Swift files.
- An upside of using this program as compared to ```#warning``` pragmas available to Objective-C is we can keep "treat warnings as errors" on in the host project build settings since this executable runs post-build.
- Comments can be configured as warnings or errors. Error-producing comments stop the build from succeeding.
- Warning or error behavior for comments can be configured differently per build configuration—you can have a ```// TODO:``` be a warning in DEBUG and be an error in RELEASE for instance.## Installation
### Install with [Homebrew](http://brew.sh)
```
brew tap doubleencore/tap
brew install xcodeissuegenerator
```Xcode 8 and Swift 3 are required to build XcodeIssueGenerator.
### Install Manually
Download the latest [release](https://github.com/doubleencore/XcodeIssueGenerator/releases) or build the project yourself. Copy the XcodeIssueGenerator executable to your ```/usr/local/bin``` directory and make it executable: ```chmod +x /usr/local/bin/XcodeIssueGenerator```. Call the XcodeIssueGenerator executable from a Run Script build phase.
### Adding a Run Script Build Phase
Select the target on which to run XcodeIssueGenerator, select Build Phases, and select the "+" icon to add a new Run Script phase. Then put in a call to XcodeIssueGenerator as in the example below.### Example Run Script
```
if which XcodeIssueGenerator >/dev/null; then
# Mark WARNINGs, SERIOUSs, and TODOs as warnings in DEBUG builds excluding the Vendor and Third Party directories.
XcodeIssueGenerator -b DEBUG -w "WARNING, SERIOUS, TODO" -x "Vendor/, Third Party/"# Mark WARNINGs and SERIOUSs as warnings and TODOs as errors in RELEASE builds excluding the Vendor and Third Party directories.
XcodeIssueGenerator -b RELEASE -w "WARNING, SERIOUS" -e TODO -x "Vendor/, Third Party/"
else
echo "warning: XcodeIssueGenerator is not installed."
fi
```With the Run Script above, we'll show all comments in Issue Navigator as warnings in DEBUG builds. In RELEASE builds, we'll mark TODOs as errors as a way to block unfinished work from becoming part of a release build.
### Options
* -w warnings tags list (required if no -e)
* -e error tags list (required if no -w)
* -b build configuration (required)
* -x exclude directories (optional)Tags can be any string. Multiple tags should be separated by commas. Build configurations should match those in the host Xcode project.
## License
XcodeIssueGenerator is released under the MIT license. See LICENSE for details.