RE: Feedback on "cordova plugin save" & friends

2014-08-13 Thread Chuck Lantz
For a "save," Git/local would require inspection of the .fetch.json file to 
determine the original source - but the problem is that plugman caches so the 
fetch source will appear to be the filesystem in most cases.  That can probably 
be worked around, however.

We had this exact same need for the same reasons in Visual Studio and actually 
used the "feature" element with a custom vs: namespace to avoid the conflicts 
Andrew mentioned.  In retrospect, plugins or dependency would have been better. 
I was interested when I saw this thread since we had been talking about 
revising and contributing something like it.

-Chuck

-Original Message-
From: Gorkem Ercan [mailto:gorkem.er...@gmail.com] 
Sent: Wednesday, August 13, 2014 3:37 AM
To: dev@cordova.apache.org
Cc: Parashuram Narasimhan (MS OPEN TECH)
Subject: Re: Feedback on "cordova plugin save" & friends

On Wed, Aug 13, 2014 at 01:21:24AM +, Chuck Lantz wrote:
> Yes, good point - Took a look at the PR with platforms - seems like a similar 
> concept but using the engine element which as I think about it would probably 
> be better anyway.
> 
> 
> 
>  
> 
> More consistent with the existing plugin.xml
> 
> Would we need / want to support restoring from git repos or other 
> non-official sources?  My off-hand reaction is that is more useful for 
> platform development than end-users. As long as platforms implementations are 
> cached somewhere outside of the project itself as they are now it doesn't 
> strike me that restoring from the local filesystem is needed as a perf 
> measure either.

git repos is a good idea. Right now both plugins and engines are missing it. 
For the non-official sources we are bound with what CLI can support. 

> 
> -Chuck
> 
> -Original Message-
> From: Parashuram Narasimhan (MS OPEN TECH)
> Sent: Tuesday, August 12, 2014 4:05 PM
> To: dev@cordova.apache.org; Chuck Lantz
> Subject: RE: Feedback on "cordova plugin save" & friends
> 
> Given that we are looking at decoupling engine and platform releases, there 
> should be ways to specify them separately, right ? In this case, I am 
> assuming it is basically version of cordova-cli/cordova-lib and the platform, 
> assuming that cordova-cli can work with older platform versions. 
> 
> -Original Message-
> From: Gorkem Ercan [mailto:gorkem.er...@gmail.com]
> Sent: Tuesday, August 12, 2014 3:59 PM
> To: Chuck Lantz
> Cc: dev@cordova.apache.org
> Subject: Re: Feedback on "cordova plugin save" & friends
> 
> On Tue, Aug 12, 2014 at 08:40:25PM +, Chuck Lantz wrote:
> > +1
> > 
> > That same pattern could be applied to platforms actually with an additional 
> > version attribute:
> > 
> > 
> > ... things like icons, splaschreens, and maybe even packaging details 
> > go here ...
> > 
> > 
> > We could also follow a similar model if we wanted to say what top 
> > level cordova version was used to create the project by using the 
> > engine element from plugin.xml
> > 
> > 
> 
> Already had a PR [1] for saving and restoring platforms, that is MIA. Is 
> there a specific reason why you want engines stated expilicitly, wouldn't 
> platforms be sufficient.
> 
> [1] https://github.com/apache/cordova-lib/pull/18
> 
> 
> > 
> > -Chuck
> > 
> > -Original Message-
> > From: mmo...@google.com [mailto:mmo...@google.com] On Behalf Of 
> > Michal Mocny
> > Sent: Tuesday, August 12, 2014 1:34 PM
> > To: dev
> > Cc: Gorkem Ercan
> > Subject: Re: Feedback on "cordova plugin save" & friends
> > 
> >  is nice, but why not just  as plugin.xml already uses?
> >  config.xml and plugin.xml share lots of tags already, why fork here?
> > 
> > -Michal
> > 
> > 
> > On Tue, Aug 12, 2014 at 4:06 PM, Andrew Grieve  wrote:
> > 
> > > Played around with it and it's pretty clear to me that the ability 
> > > to record your plugins & platforms in config.xml is a big step up.
> > >
> > > I do have some specific comments about the current design though:
> > >
> > > - Right now the plugin save saves all plugins to config.xml rather 
> > > than just explicitly-installed plugins.
> > >   - For the shrinkwrap use-case, you actually do want to record 
> > > dependent plugins and their versions though, so it's still important for 
> > > this case.
> > > - Plugin restore doesn't work for locally installed plugins. e.g. 
> > > try it with mobilespec. It won't remember to look in the right spot for 
> > > plugins.
>

Re: Feedback on "cordova plugin save" & friends

2014-08-13 Thread Gorkem Ercan
On Wed, Aug 13, 2014 at 01:21:24AM +, Chuck Lantz wrote:
> Yes, good point - Took a look at the PR with platforms - seems like a similar 
> concept but using the engine element which as I think about it would probably 
> be better anyway.
> 
> 
> 
> 
> 
> 
> More consistent with the existing plugin.xml
> 
> Would we need / want to support restoring from git repos or other 
> non-official sources?  My off-hand reaction is that is more useful for 
> platform development than end-users. As long as platforms implementations are 
> cached somewhere outside of the project itself as they are now it doesn't 
> strike me that restoring from the local filesystem is needed as a perf 
> measure either.

