cordova-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrew Grieve <agri...@chromium.org>
Subject Re: Proposal for cli and plugman code rearrangement
Date Tue, 22 Apr 2014 16:10:47 GMT
LGTM


On Thu, Apr 17, 2014 at 5:00 PM, Mark Koudritsky <kamrik@google.com> wrote:

> Thanks Steven!
>
> I've added a proposal for a detailed plan on how to move forward at the
> bottom
> of the doc<
> https://docs.google.com/document/d/1GVtG6BD266dqRURKaS-GEDefb0tBYt56acxrJEKAfmE/edit#heading=h.i5l8na3iys39
> >.
> Please take a look and comment.
>
>
> On Thu, Apr 17, 2014 at 4:23 PM, Steven Gill <stevengill97@gmail.com>
> wrote:
>
> > Looks great!
> >
> > https://issues.apache.org/jira/browse/INFRA-7596
> >
> >
> > On Thu, Apr 17, 2014 at 12:07 PM, Michal Mocny <mmocny@chromium.org>
> > wrote:
> >
> > > Great showing, everyone.  Here's a quick summary:
> > >
> > > - Steve will file INFRA ticket to create a single new cordova-lib repo.
> > > - We will create node_modules/ folder inside cordova-lib, and Ian will
> > use
> > > git magic to create two node modules: cordova-cli, and plugman,
> importing
> > > the full git history for each dir.
> > > - We will remove the CLI bits from cordova-lib as a secondary patch
> [TBD:
> > > exactly how much can we remove]
> > > - We will remove the cordova-lib bits from cordova-cli and plugman
> [TBD:
> > > same question as above], updating the require() paths and adding
> > > cordova-lib-cordova-cli and cordova-lib-plugman to npm deps.
> > > - At this point, all the code should be 100% the same, the paths just
> > > changed a bit.
> > > - Over time, we dedup and break out code from cordova-lib-cordova-cli
> and
> > > cordova-lib-plugman into dedicated npm modules.
> > > - At first, cordova-cli and cordova-plugman continue to depend only on
> > > cordova-lib, and cordova-lib interface routes to correct npm modules,
> but
> > > eventually we refactor CLI's to directly consume the top-level npm
> module
> > > entry points (i.e. perhaps like cordova-lib-project-create,
> > > cordova-lib-plugin-publish)
> > > - At that point, we can consider which npm modules are not really
> > > cordova-lib, but really generic npm modules to live in dedicated repos
> > > (perhaps even entirely outside of cordova project, but not sure how to
> do
> > > that..).
> > >
> > > Some open questions:
> > > - How exactly are we going to version / tag / apache release process
> > > cordova-lib modules?
> > > - How much of CLI's stay in cli: is it a *really* dumb wrapper that
> > parses
> > > input in a generic fashion and turns it into dumb require() calls with
> > > opt's?  Or does it understand the full spec and massage opts into the
> > forms
> > > cordova-lib-* expect  (both options have value!)
> > > - Do CLI's have deps on specific versions of cordova-lib-*, so an
> apache
> > > release means pushing updated package.json deps?
> > >
> > > In case it isn't clear to everyone, some of the net benefits of this
> new
> > > approach, we think, are:
> > > - We have a saner model for code sharing between all the CLI (not just
> > > plugman and cordova-cli, but also phonegap, cca, bb, ibm, etc
> downstream
> > > distributions).
> > > - We are not impeded by overhead to create a new npm module, which is
> > > easier to test and reason about.
> > > - We don't push any specific CLI binary onto users if all they want is
> > some
> > > lib feature.
> > >
> > >
> > > Anything else?
> > >
> > >
> > >
> > > On Thu, Apr 17, 2014 at 2:11 PM, Victor Sosa <sosah.victor@gmail.com>
> > > wrote:
> > >
> > > > Are you planning to live stream the hangout?
> > > >
> > > >
> > > > 2014-04-17 12:56 GMT-05:00 Michal Mocny <mmocny@chromium.org>:
> > > >
> > > > > On Thu, Apr 17, 2014 at 1:28 PM, Andrew Grieve <
> agrieve@chromium.org
> > >
> > > > > wrote:
> > > > >
> > > > > > Some points of discussion for evaluating one repo vs multiple
> > repos:
> > > > > >
> > > > > > - Git Tags
> > > > > > - Atomic commits
> > > > > > - Going back in time (checking out points in history)
> > > > > > - Co-ordinating Pull Requests
> > > > >
> > > > > Also:
> > > > > - Expectations from external contributors
> > > > > - Transitioning from what we have today
> > > > > - Overhead of breaking out code into an npm module
> > > > >
> > > > > And some specific questions to discuss today:
> > > > > - should plugman module contain the CLI interface only -- forward
> > calls
> > > > to
> > > > > dedicated plugin management npm modules (same as cordova), or
> should
> > it
> > > > > itself implement those modules?
> > > > > - If we start with a single code repo for npm modules:
> > > > >   - do we include cordova and plugman CLI interfaces or just
> > > > > implementations?
> > > > >   - How do we import module implementation and retain history (git
> > > magic)
> > > > > - node_modules/ folder suggestion from Isaacs on twitter -- protip
> or
> > > > joke?
> > > > > - name for "cordova-lib" -- whats common on npm?
> > > > > - Testing
> > > > >
> > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > > On Wed, Apr 16, 2014 at 4:14 PM, purplecabbage <
> > > > purplecabbage@gmail.com>
> > > > > > wrote:
> > > > > > > Oops, I am okay with anytime tomorrow.
> > > > > > > How can they not list time zones in the UI?
> > > > > > >
> > > > > > > Sent from my iPhone
> > > > > > >
> > > > > > >> On Apr 16, 2014, at 3:05 PM, Victor Sosa <
> > sosah.victor@gmail.com>
> > > > > > wrote:
> > > > > > >>
> > > > > > >> Great!! Thanks Mark
> > > > > > >>
> > > > > > >>
> > > > > > >> 2014-04-16 17:02 GMT-05:00 Mark Koudritsky <kamrik@google.com
> >:
> > > > > > >>
> > > > > > >>> I'll arrange a hangout invite link several minutes
before the
> > > > start.
> > > > > > >>>
> > > > > > >>>
> > > > > > >>> On Wed, Apr 16, 2014 at 5:44 PM, Victor Sosa <
> > > > sosah.victor@gmail.com
> > > > > >
> > > > > > >>> wrote:
> > > > > > >>>
> > > > > > >>>> Is this agreed? Are we going to have the meeting
on
> Thursday,
> > > > April
> > > > > > 17,
> > > > > > >>>> 14:00 ET?
> > > > > > >>>> Who's going to send the hangout invite?
> > > > > > >>>>
> > > > > > >>>>
> > > > > > >>>> 2014-04-16 16:40 GMT-05:00 tommy-carlos williams
<
> > > > > tommy@devgeeks.org
> > > > > > >:
> > > > > > >>>>
> > > > > > >>>>> Cruel.
> > > > > > >>>>>
> > > > > > >>>>> The only difference in the Doodle between
2pm PST and 4pm+
> > PST
> > > is
> > > > > > Jesse
> > > > > > >>>>> and Brian.
> > > > > > >>>>>
> > > > > > >>>>> This won't be forgotten. You two are on
my list now ;)
> > > > > > >>>>>
> > > > > > >>>>> 4am on Good Friday, here I come. Yay?
> > > > > > >>>>>
> > > > > > >>>>> - tommy
> > > > > > >>>>>
> > > > > > >>>>>> On 17 April 2014 at 6:51:47 am, Mark
Koudritsky (
> > > > > kamrik@google.com)
> > > > > > >>>>> wrote:
> > > > > > >>>>>
> > > > > > >>>>> Ok, according to the doodle <
> > > http://doodle.com/uvyr9454pvepz3a3>
> > > > > > >>>> tomorrow
> > > > > > >>>>> 14:00 Eastern = 11:00 Pacific seems to
be an ok time. (I
> > hope I
> > > > got
> > > > > > the
> > > > > > >>>>> time zones right).
> > > > > > >>>>> Let's organized a hangout tomorrow.
> > > > > > >>>>>
> > > > > > >>>>> For the calendars:
> > > > > > >>>>> Thursday, April 17, 14:00 ET
> > > > > > >>>>> Thursday, April 17, 11:00 PT
> > > > > > >>>>>
> > > > > > >>>>>
> > > > > > >>>>>
> > > > > > >>>>>> On Wed, Apr 16, 2014 at 4:23 PM, Brian
LeRoux <b@brian.io
> >
> > > > wrote:
> > > > > > >>>>>>
> > > > > > >>>>>> To clear up my intent, I'm proposing
> > > > > > >>>>>>
> > > > > > >>>>>> 1. Keep the Plugman and Cordova/CLI
as separate repos that
> > we
> > > > > > publish
> > > > > > >>>> as
> > > > > > >>>>>> discreet modules (and use npm / package.json
to manage
> deps)
> > > > > > >>>>>> 2. Create a new placeholder repo for
staging common module
> > > > > > extraction
> > > > > > >>>>>> called cordova-lib
> > > > > > >>>>>> 3. Publish many modules from this one
git repo called
> > > > cordova-lib
> > > > > > and
> > > > > > >>>>>> prefix any module from it with `cordova-lib`
(for example
> > > > > > >>>>>> cordova-lib-app-create would be a great
module for
> sharing)
> > > > > > >>>>>> 4. Evaluate if any modules can graduate
from cordova-lib
> to
> > > more
> > > > > > >>>>> generally
> > > > > > >>>>>> useful status and get their own git
repos
> > > > > > >>>>>>
> > > > > > >>>>>> Thoughts?
> > > > > > >>>>>>
> > > > > > >>>>>>
> > > > > > >>>>>>
> > > > > > >>>>>> On Wed, Apr 16, 2014 at 12:28 PM, Carlos
Santana <
> > > > > > >>> csantana23@gmail.com
> > > > > > >>>>>>> wrote:
> > > > > > >>>>>>
> > > > > > >>>>>>> Brian
> > > > > > >>>>>>> yep I agree with directory "cordova-lib",
"node_modules",
> > > > > "common".
> > > > > > >>>>>>> "common-lib"
> > > > > > >>>>>>> I think we are on the same page.
> > > > > > >>>>>>>
> > > > > > >>>>>>> What do you mean by "published"?
in "-package.json
> > (published
> > > > as
> > > > > > >>>>>>> cordova-lib-plugin-install)"
> > > > > > >>>>>>>
> > > > > > >>>>>>> no actually publishing to npm registry,
but just having a
> > > > > > >>> convention
> > > > > > >>>>> for
> > > > > > >>>>>>> the naming of the modules all starting
with
> "cordova-lib-*"
> > > and
> > > > > > >>>>> matching
> > > > > > >>>>>>> location within repo?
> > > > > > >>>>>>>
> > > > > > >>>>>>> {
> > > > > > >>>>>>> "version": "0.0.1",
> > > > > > >>>>>>> "name": "cordova-lib-plugin-install",
> > > > > > >>>>>>> ..
> > > > > > >>>>>>> }
> > > > > > >>>>>>>
> > > > > > >>>>>>> {
> > > > > > >>>>>>> "version": "0.0.1",
> > > > > > >>>>>>> "name": "cordova-lib-util-a",
> > > > > > >>>>>>> ..
> > > > > > >>>>>>> }
> > > > > > >>>>>>>
> > > > > > >>>>>>>
> > > > > > >>>>>>>
> > > > > > >>>>>>>
> > > > > > >>>>>>>
> > > > > > >>>>>>>> On Wed, Apr 16, 2014 at 3:11
PM, Brian LeRoux <
> b@brian.io
> > >
> > > > > wrote:
> > > > > > >>>>>>>>
> > > > > > >>>>>>>> I'm thinking a clean path might
look something like
> this:
> > > > > > >>>>>>>>
> > > > > > >>>>>>>> plugman
> > > > > > >>>>>>>> '-package.json -> cordova-lib-plugin-install
> > > > > > >>>>>>>>
> > > > > > >>>>>>>> cordova-cli
> > > > > > >>>>>>>> '-package.json -> cordova-lib-plugin-install
> > > > > > >>>>>>>>
> > > > > > >>>>>>>> cordova-lib
> > > > > > >>>>>>>> |-plugin-install
> > > > > > >>>>>>>> | '-package.json (published
as
> cordova-lib-plugin-install)
> > > > > > >>>>>>>> etc
> > > > > > >>>>>>>>
> > > > > > >>>>>>>> Wherein all the 'meat' ends
up in cordova-lib and
> > > > > > >>>> plugman/cordova-cli
> > > > > > >>>>>>>> become light CLI wrappers.
I don't see any reason we
> > > > > > >>> change/remove
> > > > > > >>>>> the
> > > > > > >>>>>>>> already extracted repos for
the CLI and Plugman.
> > > > > > >>>>>>>>
> > > > > > >>>>>>>>
> > > > > > >>>>>>>>
> > > > > > >>>>>>>>
> > > > > > >>>>>>>> On Wed, Apr 16, 2014 at 11:58
AM, Carlos Santana <
> > > > > > >>>>> csantana23@gmail.com
> > > > > > >>>>>>>>> wrote:
> > > > > > >>>>>>>>
> > > > > > >>>>>>>>> I was going to suggest
node_modules but I think it
> > doesn't
> > > > work
> > > > > > >>>> for
> > > > > > >>>>>> us
> > > > > > >>>>>>>>> since we have two top level
npm pacakges. If one top
> > level
> > > > npm
> > > > > > >>>>>> pacakge
> > > > > > >>>>>>> in
> > > > > > >>>>>>>>> the repo then its fine.
> > > > > > >>>>>>>>>
> > > > > > >>>>>>>>> |cli
> > > > > > >>>>>>>>> | '-package.json
> > > > > > >>>>>>>>> | '-node_modules/util_a
> > > > > > >>>>>>>>> |plugman
> > > > > > >>>>>>>>> | '-package.json
> > > > > > >>>>>>>>> | '-node_modules/util_a
> > > > > > >>>>>>>>>
> > > > > > >>>>>>>>> means "util_a" will be
duplicated in repo
> > > > > > >>>>>>>>> plugman/node_modules/util_a
> > > > > > >>>>>>>>> cli/node_modules/util_a
> > > > > > >>>>>>>>>
> > > > > > >>>>>>>>> or
> > > > > > >>>>>>>>> if you have
> > > > > > >>>>>>>>> node_module/util_a at the
root, npm link
> > > > ../node_modules/util_a
> > > > > > >>>>> still
> > > > > > >>>>>>>> needs
> > > > > > >>>>>>>>> to be done for cli and
plugman node modules.
> > > > > > >>>>>>>>>
> > > > > > >>>>>>>>> that's why I suggested
to do the node_modules at
> > > dev/publish
> > > > > > >>> time
> > > > > > >>>>> to
> > > > > > >>>>>>>>> populate the both node_modules
one for cli and one for
> > > > plugman
> > > > > > >>>>>>>>>
> > > > > > >>>>>>>>> Or maybe I missed something.
> > > > > > >>>>>>>>>
> > > > > > >>>>>>>>> The tag for smaller modules,
might be tricky but at the
> > > same
> > > > > > >>> time
> > > > > > >>>>> not
> > > > > > >>>>>>>>> necessary if they are consider
bundle/private and
> living
> > in
> > > > > > >>> same
> > > > > > >>>>> repo
> > > > > > >>>>>>>>>
> > > > > > >>>>>>>>> Thanks Brian for putting
the question out there on
> > twitter
> > > > > > >>>>>> interesting
> > > > > > >>>>>>>>> feedback.
> > > > > > >>>>>>>>>
> > > > > > >>>>>>>>> --Carlos
> > > > > > >>>>>>>>>
> > > > > > >>>>>>>>>
> > > > > > >>>>>>>>> On Wed, Apr 16, 2014 at
2:10 PM, Brian LeRoux <
> > b@brian.io>
> > > > > > >>>> wrote:
> > > > > > >>>>>>>>>
> > > > > > >>>>>>>>>> I thought the node_modules
comment might have been
> > cheeky.
> > > > > > >>>>>>> (Suggesting
> > > > > > >>>>>>>> we
> > > > > > >>>>>>>>>> use npm to manage deps.)
> > > > > > >>>>>>>>>>
> > > > > > >>>>>>>>>> Crap. Totally forgot
about Good Friday. I have a one
> > hour
> > > > > > >>>> window
> > > > > > >>>>>> open
> > > > > > >>>>>>>> on
> > > > > > >>>>>>>>>> Thu. =(
> > > > > > >>>>>>>>>>
> > > > > > >>>>>>>>>>
> > > > > > >>>>>>>>>> On Wed, Apr 16, 2014
at 10:51 AM, Mark Koudritsky <
> > > > > > >>>>>> kamrik@google.com
> > > > > > >>>>>>>>
> > > > > > >>>>>>>>>> wrote:
> > > > > > >>>>>>>>>>
> > > > > > >>>>>>>>>>> The tip about placing
the deps under node_modules
> right
> > > > > > >>> away
> > > > > > >>>>>> sounds
> > > > > > >>>>>>>>> very
> > > > > > >>>>>>>>>>> useful. This way
the dev environment will be ready
> > right
> > > > > > >>>> after
> > > > > > >>>>>> git
> > > > > > >>>>>>>>> clone;
> > > > > > >>>>>>>>>>> npm install with
no extra magic.
> > > > > > >>>>>>>>>>>
> > > > > > >>>>>>>>>>> This Friday is
a holiday in Canada (Good Friday).
> > > > > > >>>>>>>>>>>
> > > > > > >>>>>>>>>>>
> > > > > > >>>>>>>>>>> On Wed, Apr 16,
2014 at 1:45 PM, Steven Gill <
> > > > > > >>>>>>> stevengill97@gmail.com
> > > > > > >>>>>>>>>
> > > > > > >>>>>>>>>>> wrote:
> > > > > > >>>>>>>>>>>
> > > > > > >>>>>>>>>>>> Git tags are
not something we have talked about yet.
> > > > > > >>> Thanks
> > > > > > >>>>> for
> > > > > > >>>>>>>>> sharing
> > > > > > >>>>>>>>>>>> Brian!
> > > > > > >>>>>>>>>>>>
> > > > > > >>>>>>>>>>>>
> > > > > > >>>>>>>>>>>>
> > > > > > >>>>>>>>>>>>
> > > > > > >>>>>>>>>>>> On Wed, Apr
16, 2014 at 10:39 AM, Brian LeRoux <
> > > > > > >>> b@brian.io
> > > > > > >>>>>
> > > > > > >>>>>>> wrote:
> > > > > > >>>>>>>>>>>>
> > > > > > >>>>>>>>>>>>> hey guys
could we add Fri to that doodle?
> > > > > > >>>>>>>>>>>>>
> > > > > > >>>>>>>>>>>>>
> > > > > > >>>>>>>>>>>>> I asked
around for opinions and got some
> interesting
> > > > > > >>>>>> responses
> > > > > > >>>>>>> to
> > > > > > >>>>>>>>> add
> > > > > > >>>>>>>>>>> to
> > > > > > >>>>>>>>>>>>> the discussion:
> > > > > > >>>> https://twitter.com/brianleroux/status/456242928298381312
> > > > > > >>>>>>>>>>>>>
> > > > > > >>>>>>>>>>>>> (Nothing
really negative or positive.)
> > > > > > >>>>>>>>>>>>>
> > > > > > >>>>>>>>>>>>>
> > > > > > >>>>>>>>>>>>> On Apr
15, 2014 6:34 PM, "Andrew Grieve" <
> > > > > > >>>>>> agrieve@chromium.org
> > > > > > >>>>>>>>
> > > > > > >>>>>>>>>> wrote:
> > > > > > >>>>>>>>>>>>>
> > > > > > >>>>>>>>>>>>>> We
didn't have time to cover this today, but I
> think
> > > > > > >>>> it's
> > > > > > >>>>>>>> better
> > > > > > >>>>>>>>>> off
> > > > > > >>>>>>>>>>>>>> as
its own hangout anyways.
> > > > > > >>>>>>>>>>>>>>
> > > > > > >>>>>>>>>>>>>> Created
a doodle for Wed/Thurs. Add yourself if
> > you'd
> > > > > > >>>>> like
> > > > > > >>>>>> to
> > > > > > >>>>>>>>>>>>>> participate
in the discussion.
> > > > > > >>>>>>>>>>>>>>
> > > > > > >>>>>>>>>>>>>> http://doodle.com/uvyr9454pvepz3a3
> > > > > > >>>>>>>>>>>>>>
> > > > > > >>>>>>>>>>>>>> On
Tue, Apr 15, 2014 at 11:19 AM, Mark Koudritsky
> <
> > > > > > >>>>>>>>>> kamrik@google.com
> > > > > > >>>>>>>>>>>>
> > > > > > >>>>>>>>>>>>>> wrote:
> > > > > > >>>>>>>>>>>>>>>
A short proposal<
> > > > > > >>>
> > > > > >
> > > > >
> > > >
> > >
> >
> https://docs.google.com/document/d/1GVtG6BD266dqRURKaS-GEDefb0tBYt56acxrJEKAfmE/edit
> > > > > > >>>>>>>>>>>>>>>
> > > > > > >>>>>>>>>>>>>>>
for
> > > > > > >>>>>>>>>>>>>>>
how to rearrange cli and plugman code. Let's
> > > > > > >>> discuss
> > > > > > >>>> it
> > > > > > >>>>>>>> during
> > > > > > >>>>>>>>>> the
> > > > > > >>>>>>>>>>>>>> hangout
> > > > > > >>>>>>>>>>>>>>>
today. Feel free to comment.
> > > > > > >>>>>>>>>
> > > > > > >>>>>>>>>
> > > > > > >>>>>>>>>
> > > > > > >>>>>>>>> --
> > > > > > >>>>>>>>> Carlos Santana
> > > > > > >>>>>>>>> <csantana23@gmail.com>
> > > > > > >>>>>>>
> > > > > > >>>>>>>
> > > > > > >>>>>>>
> > > > > > >>>>>>> --
> > > > > > >>>>>>> Carlos Santana
> > > > > > >>>>>>> <csantana23@gmail.com>
> > > > > > >>>>
> > > > > > >>>>
> > > > > > >>>> --
> > > > > > >>>> Victor Adrian Sosa Herrera
> > > > > > >>>> IBM Software Engineer
> > > > > > >>>> Guadalajara, Jalisco
> > > > > > >>
> > > > > > >>
> > > > > > >>
> > > > > > >> --
> > > > > > >> Victor Adrian Sosa Herrera
> > > > > > >> IBM Software Engineer
> > > > > > >> Guadalajara, Jalisco
> > > > > >
> > > > >
> > > >
> > > >
> > > >
> > > > --
> > > > Victor Adrian Sosa Herrera
> > > > IBM Software Engineer
> > > > Guadalajara, Jalisco
> > > >
> > >
> >
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message