OSX support is predicated on the conformance of cordova-osx to the various command-line script "standard" we have defined [1]. I am not sure how well it follows this document. At a minimum, OSX needs to have a ./bin/create script, and for project it generates, it needs to have ./cordova folder that contains many project-level scripts that the CLI shells out to, including a `run`, `build` and `emulate` script.
For the CLI, you would need to: 1. Add the platform, its repo URL, and version tag to use to ./platforms.js. 2. Create a "parser" module under src/metadata/. It needs to mirror the structure of other parser modules: has a "static" check_requirements method, has an update_project method that takes a config object and a callback as parameters, has staging_dir and www_dir methods that return the location of the www folder relative to the platform project's root. The parser modules are responsible for parsing the platform-agnostic config.xml from a cli project's www folder and updating things in the platform-specific projects such as application name, bundle ID, whitelist, and other goodies. Finally, you would have to patch cordova-plugman [2], our plugin installation tool, to support the OSX platform. [1] http://wiki.apache.org/cordova/CommandLineToolingDesign [2] https://git-wip-us.apache.org/repos/asf/cordova-plugman.git On 7/3/13 6:36 AM, "Andrew Grieve" <[email protected]> wrote: >Hi Tyler, > >Glad that CLI seems to be working well for you. The OSX platform is a bit >of a lower priority than the others, but it's been kept in the releases >since +Shaz keeps it going. He'd be the main one to help you out with >changes to it. But, I think he's on holiday this week :). > >As for adding a platform to CLI, it's our intention that all of the >platforms will eventually make it in there. If you'd like to help make it >happen, probably the best place to start would be >cordova-cli.git/src/platform.js. > >Andrew > > >On Wed, Jul 3, 2013 at 12:22 AM, Tyler Wilson ><[email protected]>wrote: > >> I am really loving the ability to have one project with multiple >> platforms. Previously I had to create one project for OS X and another >>for >> iOS, and copy the www files around when needed. But with the cli >>ability to >> have multiple platforms, that solves that issue. And once I get my >>plugin >> in the plug man format, the issues with copying the plugin .js file >>will be >> handled too I am hoping. >> >> So now what I would love is to have the OS X platform as an option in >>the >> cli. It does not appear it is part of the platform list as yet. What is >> involved in adding a platform to the the cli system? Is the OS X >>maintainer >> on this list? I sent a previously message asking about ArrayBuffer >>support, >> which is needed for my specific plugin (Bluetooth Smart). I am certainly >> willing to give it a shot if somebody could outline the steps. >> >> Thank you, >> Tyler