git repos is a good idea. Right now both plugins and engines are
missing it. For the non-official sources we are bound with what CLI can
support. 

> 
> -Chuck
> 
> -Original Message-
> From: Parashuram Narasimhan (MS OPEN TECH) 
> Sent: Tuesday, August 12, 2014 4:05 PM
> To: dev@cordova.apache.org; Chuck Lantz
> Subject: RE: Feedback on "cordova plugin save" & friends
> 
> Given that we are looking at decoupling engine and platform releases, there 
> should be ways to specify them separately, right ? In this case, I am 
> assuming it is basically version of cordova-cli/cordova-lib and the platform, 
> assuming that cordova-cli can work with older platform versions. 
> 
> -Original Message-
> From: Gorkem Ercan [mailto:gorkem.er...@gmail.com]
> Sent: Tuesday, August 12, 2014 3:59 PM
> To: Chuck Lantz
> Cc: dev@cordova.apache.org
> Subject: Re: Feedback on "cordova plugin save" & friends
> 
> On Tue, Aug 12, 2014 at 08:40:25PM +, Chuck Lantz wrote:
> > +1
> > 
> > That same pattern could be applied to platforms actually with an additional 
> > version attribute:
> > 
> > 
> > ... things like icons, splaschreens, and maybe even packaging details 
> > go here ...
> > 
> > 
> > We could also follow a similar model if we wanted to say what top 
> > level cordova version was used to create the project by using the 
> > engine element from plugin.xml
> > 
> > 
> 
> Already had a PR [1] for saving and restoring platforms, that is MIA. Is 
> there a specific reason why you want engines stated expilicitly, wouldn't 
> platforms be sufficient.
> 
> [1] https://github.com/apache/cordova-lib/pull/18
> 
> 
> > 
> > -Chuck
> > 
> > -Original Message-
> > From: mmo...@google.com [mailto:mmo...@google.com] On Behalf Of Michal 
> > Mocny
> > Sent: Tuesday, August 12, 2014 1:34 PM
> > To: dev
> > Cc: Gorkem Ercan
> > Subject: Re: Feedback on "cordova plugin save" & friends
> > 
> >  is nice, but why not just  as plugin.xml already uses?
> >  config.xml and plugin.xml share lots of tags already, why fork here?
> > 
> > -Michal
> > 
> > 
> > On Tue, Aug 12, 2014 at 4:06 PM, Andrew Grieve  wrote:
> > 
> > > Played around with it and it's pretty clear to me that the ability 
> > > to record your plugins & platforms in config.xml is a big step up.
> > >
> > > I do have some specific comments about the current design though:
> > >
> > > - Right now the plugin save saves all plugins to config.xml rather 
> > > than just explicitly-installed plugins.
> > >   - For the shrinkwrap use-case, you actually do want to record 
> > > dependent plugins and their versions though, so it's still important for 
> > > this case.
> > > - Plugin restore doesn't work for locally installed plugins. e.g. 
> > > try it with mobilespec. It won't remember to look in the right spot for 
> > > plugins.
> > > - Really don't like that  is used, since that could be 
> > > confused by the tools with the runtime config.xml's  tag.
> > > Instead, I think the syntax PGBuild uses would be better (minus the
> > > gap:) http://docs.build.phonegap.com/en_US/configuring_plugins.md.html
> > >   - Note there's a PR for adding  (CB-7142)
> > >
> > > When I was playing with it, I found that I wished that is would just 
> > > run every time I added a plugin, rather than having to run the 
> > > command explicitly afterwards. Maybe we could add an environment 
> > > variable that will enable it while we're still experimenting? Then, 
> > > too, we could make platform / plugin restore a part of `prepare`.
> > >
> > > Don't have the intention of picking up work on this in the near 
> > > term, but wanted to at least share the feedback since I did play around 
> > > with it.
> > >


Re: Feedback on "cordova plugin save" & friends

2014-08-13 Thread Gorkem Ercan
On Tue, Aug 12, 2014 at 09:21:10PM -0400, Andrew Grieve wrote:
> On Tue, Aug 12, 2014 at 6:58 PM, Gorkem Ercan 
> wrote:
> 
> > On Tue, Aug 12, 2014 at 08:40:25PM +, Chuck Lantz wrote:
> > > +1
> > >
> > > That same pattern could be applied to platforms actually with an
> > additional version attribute:
> > >
> > > 
> > >   ... things like icons, splaschreens, and maybe even packaging
> > details go here ...
> > > 
> > >
> > > We could also follow a similar model if we wanted to say what top level
> > cordova version was used to create the project by using the engine element
> > from plugin.xml
> > >
> > > 
> >
> > Already had a PR [1] for saving and restoring platforms, that is MIA. Is
> > there a specific reason why you want engines stated expilicitly,
> > wouldn't platforms be sufficient.
> >
> > [1] https://github.com/apache/cordova-lib/pull/18
> 
> 
> This was merged (I did it :P)
> 
> cordova save platforms --experimental
> Results in:
> 

