There've been some changes to CLI in the last month that fix Android requiring an SDK to run create & plugin add. Likewise, a fix just went in this week (last week?) that fixes the slash problem for xcode project files on windows.
That said, I like your idea of not modifying platforms/ outside of prepare / build. On Thu, Oct 30, 2014 at 10:48 AM, Treggiari, Leo <[email protected]> wrote: > Is there an issue with the semantics of "plugin add" and "platform add"? > > This is just a high level query to see if this is something worth > discussing in more detail. I don't know exactly what each Cordova CLI > command does. My knowledge is based upon reading documentation (which is > sometimes wrong as noted in recent e-mails) and experimentation. > > What does "add" do? > > > 1. For "plugin add" fetches the plugin sources. For "platform add" > fetches the platform implementation if necessary. > > 2. Stores some metadata somewhere indicating that the plugin or > platform was added? What and where this metadata is stored should be > better documented. > > 3. For "plugin add", processes plugin variables, if specified, which > modifies the plugin sources. > > 4. Creates/modifies the native platform "project" (e.g. a Visual > Studio, Eclipse, or Xcode, etc. project) to make the appropriate changes. > > If "plugin add" or "platform add" do more than this, I'd appreciate being > educated. > > My question is, should "add" stop at step #2 and leave the rest to the > prepare step? > > Here's why: > > * We see there is an issue with multiple developers on the same > project on different platforms. E.g. when one developer is on Windows > working on the Windows and Android versions of the project and another is > on Mac working on the iOS version of the project. If the shared project > wants to add all three platforms (which it does...) then Cordova CLI has > problems. Basically because not much else than the "create" command works > without having native SDKs installed. Would many issues be solved if the > "add" command did not require the presence of native SDKs, but rather > "prepare" did? > > * There seems to be an issue with the co-existence of Cordova CLI > and IDEs, and in particular with IDEs that want to build in the cloud > without the requirement of native SDKs. It would be ideal if multiple > users on the same project could use different tools - e.g. one use the > command line and one use the IDE. The basic "definition" of a Cordova CLI > project, i.e. the part that needs to be shared, is the list of platforms > and plugins and the settings in the top level config.xml. If the basic > definition of the project could be created/edited from both the CLI and > various IDEs, then the rest of the development workflow (prepare, build, > emulate, etc.) could be implemented in different ways, but the project > definition could still be shared. > > P.S. the "remove" command has similar semantics. > > Thanks, > Leo >
