https://github.com/samdmarshall/mai
xcodebuild wrapper
https://github.com/samdmarshall/mai
Last synced: about 1 month ago
JSON representation
xcodebuild wrapper
- Host: GitHub
- URL: https://github.com/samdmarshall/mai
- Owner: samdmarshall
- License: bsd-3-clause
- Created: 2014-12-08T19:28:14.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2015-03-16T20:19:57.000Z (about 10 years ago)
- Last Synced: 2025-04-05T13:47:04.994Z (about 1 month ago)
- Language: Python
- Homepage: http://pewpewthespells.com
- Size: 406 KB
- Stars: 7
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Mai
=======External Xcode scheme build tool
--------------------------------Mai is a wrapper around `xcodebuild` that makes it easier to create specialized builds that depend on ordering of schemes. Doing this using Xcode alone is quite challenging, and displays evidence undefined behavior with dependency resolution. Mai solves this problem by parsing Xcode workspace and project files to find any schemes (both shared and user) and allows you to build them sequentially. In addition, Mai can also over-ride existing build settings for specific schemes, much like having an additional xcconfig file.
There is a limitation that expects all scheme names in a project or workspace to be unique when that isn't the case.
Configuration Files
-------------------See the example configuration file for an example.
Install
-------To install, run `python setup.py install` optionally add `--user` to install it to the user's python install rather than the system.
Dependencies
------------Mai depends on a specific version of [xcparse](https://github.com/samdmarshall/xcparse), this is tagged and will be installed via running `setup.py`.
How To Use
----------usage: mai [-h] [-l] [-c CONFIG] [-a ACTION] filename
Resolve target dependencies
positional arguments:
filename path to xcodeproj or xcworkspaceoptional arguments:
-h, --help show this help message and exit
-l, --list list schemes
-c CONFIG, --config CONFIG path to the build config file
-a ACTION, --action ACTION action to perform: "build", "test", "analyze", or "archive"