Great, thanks.. This is why we need PTOs:. :)

> 
> 
> >
> >
> >
> > >
> > > -Chuck
> > >
> > > -Original Message-
> > > From: mmo...@google.com [mailto:mmo...@google.com] On Behalf Of Michal
> > Mocny
> > > Sent: Tuesday, August 12, 2014 1:34 PM
> > > To: dev
> > > Cc: Gorkem Ercan
> > > Subject: Re: Feedback on "cordova plugin save" & friends
> > >
> > >  is nice, but why not just  as plugin.xml already
> > uses?
> > >  config.xml and plugin.xml share lots of tags already, why fork here?
> > >
> > > -Michal
> > >
> > >
> > > On Tue, Aug 12, 2014 at 4:06 PM, Andrew Grieve 
> > wrote:
> > >
> > > > Played around with it and it's pretty clear to me that the ability to
> > > > record your plugins & platforms in config.xml is a big step up.
> > > >
> > > > I do have some specific comments about the current design though:
> > > >
> > > > - Right now the plugin save saves all plugins to config.xml rather
> > > > than just explicitly-installed plugins.
> > > >   - For the shrinkwrap use-case, you actually do want to record
> > > > dependent plugins and their versions though, so it's still important
> > for this case.
> > > > - Plugin restore doesn't work for locally installed plugins. e.g. try
> > > > it with mobilespec. It won't remember to look in the right spot for
> > plugins.
> > > > - Really don't like that  is used, since that could be
> > > > confused by the tools with the runtime config.xml's  tag.
> > > > Instead, I think the syntax PGBuild uses would be better (minus the
> > > > gap:) http://docs.build.phonegap.com/en_US/configuring_plugins.md.html
> > > >   - Note there's a PR for adding  (CB-7142)
> > > >
> > > > When I was playing with it, I found that I wished that is would just
> > > > run every time I added a plugin, rather than having to run the command
> > > > explicitly afterwards. Maybe we could add an environment variable that
> > > > will enable it while we're still experimenting? Then, too, we could
> > > > make platform / plugin restore a part of `prepare`.
> > > >
> > > > Don't have the intention of picking up work on this in the near term,
> > > > but wanted to at least share the feedback since I did play around with
> > it.
> > > >
> >


Re: Feedback on "cordova plugin save" & friends

2014-08-13 Thread Gorkem Ercan
On Tue, Aug 12, 2014 at 09:36:34PM -0400, Andrew Grieve wrote:
> On Tue, Aug 12, 2014 at 6:43 PM, Gorkem Ercan 
> wrote:
> 
> >
> > Just returning from PTO, great timing :)
> >
> :)
> 
> >
> > On Tue, Aug 12, 2014 at 04:06:14PM -0400, Andrew Grieve wrote:
> > > Played around with it and it's pretty clear to me that the ability to
> > > record your plugins & platforms in config.xml is a big step up.
> > >
> > > I do have some specific comments about the current design though:
> > >
> > > - Right now the plugin save saves all plugins to config.xml rather than
> > > just explicitly-installed plugins.
> >
> > I agree, it should only save the explicitly installed plugins but I could
> > not see an easy way to extract that info and did not want to spend too
> > much time on it at the beginning.
> >
> 
> I know that the info is stored in the android.json, ios.json, etc files,
> but I don't know how the exact details of finding it.
> @kamrik - do you know?
> 
> 
> >
> > >   - For the shrinkwrap use-case, you actually do want to record dependent
> > > plugins and their versions though, so it's still important for this case.
> >
> > agreed.
> >
> > > - Plugin restore doesn't work for locally installed plugins. e.g. try it
> > > with mobilespec. It won't remember to look in the right spot for plugins.
> > > - Really don't like that  is used, since that could be confused
> > by
> > > the tools with the runtime config.xml's  tag. Instead, I think
> > the
> > > syntax PGBuild uses would be better (minus the gap:)
> > > http://docs.build.phonegap.com/en_US/configuring_plugins.md.html
> > >   - Note there's a PR for adding  (CB-7142)
> > >
> >
> >  tag looks off place because CLI generates platforms specific
> > config.xml files. If CLI adopted a single config.xml file that is just
> > copied over instead of being modified during platform builds, the
> > benefit of the  tag would be more visible.
> >
> > Below is what is generated by Eclipse Thym for Device plugin when it is
> > installed on config.xml, all the info for the plugin is
> > under one tag, which makes it easier to manage for humans and tools.
> >
> > 
> > 
> > 
> > 
> > 
> > 
> > 
> > 
> >
> 
> The issue I have with , is that the name="" attribute is used as
> an exec() bridge detail, and it's set by plugin.xml. Plugins can have
> multiple s, or no s at all, and there's no way to know
> the name="" before looking at the plugin.xml and inferring it. Even if CLI
> did use a shared config.xml, I think I'd still want to use 
> separate from  (keep the parts that users shouldn't touch separate
> from the parts they can touch).
> 
> Plus... ... what the heck is a feature? I know what a plugin is,
> and a platform, but feature (as well as ), are generic terms
> that I don't think make obvious what they do. E.g. are platforms a
> feature/dependency?  and  are more self-explanatory I
> think.
> 

