You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cordova.apache.org by Jan Becicka <Ja...@oracle.com> on 2013/08/22 15:06:46 UTC

Cordova CLI

Hi,
  I'm a developer working on Cordova Support in NetBeans IDE (http://www.netbeans.org). 
  NetBeans IDE can create a new Cordova Project, build/run it on emulators and devices, do Live CSS styling, JavaScript Debugging etc... Our implementation depends on the new Cordova CLI. I have some concerns, that we might depend on something which is subject to change.

* We depend on Cordova CLI - it should be safe, right? This should be stable.

* We depend on project structure according https://github.com/apache/cordova-cli . Is the project structure stable? 

* What about cordova plugins? Core Cordova plugins are added through CLI this way:

cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-geolocation.git

We implemented UI for adding core plugins into the project. We hardcoded list of plugins and we hardcoded those git repositories, since we didn't find any better way. But I have some concerns, that these repositories will change in the future and our UI will stop working. What are your plans with plugins?

* Cordova CLI does not support iOS Devices. (cordova run ios). Are there any plans to support it in near future? 


Thank you,
Jan
NetBeans



Re: Cordova CLI

Posted by Filip Maj <fi...@adobe.com>.
>And what about current approach. Can I suppose, that
>cordova plugin add
>http://git-wip-us.apache.org/repos/asf?p=cordova-plugin-geolocation.git
>
>will work in the future and add the right version of geolocation plugin?

Yes. The above will always add "latest version of geolocation plugin".

We have an issue filed for better/finer-grained support for specifying
versions [1].

>
>NetBeans IDE has much longer dev cycle than cordova (let say 6-9 months
>for the release). And I like to be sure, that if we release support for
>plugins, it will not break after few weeks. Any ideas, how should I do it?

Our goals moving forward toward 4.0 is to adopt semver-style versioning as
much as possible, meaning, you can expect breaking changes only when we
release a new major version (I.e. Cordova 4.0).

[1] https://issues.apache.org/jira/browse/CB-4622


Re: Cordova CLI

Posted by Jan Becicka <Ja...@oracle.com>.
Thanks for fast response!

>> 
>> * We depend on project structure according
>> https://github.com/apache/cordova-cli . Is the project structure stable?
>> 
> 
> Reasonably. No promises that the details won't move around a bit. There's
> been discussion, for example, of moving from having $PROJECT/merges and
> $PROJECT/www as top-level directories, to a $PROJECT/app folder that
> contains app/www, app/merges, app/resources/splashscreen or whatever else.
> There's some history here; the Google team working on CLI (ie. me) thought
> that was an uncontroversial change back in CLI's alpha days, but it got a
> lot of pushback and was eventually reverted.
> 
> On the other hand, we've launched now, so we're probably stuck with this,
> even though config.xml is inside www/ and that makes no sense.

From my point of view (3rd party tool vendor) project structure is (or should be) an API. It sounds, that there are no immediate plans for changing it. Just wondering how do you do such changes? Do you announce such change and let 3rd party developers to update their products? Will the new version of CLI (which will potentially change the project structure) work with the old project structure?

> 
> We're actively working on building a registry of plugins that can be
> queried to discover what versions of it exist and where they can be found.
> Once that's ready for primetime, you can use it to determine what plugins
> can be installed. Though the list may eventually grow too large to fetch
> all at once, so you may want to think about search functionality rather
> than a list.

Sounds good. What is the timeframe for starting plugin registry?

And what about current approach. Can I suppose, that 
cordova plugin add http://git-wip-us.apache.org/repos/asf?p=cordova-plugin-geolocation.git

will work in the future and add the right version of geolocation plugin?

NetBeans IDE has much longer dev cycle than cordova (let say 6-9 months for the release). And I like to be sure, that if we release support for plugins, it will not break after few weeks. Any ideas, how should I do it?

Thanks,
Jan
NetBeans



Re: Cordova CLI

Posted by James Jong <wj...@gmail.com>.
Good to know.  Thanks Steve.
-James Jong

