I want more repos not less! I'd love for us to break the functionality up into a tonne of smaller utility repos. Ideally every module is in a discreet git repo, separately versioned, and dependencies are managed with npm.
On Fri, Apr 11, 2014 at 5:59 AM, Michal Mocny <mmo...@chromium.org> wrote: > The overhead of a third repo scares me. I'm fine with merging into a > single repo, but I'll throw a third option into the mix: > > - Leave the plugman repo, and leave the plugman binary in there, but > refactor to make plugman depend on cordova-cli, and forward all > functionality to cli implementations. > > This leaves the APIs entirely untouched and is just an internal refactor. > It would invert the "depends" direction, but I don't think that matters. > > -Michal > > > On Thu, Apr 10, 2014 at 2:53 PM, Mark Koudritsky <kam...@google.com> > wrote: > > > I often find myself making changes that require commits to both plugman > and > > cli, it's not always clear which repo new code should live in and sharing > > utility functions between the two projects is not trivial. > > > > The idea of "cordova-lib" was mentioned several times on this mailing > list. > > The lib would contain most of the code from both plugman and cli while > the > > end tools will be thin wrappers around the lib. > > > > I wanted to probe how people working on CLI feel about such > rearrangement. > > > > But if we are already in this discussion, now that the heavy platforms > > files are distributed separately from cordova-cli (repos like cordova-ios > > etc), is there anything that prevents us from merging plugman and cli > into > > a single npm package with 2 executables? > > > > > > Examples of code that should be shared include: > > - Common logging and error handling logic (e.g. CordovaError exception) > > - Fetching logic (for plugins and platforms) > > - Platform-specific logic (e.g. where the config.xml file lives within > each > > project) > > - Generic utilities like xml-helpers.js (currently copied but slightly > > diverged in the 2 repos) > > > > The first option that comes to mind is to create another repo and another > > npm package for cordova-lib, but this creates significant overhead: > > - Version release would get more difficult (see the failed release vote > > thread < > https://www.mail-archive.com/dev@cordova.apache.org/msg15419.html > > >from > > last Friday) > > - In many cases new functionality in plugman or CLI would require > changes > > in 2 or even 3 repos. This is a significant additional barrier for new > > contributors that don't have commit rights - coordinating two > > interdependent pull request is quite a hassle. > > - Strictly speaking, cordova-lib major version number will have to be > > bumped every time we change some function signatures, which will happen > > rather frequently in this case (this point also partially holds true if > the > > lib will be part of the plugman repo and npm package). > > > > Based on the points above a single repo and npm package containing both > > plugman and cli seems to provide the most benefit. > > > > What do you think? > > >