I agree..  is a horrible name to define plugins. I can
easily change the saved info to be in  tags, it makes little
difference and this is a convinient time to do it. I still prefer
everything related to a plugin collected under one tag perhaps we should retire
the  tag and use the new one on the platform runtimes too.


> 
> 
> >
> > > When I was playing with it, I found that I wished that is would just run
> > > every time I added a plugin, rather than having to run the command
> > > explicitly afterwards. Maybe we could add an environment variable that
> > will
> > > enable it while we're still experimenting? Then, too, we could make
> > > platform / plugin restore a part of `prepare`.
> >
> > Initial implementation was actually part of the plugin add and
> > prepare. We did not have explicit save and restore commands at all.
> > Michal suggested that it was early for this feature so I came up with
> > the save and restore commands.
> >
> > On Eclipse Thym, I have it implemented so that every plugin installation
> > is "saved" to config.xml and plugins are auto restored when they are
> > detected
> > on config.xml. I am actually keeping plugins folder at this point just
> > to be compatible but I hope that we can get CLI to the same stage and
> > make the plugins folder a temporarily generated one that is not visible
> > to anyone.
> >
> 
> Cool! How to you handle s if you don't actually use the plugins/
> directory? CLI has to copy them from plugins/ -> platforms on each prepare
> when constructing the www/.

The plugins directory may still exist but not as part of the project
tree because now config.xml carries all the info needed for it to be
generated. On CLI it can probably be implemented on prepare by generating 
(or updating) a plugins folder on a temp folder as a build time artifact 
and used from there.

> 
> 
> >
> > >
> > > Don't have the intention of picking up work on this in the near term, but
> > > wanted to at least share the feedback since I did play around with it.
> >
> > No worries, as long as somebody takes time to review and merge PRs, I
> > can keep 

Re: Feedback on "cordova plugin save" & friends

2014-08-12 Thread Andrew Grieve
On Tue, Aug 12, 2014 at 6:43 PM, Gorkem Ercan 
wrote:

>
> Just returning from PTO, great timing :)
>
:)

>
> On Tue, Aug 12, 2014 at 04:06:14PM -0400, Andrew Grieve wrote:
> > Played around with it and it's pretty clear to me that the ability to
> > record your plugins & platforms in config.xml is a big step up.
> >
> > I do have some specific comments about the current design though:
> >
> > - Right now the plugin save saves all plugins to config.xml rather than
> > just explicitly-installed plugins.
>
> I agree, it should only save the explicitly installed plugins but I could
> not see an easy way to extract that info and did not want to spend too
> much time on it at the beginning.
>

I know that the info is stored in the android.json, ios.json, etc files,
but I don't know how the exact details of finding it.
@kamrik - do you know?


>
> >   - For the shrinkwrap use-case, you actually do want to record dependent
> > plugins and their versions though, so it's still important for this case.
>
> agreed.
>
> > - Plugin restore doesn't work for locally installed plugins. e.g. try it
> > with mobilespec. It won't remember to look in the right spot for plugins.
> > - Really don't like that  is used, since that could be confused
> by
> > the tools with the runtime config.xml's  tag. Instead, I think
> the
> > syntax PGBuild uses would be better (minus the gap:)
> > http://docs.build.phonegap.com/en_US/configuring_plugins.md.html
> >   - Note there's a PR for adding  (CB-7142)
> >
>
>  tag looks off place because CLI generates platforms specific
> config.xml files. If CLI adopted a single config.xml file that is just
> copied over instead of being modified during platform builds, the
> benefit of the  tag would be more visible.
>
> Below is what is generated by Eclipse Thym for Device plugin when it is
> installed on config.xml, all the info for the plugin is
> under one tag, which makes it easier to manage for humans and tools.
>
> 
> 
> 
> 
> 
> 
> 
> 
>

The issue I have with , is that the name="" attribute is used as
an exec() bridge detail, and it's set by plugin.xml. Plugins can have
multiple s, or no s at all, and there's no way to know
the name="" before looking at the plugin.xml and inferring it. Even if CLI
did use a shared config.xml, I think I'd still want to use 
separate from  (keep the parts that users shouldn't touch separate
from the parts they can touch).

Plus... ... what the heck is a feature? I know what a plugin is,
and a platform, but feature (as well as ), are generic terms
that I don't think make obvious what they do. E.g. are platforms a
feature/dependency?  and  are more self-explanatory I
think.