On Aug 22, 2013, at 10:14 PM, Steven Gill <st...@gmail.com> wrote:

> I think Shaz was working on this before he went on vacation.
> 
> 
> On Thu, Aug 22, 2013 at 7:08 PM, David Kemp <dr...@google.com> wrote:
> 
>> I have not looked at changing the iOS run script. Right now I believe it
>> only handles the emulator.
>> Medic uses fruitstrap for deployment. No reason it can't be adapted for
>> clients run.
>> On Aug 22, 2013 1:40 PM, "Ian Clelland" <ic...@chromium.org> wrote:
>> 
>>> On Thu, Aug 22, 2013 at 11:17 AM, Braden Shepherdson <
>> braden@chromium.org
>>>> wrote:
>>> 
>>>> On Thu, Aug 22, 2013 at 9:06 AM, Jan Becicka <Ja...@oracle.com>
>>>> wrote:
>>>> 
>>> 
>>> 
>>>>> 
>>>>> * Cordova CLI does not support iOS Devices. (cordova run ios). Are
>>> there
>>>>> any plans to support it in near future?
>>>>> 
>>>> 
>>>> Platform parity is a goal for sure. I don't work on iOS much, so I
>> can't
>>>> speak as to the state and future of cordova run ios support.
>>>> 
>>> 
>>> I don't know if anyone is working on this specifically right now, but I
>>> suspect that something like this could easily shake out of the work that
>> is
>>> going into the automated build/test system. David can probably speak to
>> how
>>> easy it will be to get that working as part of CLI.
>>> 
>>> Ian
>>> 
>> 


Re: Cordova CLI

Posted by Steven Gill <st...@gmail.com>.
I think Shaz was working on this before he went on vacation.


On Thu, Aug 22, 2013 at 7:08 PM, David Kemp <dr...@google.com> wrote:

> I have not looked at changing the iOS run script. Right now I believe it
> only handles the emulator.
> Medic uses fruitstrap for deployment. No reason it can't be adapted for
> clients run.
>  On Aug 22, 2013 1:40 PM, "Ian Clelland" <ic...@chromium.org> wrote:
>
> > On Thu, Aug 22, 2013 at 11:17 AM, Braden Shepherdson <
> braden@chromium.org
> > >wrote:
> >
> > > On Thu, Aug 22, 2013 at 9:06 AM, Jan Becicka <Ja...@oracle.com>
> > > wrote:
> > >
> >
> >
> > > >
> > > > * Cordova CLI does not support iOS Devices. (cordova run ios). Are
> > there
> > > > any plans to support it in near future?
> > > >
> > >
> > > Platform parity is a goal for sure. I don't work on iOS much, so I
> can't
> > > speak as to the state and future of cordova run ios support.
> > >
> >
> > I don't know if anyone is working on this specifically right now, but I
> > suspect that something like this could easily shake out of the work that
> is
> > going into the automated build/test system. David can probably speak to
> how
> > easy it will be to get that working as part of CLI.
> >
> > Ian
> >
>

Re: Cordova CLI

Posted by Shazron <sh...@gmail.com>.
Correct  James


On Fri, Aug 23, 2013 at 10:18 AM, James Jong <wj...@gmail.com> wrote:

> Shaz had recently put in a change using ios-deploy (which I believed is
> based on fruitstrap).  He also pointed to another method project that could
> deploy to ios, so I think we have a couple of options.
>
> -James Jong
>
> On Aug 22, 2013, at 10:08 PM, David Kemp <dr...@google.com> wrote:
>
> > I have not looked at changing the iOS run script. Right now I believe it
> > only handles the emulator.
> > Medic uses fruitstrap for deployment. No reason it can't be adapted for
> > clients run.
> > On Aug 22, 2013 1:40 PM, "Ian Clelland" <ic...@chromium.org> wrote:
> >
> >> On Thu, Aug 22, 2013 at 11:17 AM, Braden Shepherdson <
> braden@chromium.org
> >>> wrote:
> >>
> >>> On Thu, Aug 22, 2013 at 9:06 AM, Jan Becicka <Ja...@oracle.com>
> >>> wrote:
> >>>
> >>
> >>
> >>>>
> >>>> * Cordova CLI does not support iOS Devices. (cordova run ios). Are
> >> there
> >>>> any plans to support it in near future?
> >>>>
> >>>
> >>> Platform parity is a goal for sure. I don't work on iOS much, so I
> can't
> >>> speak as to the state and future of cordova run ios support.
> >>>
> >>
> >> I don't know if anyone is working on this specifically right now, but I
> >> suspect that something like this could easily shake out of the work
> that is
> >> going into the automated build/test system. David can probably speak to
> how
> >> easy it will be to get that working as part of CLI.
> >>
> >> Ian
> >>
>
>

Re: Cordova CLI

Posted by James Jong <wj...@gmail.com>.
Shaz had recently put in a change using ios-deploy (which I believed is based on fruitstrap).  He also pointed to another method project that could deploy to ios, so I think we have a couple of options.

-James Jong

On Aug 22, 2013, at 10:08 PM, David Kemp <dr...@google.com> wrote:

> I have not looked at changing the iOS run script. Right now I believe it
> only handles the emulator.
> Medic uses fruitstrap for deployment. No reason it can't be adapted for
> clients run.
> On Aug 22, 2013 1:40 PM, "Ian Clelland" <ic...@chromium.org> wrote:
> 
>> On Thu, Aug 22, 2013 at 11:17 AM, Braden Shepherdson <braden@chromium.org
>>> wrote:
>> 
>>> On Thu, Aug 22, 2013 at 9:06 AM, Jan Becicka <Ja...@oracle.com>
>>> wrote:
>>> 
>> 
>> 
>>>> 
>>>> * Cordova CLI does not support iOS Devices. (cordova run ios). Are
>> there
>>>> any plans to support it in near future?
>>>> 
>>> 
>>> Platform parity is a goal for sure. I don't work on iOS much, so I can't
>>> speak as to the state and future of cordova run ios support.
>>> 
>> 
>> I don't know if anyone is working on this specifically right now, but I
>> suspect that something like this could easily shake out of the work that is
>> going into the automated build/test system. David can probably speak to how
>> easy it will be to get that working as part of CLI.
>> 
>> Ian
>> 


Re: Cordova CLI

Posted by David Kemp <dr...@google.com>.
I have not looked at changing the iOS run script. Right now I believe it
only handles the emulator.
Medic uses fruitstrap for deployment. No reason it can't be adapted for
clients run.
 On Aug 22, 2013 1:40 PM, "Ian Clelland" <ic...@chromium.org> wrote:

> On Thu, Aug 22, 2013 at 11:17 AM, Braden Shepherdson <braden@chromium.org
> >wrote:
>
> > On Thu, Aug 22, 2013 at 9:06 AM, Jan Becicka <Ja...@oracle.com>
> > wrote:
> >
>
>
> > >
> > > * Cordova CLI does not support iOS Devices. (cordova run ios). Are
> there
> > > any plans to support it in near future?
> > >
> >
> > Platform parity is a goal for sure. I don't work on iOS much, so I can't
> > speak as to the state and future of cordova run ios support.
> >
>
> I don't know if anyone is working on this specifically right now, but I
> suspect that something like this could easily shake out of the work that is
> going into the automated build/test system. David can probably speak to how
> easy it will be to get that working as part of CLI.
>
> Ian
>

Re: Cordova CLI

Posted by James Jong <wj...@gmail.com>.
I don't see any reason why we wouldn't have a CLI run for iOS.  There is already a run script in the current ios repo.

-James Jong

On Aug 22, 2013, at 1:39 PM, Ian Clelland <ic...@chromium.org> wrote:

> On Thu, Aug 22, 2013 at 11:17 AM, Braden Shepherdson <br...@chromium.org>wrote:
> 
>> On Thu, Aug 22, 2013 at 9:06 AM, Jan Becicka <Ja...@oracle.com>
>> wrote:
>> 
> 
> 
>>> 
>>> * Cordova CLI does not support iOS Devices. (cordova run ios). Are there
>>> any plans to support it in near future?
>>> 
>> 
>> Platform parity is a goal for sure. I don't work on iOS much, so I can't
>> speak as to the state and future of cordova run ios support.
>> 
> 
> I don't know if anyone is working on this specifically right now, but I
> suspect that something like this could easily shake out of the work that is
> going into the automated build/test system. David can probably speak to how
> easy it will be to get that working as part of CLI.
> 
> Ian


Re: Cordova CLI

Posted by Ian Clelland <ic...@chromium.org>.
On Thu, Aug 22, 2013 at 11:17 AM, Braden Shepherdson <br...@chromium.org>wrote:

> On Thu, Aug 22, 2013 at 9:06 AM, Jan Becicka <Ja...@oracle.com>
> wrote:
>


> >
> > * Cordova CLI does not support iOS Devices. (cordova run ios). Are there
> > any plans to support it in near future?
> >
>
> Platform parity is a goal for sure. I don't work on iOS much, so I can't
> speak as to the state and future of cordova run ios support.
>

I don't know if anyone is working on this specifically right now, but I
suspect that something like this could easily shake out of the work that is
going into the automated build/test system. David can probably speak to how
easy it will be to get that working as part of CLI.

Ian

Re: Cordova CLI

Posted by Braden Shepherdson <br...@chromium.org>.
Responses inline.


On Thu, Aug 22, 2013 at 9:06 AM, Jan Becicka <Ja...@oracle.com> wrote:

> Hi,
>   I'm a developer working on Cordova Support in NetBeans IDE (
> http://www.netbeans.org).
>   NetBeans IDE can create a new Cordova Project, build/run it on emulators
> and devices, do Live CSS styling, JavaScript Debugging etc...


Cool!


> Our implementation depends on the new Cordova CLI. I have some concerns,
> that we might depend on something which is subject to change.
>
> * We depend on Cordova CLI - it should be safe, right? This should be
> stable.
>

The existence and general function of Cordova CLI is certainly stable. This
is the new basis for building Cordova apps, not a hack that's subject to
replacement.


>
> * We depend on project structure according
> https://github.com/apache/cordova-cli . Is the project structure stable?
>

Reasonably. No promises that the details won't move around a bit. There's
been discussion, for example, of moving from having $PROJECT/merges and
$PROJECT/www as top-level directories, to a $PROJECT/app folder that
contains app/www, app/merges, app/resources/splashscreen or whatever else.
There's some history here; the Google team working on CLI (ie. me) thought
that was an uncontroversial change back in CLI's alpha days, but it got a
lot of pushback and was eventually reverted.

On the other hand, we've launched now, so we're probably stuck with this,
even though config.xml is inside www/ and that makes no sense.


>
> * What about cordova plugins? Core Cordova plugins are added through CLI
> this way:
>
> cordova plugin add
> https://git-wip-us.apache.org/repos/asf/cordova-plugin-geolocation.git
>
> We implemented UI for adding core plugins into the project. We hardcoded
> list of plugins and we hardcoded those git repositories, since we didn't
> find any better way. But I have some concerns, that these repositories will
> change in the future and our UI will stop working. What are your plans with
> plugins?
>

We're actively working on building a registry of plugins that can be
queried to discover what versions of it exist and where they can be found.
Once that's ready for primetime, you can use it to determine what plugins
can be installed. Though the list may eventually grow too large to fetch
all at once, so you may want to think about search functionality rather
than a list.


>
> * Cordova CLI does not support iOS Devices. (cordova run ios). Are there
> any plans to support it in near future?
>

Platform parity is a goal for sure. I don't work on iOS much, so I can't
speak as to the state and future of cordova run ios support.


>
>
> Thank you,
> Jan
> NetBeans
>
>
>