Well, afaik 'cordova plugin add <>' only does 'cordova prepare' after the plugin stuff is done, and 'cordova prepare' works even without native SDKs.
2014-10-30 23:43 GMT-02:00 Andrew Grieve <[email protected]>: > 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 > > > -- *Frederico Galvão* Diretor de Tecnologia PontoGet Inovação Web ( +55(62) 8131-5720 * www.pontoget.com.br <http://www.pontoget.com/>