>
> > When I was playing with it, I found that I wished that is would just run
> > every time I added a plugin, rather than having to run the command
> > explicitly afterwards. Maybe we could add an environment variable that
> will
> > enable it while we're still experimenting? Then, too, we could make
> > platform / plugin restore a part of `prepare`.
>
> Initial implementation was actually part of the plugin add and
> prepare. We did not have explicit save and restore commands at all.
> Michal suggested that it was early for this feature so I came up with
> the save and restore commands.
>
> On Eclipse Thym, I have it implemented so that every plugin installation
> is "saved" to config.xml and plugins are auto restored when they are
> detected
> on config.xml. I am actually keeping plugins folder at this point just
> to be compatible but I hope that we can get CLI to the same stage and
> make the plugins folder a temporarily generated one that is not visible
> to anyone.
>

Cool! How to you handle s if you don't actually use the plugins/
directory? CLI has to copy them from plugins/ -> platforms on each prepare
when constructing the www/.


>
> >
> > Don't have the intention of picking up work on this in the near term, but
> > wanted to at least share the feedback since I did play around with it.
>
> No worries, as long as somebody takes time to review and merge PRs, I
> can keep the ball rolling.
>
> --
> Gorkem
>


Re: Feedback on "cordova plugin save" & friends

2014-08-12 Thread Andrew Grieve
On Tue, Aug 12, 2014 at 6:58 PM, Gorkem Ercan 
wrote:

> On Tue, Aug 12, 2014 at 08:40:25PM +, Chuck Lantz wrote:
> > +1
> >
> > That same pattern could be applied to platforms actually with an
> additional version attribute:
> >
> > 
> >   ... things like icons, splaschreens, and maybe even packaging
> details go here ...
> > 
> >
> > We could also follow a similar model if we wanted to say what top level
> cordova version was used to create the project by using the engine element
> from plugin.xml
> >
> > 
>
> Already had a PR [1] for saving and restoring platforms, that is MIA. Is
> there a specific reason why you want engines stated expilicitly,
> wouldn't platforms be sufficient.
>
> [1] https://github.com/apache/cordova-lib/pull/18


This was merged (I did it :P)

cordova save platforms --experimental
Results in:



>
>
>
> >
> > -Chuck
> >
> > -Original Message-
> > From: mmo...@google.com [mailto:mmo...@google.com] On Behalf Of Michal
> Mocny
> > Sent: Tuesday, August 12, 2014 1:34 PM
> > To: dev
> > Cc: Gorkem Ercan
> > Subject: Re: Feedback on "cordova plugin save" & friends
> >
> >  is nice, but why not just  as plugin.xml already
> uses?
> >  config.xml and plugin.xml share lots of tags already, why fork here?
> >
> > -Michal
> >
> >
> > On Tue, Aug 12, 2014 at 4:06 PM, Andrew Grieve 
> wrote:
> >
> > > Played around with it and it's pretty clear to me that the ability to
> > > record your plugins & platforms in config.xml is a big step up.
> > >
> > > I do have some specific comments about the current design though:
> > >
> > > - Right now the plugin save saves all plugins to config.xml rather
> > > than just explicitly-installed plugins.
> > >   - For the shrinkwrap use-case, you actually do want to record
> > > dependent plugins and their versions though, so it's still important
> for this case.
> > > - Plugin restore doesn't work for locally installed plugins. e.g. try
> > > it with mobilespec. It won't remember to look in the right spot for
> plugins.
> > > - Really don't like that  is used, since that could be
> > > confused by the tools with the runtime config.xml's  tag.
> > > Instead, I think the syntax PGBuild uses would be better (minus the
> > > gap:) http://docs.build.phonegap.com/en_US/configuring_plugins.md.html
> > >   - Note there's a PR for adding  (CB-7142)
> > >
> > > When I was playing with it, I found that I wished that is would just
> > > run every time I added a plugin, rather than having to run the command
> > > explicitly afterwards. Maybe we could add an environment variable that
> > > will enable it while we're still experimenting? Then, too, we could
> > > make platform / plugin restore a part of `prepare`.
> > >
> > > Don't have the intention of picking up work on this in the near term,
> > > but wanted to at least share the feedback since I did play around with
> it.
> > >
>


RE: Feedback on "cordova plugin save" & friends

2014-08-12 Thread Chuck Lantz
Yes, good point - Took a look at the PR with platforms - seems like a similar 
concept but using the engine element which as I think about it would probably 
be better anyway.






More consistent with the existing plugin.xml

Would we need / want to support restoring from git repos or other non-official 
sources?  My off-hand reaction is that is more useful for platform development 
than end-users. As long as platforms implementations are cached somewhere 
outside of the project itself as they are now it doesn't strike me that 
restoring from the local filesystem is needed as a perf measure either.

-Chuck

-Original Message-
From: Parashuram Narasimhan (MS OPEN TECH) 
Sent: Tuesday, August 12, 2014 4:05 PM
To: dev@cordova.apache.org; Chuck Lantz
Subject: RE: Feedback on "cordova plugin save" & friends

Given that we are looking at decoupling engine and platform releases, there 
should be ways to specify them separately, right ? In this case, I am assuming 
it is basically version of cordova-cli/cordova-lib and the platform, assuming 
that cordova-cli can work with older platform versions. 

