Gorkem - if you implement this you'll be my hero!

<engine> vs <platform> is a bit weird, because <platform> is already a
thing that exists right now that is meant to mean tags within it apply only
to the platform is lists. E..g
<platform name="android">
  <preference name="foo" value="3" />
</platform>


On one hand, you could throw a version in there, but given that you can
have multiple <platform> tags, it's a bit weird. I can also see the
use-case of wanting: <platform name="android|ios">.

So... wanted to point this out for consideration, but think that <engine>
might be better because if this reason.


I think the argument is more compelling to have plugins use <cdv:plugin>
rather than <feature>. I think we'd only want:
<cdv:plugin name="" version="" />
And not have end-users need to add in the <param name="package-name"/>,
since that's up to the plugin.xml to add in.




On Wed, Apr 9, 2014 at 8:09 AM, Gorkem Ercan <[email protected]> wrote:

> I guess it could be platform as well. I put engine because that is what
> plugin.xml uses for its dependencies.
> --
> Gorkem
>
>
> On Wed, Apr 9, 2014 at 10:01 AM, Sebastien Blanc <[email protected]
> >wrote:
>
> > I had the same idea and I really love it
> > but why not "platform" instead of "engine" ?
> >
> >
> >
> > On Wed, Apr 9, 2014 at 5:58 PM, Gorkem Ercan <[email protected]>
> > wrote:
> >
> > > Hi,
> > > I would like to propose a couple of enhancements to the top level
> > > config.xml that would enable us to recreate a project easily.
> > >
> > > (Note: the examples below assumes a cdv namespace on config.xml)
> > >
> > > 1. engines tag :
> > >
> > > <cdv:engine id="org.apache.cordova.android" version="3.5.1" />
> > > <cdv:engine id="org.apache.cordova.ios" version="3.7.0" />
> > >
> > > CLI could use this tag the reconstruct the platforms hence the
> platforms
> > > folder would really become a build artifact. I believe phonegap and the
> > > JBoss IDE is already using a similiar thing on the .cordova/config.json
> > >
> > > 2. plugins
> > >
> > > <feature name="Console" cdv:id="org.apache.cordova.core.console"
> > > cdv:version="0.2.8">
> > >            <param name="ios-package" value="ConsolePlugin" />
> > > </feature>
> > >
> > > Alternately
> > >
> > > <feature name="Console">
> > >      <param name="id" value="org.apache.cordova.core.console" />
> > >     <param name="version" value="0.2.8" />
> > >      <param name="ios-package" value="ConsolePlugin" />
> > > </feature>
> > >
> > > This is reutilizing the existing feature tag. ID is the only missing
> > piece
> > > of information for CLI to reinstall the plugins to a project is the
> > plugin
> > > id and version. This would also eliminate the need to share plugins
> > folder
> > > with the Cordova projects. The plugins folder can still be utilized for
> > > plugins that were not available from plugin registry. Also if the id is
> > > missing on a feature tag CLI would skip restoring that plugin for the
> > > project.
> > >
> > > On top of this I am volunteering myself to do the work. I guess it will
> > > require a good amount of changes to CLI prepare.
> > >
> > > ---
> > > Gorkem
> > >
> >
>

Reply via email to