-Original Message-
From: Gorkem Ercan [mailto:gorkem.er...@gmail.com]
Sent: Tuesday, August 12, 2014 3:59 PM
To: Chuck Lantz
Cc: dev@cordova.apache.org
Subject: Re: Feedback on "cordova plugin save" & friends

On Tue, Aug 12, 2014 at 08:40:25PM +, Chuck Lantz wrote:
> +1
> 
> That same pattern could be applied to platforms actually with an additional 
> version attribute:
> 
> 
>   ... things like icons, splaschreens, and maybe even packaging details 
> go here ...
> 
> 
> We could also follow a similar model if we wanted to say what top 
> level cordova version was used to create the project by using the 
> engine element from plugin.xml
> 
> 

Already had a PR [1] for saving and restoring platforms, that is MIA. Is there 
a specific reason why you want engines stated expilicitly, wouldn't platforms 
be sufficient.

[1] https://github.com/apache/cordova-lib/pull/18


> 
> -Chuck
> 
> -Original Message-
> From: mmo...@google.com [mailto:mmo...@google.com] On Behalf Of Michal 
> Mocny
> Sent: Tuesday, August 12, 2014 1:34 PM
> To: dev
> Cc: Gorkem Ercan
> Subject: Re: Feedback on "cordova plugin save" & friends
> 
>  is nice, but why not just  as plugin.xml already uses?
>  config.xml and plugin.xml share lots of tags already, why fork here?
> 
> -Michal
> 
> 
> On Tue, Aug 12, 2014 at 4:06 PM, Andrew Grieve  wrote:
> 
> > Played around with it and it's pretty clear to me that the ability 
> > to record your plugins & platforms in config.xml is a big step up.
> >
> > I do have some specific comments about the current design though:
> >
> > - Right now the plugin save saves all plugins to config.xml rather 
> > than just explicitly-installed plugins.
> >   - For the shrinkwrap use-case, you actually do want to record 
> > dependent plugins and their versions though, so it's still important for 
> > this case.
> > - Plugin restore doesn't work for locally installed plugins. e.g. 
> > try it with mobilespec. It won't remember to look in the right spot for 
> > plugins.
> > - Really don't like that  is used, since that could be 
> > confused by the tools with the runtime config.xml's  tag.
> > Instead, I think the syntax PGBuild uses would be better (minus the
> > gap:) http://docs.build.phonegap.com/en_US/configuring_plugins.md.html
> >   - Note there's a PR for adding  (CB-7142)
> >
> > When I was playing with it, I found that I wished that is would just 
> > run every time I added a plugin, rather than having to run the 
> > command explicitly afterwards. Maybe we could add an environment 
> > variable that will enable it while we're still experimenting? Then, 
> > too, we could make platform / plugin restore a part of `prepare`.
> >
> > Don't have the intention of picking up work on this in the near 
> > term, but wanted to at least share the feedback since I did play around 
> > with it.
> >


RE: Feedback on "cordova plugin save" & friends

2014-08-12 Thread Parashuram Narasimhan (MS OPEN TECH)
Given that we are looking at decoupling engine and platform releases, there 
should be ways to specify them separately, right ? In this case, I am assuming 
it is basically version of cordova-cli/cordova-lib and the platform, assuming 
that cordova-cli can work with older platform versions. 

-Original Message-
From: Gorkem Ercan [mailto:gorkem.er...@gmail.com] 
Sent: Tuesday, August 12, 2014 3:59 PM
To: Chuck Lantz
Cc: dev@cordova.apache.org
Subject: Re: Feedback on "cordova plugin save" & friends

On Tue, Aug 12, 2014 at 08:40:25PM +, Chuck Lantz wrote:
> +1
> 
> That same pattern could be applied to platforms actually with an additional 
> version attribute:
> 
> 
>   ... things like icons, splaschreens, and maybe even packaging details 
> go here ...
> 
> 
> We could also follow a similar model if we wanted to say what top 
> level cordova version was used to create the project by using the 
> engine element from plugin.xml
> 
> 

Already had a PR [1] for saving and restoring platforms, that is MIA. Is there 
a specific reason why you want engines stated expilicitly, wouldn't platforms 
be sufficient.

[1] https://github.com/apache/cordova-lib/pull/18


> 
> -Chuck
> 
> -Original Message-
> From: mmo...@google.com [mailto:mmo...@google.com] On Behalf Of Michal 
> Mocny
> Sent: Tuesday, August 12, 2014 1:34 PM
> To: dev
> Cc: Gorkem Ercan
> Subject: Re: Feedback on "cordova plugin save" & friends
> 
>  is nice, but why not just  as plugin.xml already uses?
>  config.xml and plugin.xml share lots of tags already, why fork here?
> 
> -Michal
> 
> 
> On Tue, Aug 12, 2014 at 4:06 PM, Andrew Grieve  wrote:
> 
> > Played around with it and it's pretty clear to me that the ability 
> > to record your plugins & platforms in config.xml is a big step up.
> >
> > I do have some specific comments about the current design though:
> >
> > - Right now the plugin save saves all plugins to config.xml rather 
> > than just explicitly-installed plugins.
> >   - For the shrinkwrap use-case, you actually do want to record 
> > dependent plugins and their versions though, so it's still important for 
> > this case.
> > - Plugin restore doesn't work for locally installed plugins. e.g. 
> > try it with mobilespec. It won't remember to look in the right spot for 
> > plugins.
> > - Really don't like that  is used, since that could be 
> > confused by the tools with the runtime config.xml's  tag.
> > Instead, I think the syntax PGBuild uses would be better (minus the
> > gap:) http://docs.build.phonegap.com/en_US/configuring_plugins.md.html
> >   - Note there's a PR for adding  (CB-7142)
> >
> > When I was playing with it, I found that I wished that is would just 
> > run every time I added a plugin, rather than having to run the 
> > command explicitly afterwards. Maybe we could add an environment 
> > variable that will enable it while we're still experimenting? Then, 
> > too, we could make platform / plugin restore a part of `prepare`.
> >
> > Don't have the intention of picking up work on this in the near 
> > term, but wanted to at least share the feedback since I did play around 
> > with it.
> >


Re: Feedback on "cordova plugin save" & friends

2014-08-12 Thread Gorkem Ercan
On Tue, Aug 12, 2014 at 08:40:25PM +, Chuck Lantz wrote:
> +1
> 
> That same pattern could be applied to platforms actually with an additional 
> version attribute:
> 
> 
>   ... things like icons, splaschreens, and maybe even packaging details 
> go here ...
> 
> 
> We could also follow a similar model if we wanted to say what top level 
> cordova version was used to create the project by using the engine element 
> from plugin.xml 
> 
> 

Already had a PR [1] for saving and restoring platforms, that is MIA. Is
there a specific reason why you want engines stated expilicitly,
wouldn't platforms be sufficient.

[1] https://github.com/apache/cordova-lib/pull/18


> 
> -Chuck
> 
> -Original Message-
> From: mmo...@google.com [mailto:mmo...@google.com] On Behalf Of Michal Mocny
> Sent: Tuesday, August 12, 2014 1:34 PM
> To: dev
> Cc: Gorkem Ercan
> Subject: Re: Feedback on "cordova plugin save" & friends
> 
>  is nice, but why not just  as plugin.xml already uses?
>  config.xml and plugin.xml share lots of tags already, why fork here?
> 
> -Michal
> 
> 
> On Tue, Aug 12, 2014 at 4:06 PM, Andrew Grieve  wrote:
> 
> > Played around with it and it's pretty clear to me that the ability to 
> > record your plugins & platforms in config.xml is a big step up.
> >
> > I do have some specific comments about the current design though:
> >
> > - Right now the plugin save saves all plugins to config.xml rather 
> > than just explicitly-installed plugins.
> >   - For the shrinkwrap use-case, you actually do want to record 
> > dependent plugins and their versions though, so it's still important for 
> > this case.
> > - Plugin restore doesn't work for locally installed plugins. e.g. try 
> > it with mobilespec. It won't remember to look in the right spot for plugins.
> > - Really don't like that  is used, since that could be 
> > confused by the tools with the runtime config.xml's  tag. 
> > Instead, I think the syntax PGBuild uses would be better (minus the 
> > gap:) http://docs.build.phonegap.com/en_US/configuring_plugins.md.html
> >   - Note there's a PR for adding  (CB-7142)
> >
> > When I was playing with it, I found that I wished that is would just 
> > run every time I added a plugin, rather than having to run the command 
> > explicitly afterwards. Maybe we could add an environment variable that 
> > will enable it while we're still experimenting? Then, too, we could 
> > make platform / plugin restore a part of `prepare`.
> >
> > Don't have the intention of picking up work on this in the near term, 
> > but wanted to at least share the feedback since I did play around with it.
> >


Re: Feedback on "cordova plugin save" & friends

2014-08-12 Thread Gorkem Ercan

Just returning from PTO, great timing :) 

On Tue, Aug 12, 2014 at 04:06:14PM -0400, Andrew Grieve wrote:
> Played around with it and it's pretty clear to me that the ability to
> record your plugins & platforms in config.xml is a big step up.
> 
> I do have some specific comments about the current design though:
> 
> - Right now the plugin save saves all plugins to config.xml rather than
> just explicitly-installed plugins.

I agree, it should only save the explicitly installed plugins but I could
not see an easy way to extract that info and did not want to spend too
much time on it at the beginning.

>   - For the shrinkwrap use-case, you actually do want to record dependent
> plugins and their versions though, so it's still important for this case.

agreed. 

> - Plugin restore doesn't work for locally installed plugins. e.g. try it
> with mobilespec. It won't remember to look in the right spot for plugins.
> - Really don't like that  is used, since that could be confused by
> the tools with the runtime config.xml's  tag. Instead, I think the
> syntax PGBuild uses would be better (minus the gap:)
> http://docs.build.phonegap.com/en_US/configuring_plugins.md.html
>   - Note there's a PR for adding  (CB-7142)
> 

 tag looks off place because CLI generates platforms specific
config.xml files. If CLI adopted a single config.xml file that is just
copied over instead of being modified during platform builds, the
benefit of the  tag would be more visible.  

Below is what is generated by Eclipse Thym for Device plugin when it is
installed on config.xml, all the info for the plugin is
under one tag, which makes it easier to manage for humans and tools.










> When I was playing with it, I found that I wished that is would just run
> every time I added a plugin, rather than having to run the command
> explicitly afterwards. Maybe we could add an environment variable that will
> enable it while we're still experimenting? Then, too, we could make
> platform / plugin restore a part of `prepare`.

Initial implementation was actually part of the plugin add and
prepare. We did not have explicit save and restore commands at all.
Michal suggested that it was early for this feature so I came up with
the save and restore commands. 

On Eclipse Thym, I have it implemented so that every plugin installation
is "saved" to config.xml and plugins are auto restored when they are detected
on config.xml. I am actually keeping plugins folder at this point just
to be compatible but I hope that we can get CLI to the same stage and
make the plugins folder a temporarily generated one that is not visible
to anyone.

> 
> Don't have the intention of picking up work on this in the near term, but
> wanted to at least share the feedback since I did play around with it.

No worries, as long as somebody takes time to review and merge PRs, I
can keep the ball rolling. 

--
Gorkem


RE: Feedback on "cordova plugin save" & friends

2014-08-12 Thread Chuck Lantz
+1

That same pattern could be applied to platforms actually with an additional 
version attribute:


... things like icons, splaschreens, and maybe even packaging details 
go here ...


We could also follow a similar model if we wanted to say what top level cordova 
version was used to create the project by using the engine element from 
plugin.xml 



-Chuck

-Original Message-
From: mmo...@google.com [mailto:mmo...@google.com] On Behalf Of Michal Mocny
Sent: Tuesday, August 12, 2014 1:34 PM
To: dev
Cc: Gorkem Ercan
Subject: Re: Feedback on "cordova plugin save" & friends

 is nice, but why not just  as plugin.xml already uses?
 config.xml and plugin.xml share lots of tags already, why fork here?

-Michal


On Tue, Aug 12, 2014 at 4:06 PM, Andrew Grieve  wrote:

> Played around with it and it's pretty clear to me that the ability to 
> record your plugins & platforms in config.xml is a big step up.
>
> I do have some specific comments about the current design though:
>
> - Right now the plugin save saves all plugins to config.xml rather 
> than just explicitly-installed plugins.
>   - For the shrinkwrap use-case, you actually do want to record 
> dependent plugins and their versions though, so it's still important for this 
> case.
> - Plugin restore doesn't work for locally installed plugins. e.g. try 
> it with mobilespec. It won't remember to look in the right spot for plugins.
> - Really don't like that  is used, since that could be 
> confused by the tools with the runtime config.xml's  tag. 
> Instead, I think the syntax PGBuild uses would be better (minus the 
> gap:) http://docs.build.phonegap.com/en_US/configuring_plugins.md.html
>   - Note there's a PR for adding  (CB-7142)
>
> When I was playing with it, I found that I wished that is would just 
> run every time I added a plugin, rather than having to run the command 
> explicitly afterwards. Maybe we could add an environment variable that 
> will enable it while we're still experimenting? Then, too, we could 
> make platform / plugin restore a part of `prepare`.
>
> Don't have the intention of picking up work on this in the near term, 
> but wanted to at least share the feedback since I did play around with it.
>


Re: Feedback on "cordova plugin save" & friends

2014-08-12 Thread Michal Mocny
 is nice, but why not just  as plugin.xml already uses?
 config.xml and plugin.xml share lots of tags already, why fork here?

-Michal


On Tue, Aug 12, 2014 at 4:06 PM, Andrew Grieve  wrote:

> Played around with it and it's pretty clear to me that the ability to
> record your plugins & platforms in config.xml is a big step up.
>
> I do have some specific comments about the current design though:
>
> - Right now the plugin save saves all plugins to config.xml rather than
> just explicitly-installed plugins.
>   - For the shrinkwrap use-case, you actually do want to record dependent
> plugins and their versions though, so it's still important for this case.
> - Plugin restore doesn't work for locally installed plugins. e.g. try it
> with mobilespec. It won't remember to look in the right spot for plugins.
> - Really don't like that  is used, since that could be confused by
> the tools with the runtime config.xml's  tag. Instead, I think the
> syntax PGBuild uses would be better (minus the gap:)
> http://docs.build.phonegap.com/en_US/configuring_plugins.md.html
>   - Note there's a PR for adding  (CB-7142)
>
> When I was playing with it, I found that I wished that is would just run
> every time I added a plugin, rather than having to run the command
> explicitly afterwards. Maybe we could add an environment variable that will
> enable it while we're still experimenting? Then, too, we could make
> platform / plugin restore a part of `prepare`.
>
> Don't have the intention of picking up work on this in the near term, but
> wanted to at least share the feedback since I did play around with it.
>