Re: Tagging 3.1.0 today?

2013-10-03 Thread Brian LeRoux
\o/
On Oct 3, 2013 2:40 AM, Andrew Grieve agri...@chromium.org wrote:

 WHO!


 On Wed, Oct 2, 2013 at 11:10 PM, Steven Gill stevengil...@gmail.com
 wrote:

  I have temporarily set the download back to dist.apache.org. I will
 change
  it once our stuff gets mirrored.
 
  Doap file updated.
 
  Only thing remaining is to fix docs redirect (only Michael B can do this
  and he is in Europe)
  Close Issue
 
 
  Great job on this release everyone. Not an easy one!
 
  -Steve
 
 
  On Wed, Oct 2, 2013 at 3:01 PM, Steven Gill stevengil...@gmail.com
  wrote:
 
   The apache mirrors haven't picked up 3.1.0 zip yet. Making it a little
   harder to get out on our site.
  
   Feel free to RT the release tweet.
   https://twitter.com/apachecordova/status/385523954724507648
  
  
  
  
   On Wed, Oct 2, 2013 at 2:51 PM, Steven Gill stevengil...@gmail.com
  wrote:
  
   Sounds good. Also updating download links to point to 3.1.0 instead of
   3.0.0
  
  
   On Wed, Oct 2, 2013 at 2:48 PM, Andrew Grieve agri...@chromium.org
  wrote:
  
   Blog post is live.
   http://cordova.apache.org/blog/releases/2013/10/02/cordova-31.html
  
   Final steps:
   Tweet the post (steve)
   Update DOAP file with .zip release (steve)
   Update the docs.cordova.io redirect (Michael B)
   Mark as released in JIRA (
  
 
 https://issues.apache.org/jira/plugins/servlet/project-config/CB/versions
   )
   (steve)
  
  
  
   On Wed, Oct 2, 2013 at 10:03 PM, Steven Gill stevengil...@gmail.com
 
   wrote:
  
Release is being uploaded as I type this email.
   
Andrew, feel free to post the blog + update the site to say 3.1.0!
   
Woot!
   
   
On Wed, Oct 2, 2013 at 12:30 PM, Shazron shaz...@gmail.com
 wrote:
   
 I don't think Apache is breaking Git, it's just git. This has
   happened
 before, where I commented on the ML about a tag that had the
 tagged
commit
 missing from any of the branches (I believe it was from a tag
 from
   Tim,
not
 calling you out here Tim, but just for precedence purposes as a
   concrete
 example for this current issue).

 I hadn't updated my local cordova-android repo since yesterday. I
  see
that
 a commit by Joe Bowser with subject Tagging 3.1.0 with
 hash 6f17e9fc9cd27f031d94d67fe118008d5f6ec5b3 - this was from the
   3.1.0
 tag. I searched using git for any local or remote branches (my
 last
Apache
 fetch) and it did not contain the commit.

 $ git branch --contains 6f17e9fc9cd27f031d94d67fe118008d5f6ec5b3
  (for
local
 branches)
 $ git branch -a --contains
 6f17e9fc9cd27f031d94d67fe118008d5f6ec5b3
(for
 remote branches)

 Thus, when someone pulled down the 3.1.x branch, it did not
 contain
   your
 commit. I assume, based on looking at the 3.1.x branch, and not
   seeing it
 tagged, that person then tagged it, and it appeared that your
  commit
   was
 removed. The evidence strongly suggests otherwise, imo.

 I have zipped up my local repo and can provide it to anyone if
 they
   want
to
 take a look.

 On Wed, Oct 2, 2013 at 11:49 AM, Joe Bowser bows...@gmail.com
   wrote:

  On Wed, Oct 2, 2013 at 11:46 AM, Andrew Grieve 
   agri...@chromium.org
  wrote:
   Sorry, was away from my computer for a while there.
  
   Joe, sounds like what happened was that you pushed the tag
   without
  pushing
   the branch. That has happened a few times in the past by
 others
  (including
   myself). No biggie. The ASF repos disable git push --force,
 so
  I
don't
   think it's even possible for tampering to happen.
 
  I want github back! Apache is breaking git. :(
 
  As far as tampering, it's totally possible for it to happen.
Sadly,
  it looks exactly like this.  I apologize for getting super
 aggro
   about
  the git screw-up.
 

   
  
  
  
  
 



chrome dev summit

2013-10-03 Thread Brian LeRoux
anyone here going?

http://developer.chrome.com/devsummit


Re: Tagging 3.1.0 today?

2013-10-03 Thread Marcel Kinard
This is a great team. Thanks for all your efforts!


RE: Tagging 3.1.0 today?

2013-10-03 Thread Dick Van den Brink
Love the update! Hope I can update my project soon! :) Thanks guys!

 Subject: Re: Tagging 3.1.0 today?
 From: cmarc...@gmail.com
 Date: Thu, 3 Oct 2013 07:56:11 -0400
 To: dev@cordova.apache.org
 
 This is a great team. Thanks for all your efforts!
  

Re: Mobilespec / CI / version problems

2013-10-03 Thread David Kemp
bump

With the release, its been a bit busy, but this issue needs some love.

Note that someone else has commented on the same problem from a different
angle (not mobilespec)
[Commented] (CB-4889)  ~ 3am this morning

The renaming of plugins created a hole and there are a couple possible
resolutions.

to help out in a general way (not mobilespec)
1) smack a tag into the git repos for 3.0.x just in front of the name
change. I think you can still do that?
2) publish plugins under the old name. might work if you use new tools with
a 3.0 project
3) document the bug and tell people using 3.0 to switch to 3.1 or update
the plugin name references in their project

to fix mobilespec:
1) #1 above works
2) re-release mobilespec for 3.0.x
3) patch the ios project for 3.0.x to finish removing the Echo plugin files
so you can build 3.0.x with the 3.1.x mobilespec

Thoughts?



On Tue, Oct 1, 2013 at 1:30 PM, David Kemp drk...@google.com wrote:

 Just for clarification...

 Testing 3.1.x works fine using 3.1 platforms, 3.1 mobilespec, and master
 plugins.
 Testing 'HEAD' works fine using master platforms, master mobilespec, and
 dev plugins.

 Thats all as expected.

 Up until a week ago, you could test 3.0.x using 3.0.x platforms, 3.0.x
 mobilespec, and master plugins.
 That no longer works.



 On Tue, Oct 1, 2013 at 12:40 PM, Joe Bowser bows...@gmail.com wrote:

 Aren't we testing 3.1.0 with the tests that were tagged in 3.1.0?
 Testing with 3.0.0 tests seems like you'll always have failing tests,
 since ideally the tests should have been added with the bug (although
 I don't know where to put platform-specific mobile-spec tests, the
 don't really have a home and people get upset when I check them in.)



 On Tue, Oct 1, 2013 at 9:34 AM, David Kemp drk...@google.com wrote:
  I believe that will be OK - testing it out now.
 
  It still probably deserves some documentation somewhere that the
 previously
  stated relationships don't work anymore, and that any plugin references
 in
  a 3.0.x project need attention.
 
 
 
  On Tue, Oct 1, 2013 at 12:03 PM, Andrew Grieve agri...@chromium.org
 wrote:
 
  Would it fix it to use mobile-spec from master when testing 3.0.x?
  Mobile-spec generally stays in sync with the plugins more so than the
  platforms, so it would make sense to me to use mobile-spec at master if
  using plugins from master/dev.
 
 
  On Tue, Oct 1, 2013 at 4:40 PM, David Kemp drk...@google.com wrote:
 
   The issue is the that stated methodology for getting the right
 versions
  to
   test is:
   * for release, get plugins from the master branch and platforms,
 tests
  etc
   from the release branch (3.0.x)
   * for tip of tree, get plugins from the dev branch and platforms,
 tests
  etc
   from the master branch
   Since the rename was done to the plugins on master (appropriate for
  3.1.x)
   that no longer leaves a place to get plugins that are 'compatible'
 with
   3.0.x
  
   The issue that I am pointing out right now is that the file:
   cordova-mobile-spec/dependencies-plugin/plugin.xml
   explicitly names the plugins with the old name in the 3.0.x branch of
   mobile-spec. so it breaks.
  
   If a developer has a similar references to their 3.0.x plugins, it
 will
   also fail next time they build a fresh new project.
  
   For CI it means that all tests of the 3.0.x branch now fail.
  
  
  
  
  
   On Tue, Oct 1, 2013 at 11:23 AM, Marcel Kinard cmarc...@gmail.com
  wrote:
  
In the past I've used #3. When checking out code to test, I try to
 get
   all
the assets from the same branch / time period. But I may be skewed
 in
   that
approach, since our product that embeds Cordova has a snapshot of
 the
platforms and plugins, and doesn't get updates from the online
 repos.
   
Does what you are saying infer that the rename of the plugins is a
breaking change? And needs to have some verbage in the Upgrading
  guides?
   
On Oct 1, 2013, at 11:14 AM, David Kemp drk...@chromium.org
 wrote:
   
 Summary: Due to the renaming of plugins, there is no longer a
  sensible
way
 to test 3.0.x

 Detail:
 The process to test 3.0.x is to get platforms, mobile-spec, etc
 from
3.0.x
 and plugins from master. With the change on plugin names (remove
  core)
the
 3.0.x mobile-spec still refers to the names with core , but the
  master
 branch of the plugins no longer have that name.

 Possible resolutions:
 1) never mind - mobilespec for 3.0.x is broken, it will be fixed
 in
   3.1.x
 2) cherrypick the change to mobilespec dependencies back to 3.0.x
 3) find some other way to get the older plugins available to
 test.

 Thoughts?

 David Kemp
   
   
  
 





Re: chrome dev summit

2013-10-03 Thread Michal Mocny
Andrew and I.


On Thu, Oct 3, 2013 at 4:29 AM, Brian LeRoux b...@brian.io wrote:

 anyone here going?

 http://developer.chrome.com/devsummit



Re: Mobilespec / CI / version problems

2013-10-03 Thread Andrew Grieve
I'm fine with any of the options.


On Thu, Oct 3, 2013 at 1:47 PM, David Kemp drk...@google.com wrote:

 bump

 With the release, its been a bit busy, but this issue needs some love.

 Note that someone else has commented on the same problem from a different
 angle (not mobilespec)
 [Commented] (CB-4889)  ~ 3am this morning

 The renaming of plugins created a hole and there are a couple possible
 resolutions.

 to help out in a general way (not mobilespec)
 1) smack a tag into the git repos for 3.0.x just in front of the name
 change. I think you can still do that?
 2) publish plugins under the old name. might work if you use new tools with
 a 3.0 project
 3) document the bug and tell people using 3.0 to switch to 3.1 or update
 the plugin name references in their project

 to fix mobilespec:
 1) #1 above works
 2) re-release mobilespec for 3.0.x
 3) patch the ios project for 3.0.x to finish removing the Echo plugin files
 so you can build 3.0.x with the 3.1.x mobilespec

 Thoughts?



 On Tue, Oct 1, 2013 at 1:30 PM, David Kemp drk...@google.com wrote:

  Just for clarification...
 
  Testing 3.1.x works fine using 3.1 platforms, 3.1 mobilespec, and master
  plugins.
  Testing 'HEAD' works fine using master platforms, master mobilespec, and
  dev plugins.
 
  Thats all as expected.
 
  Up until a week ago, you could test 3.0.x using 3.0.x platforms, 3.0.x
  mobilespec, and master plugins.
  That no longer works.
 
 
 
  On Tue, Oct 1, 2013 at 12:40 PM, Joe Bowser bows...@gmail.com wrote:
 
  Aren't we testing 3.1.0 with the tests that were tagged in 3.1.0?
  Testing with 3.0.0 tests seems like you'll always have failing tests,
  since ideally the tests should have been added with the bug (although
  I don't know where to put platform-specific mobile-spec tests, the
  don't really have a home and people get upset when I check them in.)
 
 
 
  On Tue, Oct 1, 2013 at 9:34 AM, David Kemp drk...@google.com wrote:
   I believe that will be OK - testing it out now.
  
   It still probably deserves some documentation somewhere that the
  previously
   stated relationships don't work anymore, and that any plugin
 references
  in
   a 3.0.x project need attention.
  
  
  
   On Tue, Oct 1, 2013 at 12:03 PM, Andrew Grieve agri...@chromium.org
  wrote:
  
   Would it fix it to use mobile-spec from master when testing 3.0.x?
   Mobile-spec generally stays in sync with the plugins more so than the
   platforms, so it would make sense to me to use mobile-spec at master
 if
   using plugins from master/dev.
  
  
   On Tue, Oct 1, 2013 at 4:40 PM, David Kemp drk...@google.com
 wrote:
  
The issue is the that stated methodology for getting the right
  versions
   to
test is:
* for release, get plugins from the master branch and platforms,
  tests
   etc
from the release branch (3.0.x)
* for tip of tree, get plugins from the dev branch and platforms,
  tests
   etc
from the master branch
Since the rename was done to the plugins on master (appropriate for
   3.1.x)
that no longer leaves a place to get plugins that are 'compatible'
  with
3.0.x
   
The issue that I am pointing out right now is that the file:
cordova-mobile-spec/dependencies-plugin/plugin.xml
explicitly names the plugins with the old name in the 3.0.x branch
 of
mobile-spec. so it breaks.
   
If a developer has a similar references to their 3.0.x plugins, it
  will
also fail next time they build a fresh new project.
   
For CI it means that all tests of the 3.0.x branch now fail.
   
   
   
   
   
On Tue, Oct 1, 2013 at 11:23 AM, Marcel Kinard cmarc...@gmail.com
 
   wrote:
   
 In the past I've used #3. When checking out code to test, I try
 to
  get
all
 the assets from the same branch / time period. But I may be
 skewed
  in
that
 approach, since our product that embeds Cordova has a snapshot of
  the
 platforms and plugins, and doesn't get updates from the online
  repos.

 Does what you are saying infer that the rename of the plugins is
 a
 breaking change? And needs to have some verbage in the Upgrading
   guides?

 On Oct 1, 2013, at 11:14 AM, David Kemp drk...@chromium.org
  wrote:

  Summary: Due to the renaming of plugins, there is no longer a
   sensible
 way
  to test 3.0.x
 
  Detail:
  The process to test 3.0.x is to get platforms, mobile-spec, etc
  from
 3.0.x
  and plugins from master. With the change on plugin names
 (remove
   core)
 the
  3.0.x mobile-spec still refers to the names with core , but the
   master
  branch of the plugins no longer have that name.
 
  Possible resolutions:
  1) never mind - mobilespec for 3.0.x is broken, it will be
 fixed
  in
3.1.x
  2) cherrypick the change to mobilespec dependencies back to
 3.0.x
  3) find some other way to get the older plugins available to
  test.
 
  Thoughts?
 
  David Kemp
 

Re: Mobilespec / CI / version problems

2013-10-03 Thread Michal Mocny
On Thu, Oct 3, 2013 at 8:47 AM, David Kemp drk...@google.com wrote:

 bump

 With the release, its been a bit busy, but this issue needs some love.

 Note that someone else has commented on the same problem from a different
 angle (not mobilespec)
 [Commented] (CB-4889)  ~ 3am this morning

 The renaming of plugins created a hole and there are a couple possible
 resolutions.

 to help out in a general way (not mobilespec)
 1) smack a tag into the git repos for 3.0.x just in front of the name
 change. I think you can still do that?
 2) publish plugins under the old name. might work if you use new tools with
 a 3.0 project
 3) document the bug and tell people using 3.0 to switch to 3.1 or update
 the plugin name references in their project

I think we (3) document the change, but it shouldn't mean you cannot use
3.0.  You should be able to use 3.0 with the new plugin names, unless they
actually have non 3.0 compatible changes (which I think is not the case
except for Echo plugin which no one but mobilespec should be using).


 to fix mobilespec:
 1) #1 above works
 2) re-release mobilespec for 3.0.x

(2) is my preference.  I don't think future versions of mobile-spec should
necessarily work well with older platforms.  The mobile-spec tied to the
platform cad-version should be run instead.  This is still useful to test
the ever-changing plugins to make sure they are compatible, and right not
they are not since we introduced a backward-incompatible change to the ID.
 If we do with (3) above, then I think we need to update mobile-spec to use
the new ID much like we will advise users to do.


 3) patch the ios project for 3.0.x to finish removing the Echo plugin files
 so you can build 3.0.x with the 3.1.x mobilespec

 Thoughts?



 On Tue, Oct 1, 2013 at 1:30 PM, David Kemp drk...@google.com wrote:

  Just for clarification...
 
  Testing 3.1.x works fine using 3.1 platforms, 3.1 mobilespec, and master
  plugins.
  Testing 'HEAD' works fine using master platforms, master mobilespec, and
  dev plugins.
 
  Thats all as expected.
 
  Up until a week ago, you could test 3.0.x using 3.0.x platforms, 3.0.x
  mobilespec, and master plugins.
  That no longer works.
 
 
 
  On Tue, Oct 1, 2013 at 12:40 PM, Joe Bowser bows...@gmail.com wrote:
 
  Aren't we testing 3.1.0 with the tests that were tagged in 3.1.0?
  Testing with 3.0.0 tests seems like you'll always have failing tests,
  since ideally the tests should have been added with the bug (although
  I don't know where to put platform-specific mobile-spec tests, the
  don't really have a home and people get upset when I check them in.)
 
 
 
  On Tue, Oct 1, 2013 at 9:34 AM, David Kemp drk...@google.com wrote:
   I believe that will be OK - testing it out now.
  
   It still probably deserves some documentation somewhere that the
  previously
   stated relationships don't work anymore, and that any plugin
 references
  in
   a 3.0.x project need attention.
  
  
  
   On Tue, Oct 1, 2013 at 12:03 PM, Andrew Grieve agri...@chromium.org
  wrote:
  
   Would it fix it to use mobile-spec from master when testing 3.0.x?
   Mobile-spec generally stays in sync with the plugins more so than the
   platforms, so it would make sense to me to use mobile-spec at master
 if
   using plugins from master/dev.
  
  
   On Tue, Oct 1, 2013 at 4:40 PM, David Kemp drk...@google.com
 wrote:
  
The issue is the that stated methodology for getting the right
  versions
   to
test is:
* for release, get plugins from the master branch and platforms,
  tests
   etc
from the release branch (3.0.x)
* for tip of tree, get plugins from the dev branch and platforms,
  tests
   etc
from the master branch
Since the rename was done to the plugins on master (appropriate for
   3.1.x)
that no longer leaves a place to get plugins that are 'compatible'
  with
3.0.x
   
The issue that I am pointing out right now is that the file:
cordova-mobile-spec/dependencies-plugin/plugin.xml
explicitly names the plugins with the old name in the 3.0.x branch
 of
mobile-spec. so it breaks.
   
If a developer has a similar references to their 3.0.x plugins, it
  will
also fail next time they build a fresh new project.
   
For CI it means that all tests of the 3.0.x branch now fail.
   
   
   
   
   
On Tue, Oct 1, 2013 at 11:23 AM, Marcel Kinard cmarc...@gmail.com
 
   wrote:
   
 In the past I've used #3. When checking out code to test, I try
 to
  get
all
 the assets from the same branch / time period. But I may be
 skewed
  in
that
 approach, since our product that embeds Cordova has a snapshot of
  the
 platforms and plugins, and doesn't get updates from the online
  repos.

 Does what you are saying infer that the rename of the plugins is
 a
 breaking change? And needs to have some verbage in the Upgrading
   guides?

 On Oct 1, 2013, at 11:14 AM, David Kemp drk...@chromium.org
  wrote:

  

Re: Android platform scripts

2013-10-03 Thread Braden Shepherdson
(Finally back from two days of intern interviews and one day of writing
feedback.)

I would prefer to do it part by part, but this is difficult. If the callers
of the method I port are expecting it to be synchronous, they'll continue
on to the next step too early. If I only change the outermost callers, and
not the callees, there's little benefit to this. Especially since these
have no tests, I'd love to keep it small, but I can't see a way to do that
without porting all of one command, at least. (And there are some
interdependencies.)

Braden


On Fri, Sep 27, 2013 at 5:40 PM, Brian LeRoux b...@brian.io wrote:

 Giver. Now, instead if the grand rewrite how about a refactor  of a single
 method for review. Easier for us to buy in and perhaps collab on w you.
 On Sep 27, 2013 7:31 PM, Braden Shepherdson bra...@chromium.org wrote:

  I had since learned that shelljs is used for other things. That's fine,
  it's not hurting anything unless we use synchronous exec.
 
  Braden
 
 
  On Fri, Sep 27, 2013 at 12:47 PM, Andrew Grieve agri...@chromium.org
  wrote:
 
   SGTM. shelljs is used for other things though, so we won't be able to
 get
   rid of it.
  
  
   On Fri, Sep 27, 2013 at 4:13 PM, Braden Shepherdson 
 bra...@chromium.org
   wrote:
  
The Android platform scripts use shelljs.exec's synchronous mode.
 This
   is a
terrible hack that leaks filehandles by the hundred, wastes lots of
 CPU
cycles, and can cause EMFILE on OSX because it runs out of
 filehandles.
   
I wanted to rewrite the scripts to be async and use
 child_process.exec
  or
.spawn. I started to, but rapidly found that the tangle of callbacks
  that
resulted was terrible and confusing.
   
I propose using Q.js here as well (and dropping shelljs as a
  dependency,
   if
it was only ever used for .exec).
   
Any objections?
   
Braden
   
  
 



Re: Updating plugin code on prepare

2013-10-03 Thread Braden Shepherdson
I agree that the syncing solutions are too complex and confusing.

I return, then, to my original proposal all those emails ago: updating the
native plugin files in platforms/foo when you prepare, to make life easier
for plugin developers. When coupled with the present cordova plugin add
--link, and future cordova watch, I think this makes the plugin developer
flow pretty good, and without making it too magical or harder to
understand. I think it simplifies prepare: on prepare, your native projects
are updated to reflect the state of plugins/ and www/. Right now, only
www/, assets and js-modules get updated, but not native code.

As to Xcode and symlinks and all the rest of the borderline thread
hijacking, I think that regardless of what editor you use, you have to be
editing the right file. Xcode and Eclipse make this harder than it needs to
be, but our job is not to make them suck less.

Braden


On Sun, Sep 29, 2013 at 1:43 PM, Carlos Santana csantan...@gmail.comwrote:

 +1 Anis
 corodova-cli/plugman should be building block components to higher level
 Tools/IDE.

 That we can do better sure, lets provide a few examples using blog pots and
 maybe videos tutorials vs. trying to support every use case with code.

 A watch function could be as simple as using grunt-contrib-watch to a
 more complicated environment like rsync/Eclipse

 I agree lets put emphasis on documenting use cases and the correct
 approach.
 When to get the best out of using prepare,  merges, and hooks

 All I said applies when you have the Web Developer hat.

 For people that have the Native Plugin Developer hat then we can do
 things first for cordova-contributors than others can choose to use on
 their own risk since it could be changing too fast and maybe too narrow use
 case.

 --Carlos

 --Carlos



 On Sun, Sep 29, 2013 at 9:18 AM, Anis KADRI anis.ka...@gmail.com wrote:

  I gave some thought to this problem and I think we should just leave
  everything as is. Here's my reasoning:
 
  - Most web developers use a text editor (vim, sublime text, text mate,
  notepad++, ) to edit their HTML/CSS/Javascript. I've never seen
  anyone use a fully fledged IDE to edit web assets. It would be like
  using Microsoft Word to edit a simple .TXT or .MD file
  - Other developers, people who write Java or Objective C, etc.. use
  Xcode, Eclipse, IntelliJ, ...and I think these people are not good
  candidates for cordova-cli.
 
  The original PhoneGap promise (now Apache Cordova) was to make it easy
  for Web Developers to write Mobile Apps using web technologies and I
  believe that promise is fulfilled with cordova-cli. You have a folder
  where you drop in your web assets and you can build/deploy to a device
  or simulate.
 
  If people want to use an IDE, then they should be creating native
  projects with our create scripts and use plugman to manage their
  plugins.
 
  Our documentation should point our users to the right approach
  depending on the use case. For example:
 
  - Building for only one platform ? Building a hybrid app ? Want to use
  an IDE (Eclipse, Xcode) ? You should use the create scripts and
  plugman to manage plugins
 
  - Building a cross-platform app ? Like managing your project from the
  command-line ? Want to use your favo(u)rite text editor ? Use
  cordova-cli
 
  These double symlinking, backsyncing solutions will be a source of
  confusion and issues in my humble opinion. I've said it before but
  sometimes by trying to please everyone you end up pleasing no one.
 
  my .02c
 
  -a
 
  On Fri, Sep 27, 2013 at 8:20 PM, Michal Mocny mmo...@chromium.org
 wrote:
   On Fri, Sep 27, 2013 at 2:10 PM, Andrew Grieve agri...@chromium.org
  wrote:
  
   Just tried some symlinks in Xcode 5:
   - Copying assets work (due to our custom build step)
   - Building works (compiler follows links just fine)
   - Editing a fail (big fail. Files open but changes cannot be saved.)
  
  
   Hmm, changes via xcode to symlinks fail, you mean?  That would be hard
 to
   fix, but perhaps at least its feedback to the user not to make direct
  edits
   there, when using CLI workflow ;) so may still be a valid change to
 make.
  
  
  
   For Xcode though, it is an option to change our installation step to
  have
   Xcode reference the native files within plugins/ rather than within
   platforms/.
  
  
   Symlinks in Eclipse:
   - Copying assets works out-of-the-box
   - Build works fine
   - Editing seems to work fine (edits saved to symlinked location).
  
  
  
   Still though, maybe the best solution would be a combination of the
 two?
   Have prepare know when an remove+add is necessary?
  
  
   Yes, I think thats what we are suggesting.
  
   The original email mentioned prepare knowing when remove+add are
  necessary,
   which I think is already settled as a good idea.  Not sure if you had
  more
   to add about how prepare should know when to do this (currently, its
 only
   on plugin.xml changes).
   The more recent 

Re: Mapping plugin ID - URL

2013-10-03 Thread Michal Mocny
On Wed, Oct 2, 2013 at 3:09 PM, Michal Mocny mmo...@chromium.org wrote:




 On Wed, Oct 2, 2013 at 2:49 PM, Anis KADRI anis.ka...@gmail.com wrote:

 Braden and I have talked about it in the past but there is already a
 $HOME/.plugman/cache and plugman will not attempt to fetch plugins if
 they are already in the cache. Unless I am missing something can you
 just not drop your dependencies in there?


 This sounds like it would work, but I'm hesitant to force a global
 installation of the cache.  I think it would mean you cannot develop BB
 webworks apps on the same machine as you develop vanilla cordova apps since
 the same plugin id would map to different places across *all* plugman using
 projects.

 Note that it already has been a source of problems to have things
 needlessly added to ~/.cordova and ~/.plugman.


Thinking about this more, I think using the global cache is subtly
different than what we want here.  However, I think we could perhaps
leverage the concept and share most of the code.  Here is the big
difference:

- The global plugman cache is used *after* going out to registry to lookup
latest version, so as not to download the same plugin version multiple
times.
- This proposed local search path is to be used *before* going out to
registry, without caring about its content or version number.

Perhaps the current behaviour can be decomposed into two steps: (1) update
global cache with newest plugin version via registry and (2) install
plugin from cache.  Then, installing a plugin by ID could be:

- Attempt Step (2) from local search path(s)
- then, if above failed, do Step (1)
- then, if above succeeded, Attempt Step (2) from global cache

How does that sound?




 Are there other use cases than simply 'not fetching from registry and
 using local path' for a given plugin ID ?


 I think this is the only use case we are looking to solve, but it shows up
 in different situations: during cordova plugin add ID or plugman --install
 with dependancy etc.



 #1 and #2 can be solutions to some problems but do we have those
 problems yet ? They can be a solution to managing multiple registry
 sources for example (Cordova, PhoneGap, WorkLight, BlackBerry, ...)
 because right now we only support.


 Yes, we already do have these problems, as said: IBM, BB, and to some
 extent Mobile-Chrome-Apps is already needing this solution.  Implementing a
 new registry would be fine, if it worked offline for local-only installs,
 preferably without the need to set up a server/couchdb for such simple
 local only mappings, which is exactly Andrews proposal.



 Your proposed changes also seem to only affect CLI since you mentioned
 a .cordova/config.json. plugman only users would potentially be
 penalized once again.


 I completely agree this is implemented in plugman.  We are discussing CLI
 just to establish the convention for how to store the cache, but plugman
 would have all the underlying functionality.  It *has* to be this way,
 since its the one that resolves dependencies, and will need a new argument
 alongside --install to know where to lookup id for local mapping.



 On Wed, Oct 2, 2013 at 8:57 AM, Michal Mocny mmo...@chromium.org wrote:
  I think the missing piece is that the plugin author has the option of
  specifying dependencies in terms exactly *one* of these options:
 
  (a) id, to be looked up in the registry
  (b) explicit git url
  (c) relative path
 
  The problem is that a downstream *distributor* cannot override these
 values
  at the moment, without making direct edits to the plugin.xml.  e.g. IBM
 and
  BlackBerry have already both spoken up about the problem of shipping a
  cordova based tool with plugins bundled, and having full control over
  plugin versions, supporting offline work, etc.
 
  How can we solve the generic case of using the CLI with the registry,
 while
  supporting the bundling/tarball use case?
 
  Andrews proposal would allow for option (a) to be overwritten by a
  distributor without changes to the plugin.xml, by implementing a local
  workspace mapping of id - path, which is used by cli instead of
 reaching
  out to the registry (though it could still use the registry for id's
 that
  are not in the mapping).
 
  I suspect it would also make (a) the only necessary way to specify
 plugin
  dependencies in practice, which I think is a win for simplicity.  Thats
 my
  understanding anyway.
 
  -Michal
 
 
  On Wed, Oct 2, 2013 at 10:55 AM, Brian LeRoux b...@brian.io wrote:
 
  Well, not npm but rather http://plugins.cordova.io or by URL or by
  relative
  path (allowing for vendored plugins). That is how Node does it TMK and
  should cover our use cases too without adding new config file options
 (or
  worse more config files).
 
  Am I missing something?
 
 
  On Wed, Oct 2, 2013 at 2:31 PM, Andrew Grieve agri...@chromium.org
  wrote:
 
   Could you give an example of how you'd use npm or vendor
 dependencies?
  
  
   On Wed, Oct 2, 2013 at 10:12 AM, Brian LeRoux 

Re: Updating plugin code on prepare

2013-10-03 Thread Michal Mocny
Yeah Braden we've diverged sorry, lets focus.

Big +1 for your proposal to make prepare step do what users expect.

-Michal


On Thu, Oct 3, 2013 at 10:20 AM, Braden Shepherdson bra...@chromium.orgwrote:

 I agree that the syncing solutions are too complex and confusing.

 I return, then, to my original proposal all those emails ago: updating the
 native plugin files in platforms/foo when you prepare, to make life easier
 for plugin developers. When coupled with the present cordova plugin add
 --link, and future cordova watch, I think this makes the plugin developer
 flow pretty good, and without making it too magical or harder to
 understand. I think it simplifies prepare: on prepare, your native projects
 are updated to reflect the state of plugins/ and www/. Right now, only
 www/, assets and js-modules get updated, but not native code.

 As to Xcode and symlinks and all the rest of the borderline thread
 hijacking, I think that regardless of what editor you use, you have to be
 editing the right file. Xcode and Eclipse make this harder than it needs to
 be, but our job is not to make them suck less.

 Braden


 On Sun, Sep 29, 2013 at 1:43 PM, Carlos Santana csantan...@gmail.com
 wrote:

  +1 Anis
  corodova-cli/plugman should be building block components to higher level
  Tools/IDE.
 
  That we can do better sure, lets provide a few examples using blog pots
 and
  maybe videos tutorials vs. trying to support every use case with code.
 
  A watch function could be as simple as using grunt-contrib-watch to a
  more complicated environment like rsync/Eclipse
 
  I agree lets put emphasis on documenting use cases and the correct
  approach.
  When to get the best out of using prepare,  merges, and hooks
 
  All I said applies when you have the Web Developer hat.
 
  For people that have the Native Plugin Developer hat then we can do
  things first for cordova-contributors than others can choose to use on
  their own risk since it could be changing too fast and maybe too narrow
 use
  case.
 
  --Carlos
 
  --Carlos
 
 
 
  On Sun, Sep 29, 2013 at 9:18 AM, Anis KADRI anis.ka...@gmail.com
 wrote:
 
   I gave some thought to this problem and I think we should just leave
   everything as is. Here's my reasoning:
  
   - Most web developers use a text editor (vim, sublime text, text mate,
   notepad++, ) to edit their HTML/CSS/Javascript. I've never seen
   anyone use a fully fledged IDE to edit web assets. It would be like
   using Microsoft Word to edit a simple .TXT or .MD file
   - Other developers, people who write Java or Objective C, etc.. use
   Xcode, Eclipse, IntelliJ, ...and I think these people are not good
   candidates for cordova-cli.
  
   The original PhoneGap promise (now Apache Cordova) was to make it easy
   for Web Developers to write Mobile Apps using web technologies and I
   believe that promise is fulfilled with cordova-cli. You have a folder
   where you drop in your web assets and you can build/deploy to a device
   or simulate.
  
   If people want to use an IDE, then they should be creating native
   projects with our create scripts and use plugman to manage their
   plugins.
  
   Our documentation should point our users to the right approach
   depending on the use case. For example:
  
   - Building for only one platform ? Building a hybrid app ? Want to use
   an IDE (Eclipse, Xcode) ? You should use the create scripts and
   plugman to manage plugins
  
   - Building a cross-platform app ? Like managing your project from the
   command-line ? Want to use your favo(u)rite text editor ? Use
   cordova-cli
  
   These double symlinking, backsyncing solutions will be a source of
   confusion and issues in my humble opinion. I've said it before but
   sometimes by trying to please everyone you end up pleasing no one.
  
   my .02c
  
   -a
  
   On Fri, Sep 27, 2013 at 8:20 PM, Michal Mocny mmo...@chromium.org
  wrote:
On Fri, Sep 27, 2013 at 2:10 PM, Andrew Grieve agri...@chromium.org
 
   wrote:
   
Just tried some symlinks in Xcode 5:
- Copying assets work (due to our custom build step)
- Building works (compiler follows links just fine)
- Editing a fail (big fail. Files open but changes cannot be saved.)
   
   
Hmm, changes via xcode to symlinks fail, you mean?  That would be
 hard
  to
fix, but perhaps at least its feedback to the user not to make direct
   edits
there, when using CLI workflow ;) so may still be a valid change to
  make.
   
   
   
For Xcode though, it is an option to change our installation step to
   have
Xcode reference the native files within plugins/ rather than within
platforms/.
   
   
Symlinks in Eclipse:
- Copying assets works out-of-the-box
- Build works fine
- Editing seems to work fine (edits saved to symlinked location).
   
   
   
Still though, maybe the best solution would be a combination of the
  two?
Have prepare know when an remove+add is necessary?
   
   
Yes, 

Re: CLI tool - Medic testing

2013-10-03 Thread Carlos Santana
Should this info be in the wiki?

Very useful, I was using similar approach but ending with same result.

On Thursday, October 3, 2013, Braden Shepherdson wrote:

 Ack, sorry I wasn't around. This is a known problem, and a general one not
 specific to this release.

 If you're using master CLI, you need to be linking in master plugman as
 well.

 The sequence of commands to get everything working is:

 git clone https://git-wip-us.apache.org/repos/asf/cordova-plugman.git
 cd cordova-plugman
 npm install
 sudo npm link -g
 cd ..
 git clone https://git-wip-us.apache.org/repos/asf/cordova-cli.git
 cd cordova-cli
 npm install
 sudo npm link -g
 npm link plugman

 Now your global cordova command is master, and its plugman is master as
 well.

 Braden



 On Mon, Sep 30, 2013 at 1:48 PM, Steven Gill 
 stevengil...@gmail.comjavascript:;
 wrote:

  Hey David,
 
  I think this is known and we need to do a plugman release pretty soon.
 
  Thanks for reporting this on the list!
 
  -Steve
 
 
  On Mon, Sep 30, 2013 at 10:14 AM, David Kemp 
  drk...@chromium.orgjavascript:;
 wrote:
 
   Summary:
   Fresh checkout of Cordova-Cli from master results in a cli that will
 not
   add a plugin.
  
   [Error: Error fetching plugin: TypeError: Cannot call method 'fetch'
   of undefined]
  
  
   Details:
   The current Cordova-cli master requires a version of plugman that has
 not
   yet been published.
   Cli requires plugman 0.12.x and that plugman does not expose 'raw'.
   Cordova-plugman (master) does expose 'raw', but that version has not
 been
   published to npm.
  
   This will only be an issue if you get a fresh git checkout of cli from
   master, and don't overwrite the plugman with a fresh checkout as well.
 It
   does not affect the version of cli that is published via npm.
  
   David Kemp
  
 



-- 
Carlos Santana
csantan...@gmail.com


Re: CLI tool - Medic testing

2013-10-03 Thread Andrew Grieve
Might be better in the CLI's README.md


On Thu, Oct 3, 2013 at 3:47 PM, Carlos Santana csantan...@gmail.com wrote:

 Should this info be in the wiki?

 Very useful, I was using similar approach but ending with same result.

 On Thursday, October 3, 2013, Braden Shepherdson wrote:

  Ack, sorry I wasn't around. This is a known problem, and a general one
 not
  specific to this release.
 
  If you're using master CLI, you need to be linking in master plugman as
  well.
 
  The sequence of commands to get everything working is:
 
  git clone https://git-wip-us.apache.org/repos/asf/cordova-plugman.git
  cd cordova-plugman
  npm install
  sudo npm link -g
  cd ..
  git clone https://git-wip-us.apache.org/repos/asf/cordova-cli.git
  cd cordova-cli
  npm install
  sudo npm link -g
  npm link plugman
 
  Now your global cordova command is master, and its plugman is master as
  well.
 
  Braden
 
 
 
  On Mon, Sep 30, 2013 at 1:48 PM, Steven Gill stevengil...@gmail.com
 javascript:;
  wrote:
 
   Hey David,
  
   I think this is known and we need to do a plugman release pretty soon.
  
   Thanks for reporting this on the list!
  
   -Steve
  
  
   On Mon, Sep 30, 2013 at 10:14 AM, David Kemp drk...@chromium.org
 javascript:;
  wrote:
  
Summary:
Fresh checkout of Cordova-Cli from master results in a cli that will
  not
add a plugin.
   
[Error: Error fetching plugin: TypeError: Cannot call method 'fetch'
of undefined]
   
   
Details:
The current Cordova-cli master requires a version of plugman that has
  not
yet been published.
Cli requires plugman 0.12.x and that plugman does not expose 'raw'.
Cordova-plugman (master) does expose 'raw', but that version has not
  been
published to npm.
   
This will only be an issue if you get a fresh git checkout of cli
 from
master, and don't overwrite the plugman with a fresh checkout as
 well.
  It
does not affect the version of cli that is published via npm.
   
David Kemp
   
  
 


 --
 Carlos Santana
 csantan...@gmail.com



Re: CLI tool - Medic testing

2013-10-03 Thread Carlos Santana
Even better, I prefer things like this to be closer to the source/repo

On Thursday, October 3, 2013, Andrew Grieve wrote:

 Might be better in the CLI's README.md


 On Thu, Oct 3, 2013 at 3:47 PM, Carlos Santana 
 csantan...@gmail.comjavascript:;
 wrote:

  Should this info be in the wiki?
 
  Very useful, I was using similar approach but ending with same result.
 
  On Thursday, October 3, 2013, Braden Shepherdson wrote:
 
   Ack, sorry I wasn't around. This is a known problem, and a general one
  not
   specific to this release.
  
   If you're using master CLI, you need to be linking in master plugman as
   well.
  
   The sequence of commands to get everything working is:
  
   git clone https://git-wip-us.apache.org/repos/asf/cordova-plugman.git
   cd cordova-plugman
   npm install
   sudo npm link -g
   cd ..
   git clone https://git-wip-us.apache.org/repos/asf/cordova-cli.git
   cd cordova-cli
   npm install
   sudo npm link -g
   npm link plugman
  
   Now your global cordova command is master, and its plugman is master as
   well.
  
   Braden
  
  
  
   On Mon, Sep 30, 2013 at 1:48 PM, Steven Gill 
   stevengil...@gmail.comjavascript:;
  javascript:;
   wrote:
  
Hey David,
   
I think this is known and we need to do a plugman release pretty
 soon.
   
Thanks for reporting this on the list!
   
-Steve
   
   
On Mon, Sep 30, 2013 at 10:14 AM, David Kemp 
drk...@chromium.orgjavascript:;
  javascript:;
   wrote:
   
 Summary:
 Fresh checkout of Cordova-Cli from master results in a cli that
 will
   not
 add a plugin.

 [Error: Error fetching plugin: TypeError: Cannot call method
 'fetch'
 of undefined]


 Details:
 The current Cordova-cli master requires a version of plugman that
 has
   not
 yet been published.
 Cli requires plugman 0.12.x and that plugman does not expose 'raw'.
 Cordova-plugman (master) does expose 'raw', but that version has
 not
   been
 published to npm.

 This will only be an issue if you get a fresh git checkout of cli
  from
 master, and don't overwrite the plugman with a fresh checkout as
  well.
   It
 does not affect the version of cli that is published via npm.

 David Kemp

   
  
 
 
  --
  Carlos Santana
  csantan...@gmail.com javascript:;
 



-- 
Carlos Santana
csantan...@gmail.com


Re: Plugman Release

2013-10-03 Thread Braden Shepherdson
I called it cordova-3.1.x because it's about the 3.1.x version of Cordova,
the CadVer, not the CLI's own version numbering. We can always make a new
branch and drop the old one, if we like.

Braden


On Tue, Oct 1, 2013 at 3:38 PM, Steven Gill stevengil...@gmail.com wrote:

 the branch for both CLI and Plugman is called cordova-3.1.x (don't know why
 we didn't call it 3.1.x instead)


 On Tue, Oct 1, 2013 at 12:04 PM, Jeffrey Heifetz jheif...@blackberry.com
 wrote:

  It seems as though there is no cordova-cli 3.1.x branch, does this mean
 we
  always release off of master?
 
  There is a bug I found where element tree needs to be bumped to the same
  version as plugman to support namespace xml elements and I'd like to know
  where to push this.
 
  Thanks,
 
  Jeff
 
  On 13-10-01 12:17 PM, Steven Gill stevengil...@gmail.com wrote:
 
  Firefoxos is broken on master after the refactor. It works fine on the
  cordova-3.1.x branch though.
  
  I am testing jesse's pull requests for CLI + plugman today for
  cordova-3.1.x branch. If they look good I will merge them in. We should
  release CLI + Plugman at the same time as 3.1.0. The release should be
  based off cordova-3.1.x branch and not master.
  On Oct 1, 2013 7:41 AM, Andrew Grieve agri...@chromium.org wrote:
  
   Braden's out doing intern interviews yesterday  today, so it's
 unlikely
   he'll see this email until tomorrow if not Thursday.
  
   We could still do a tools release, but just don't update the
  platforms.js
   file to point at 3.1.0. That said, I think I saw Firefox was broken on
   HEAD? Think we'll want to fix that before doing so.
  
   In terms of testing the RC - as Steven said - using cordova@3.0.10
  should
   do the trick
  
  
   On Tue, Oct 1, 2013 at 2:22 AM, Jesse purplecabb...@gmail.com
 wrote:
  
I have an open pull request I would like someone else to look at.
 [1]
This addresses the issue that Carlos brought up during plugin remove
  [2]
It would be great if this could be part of the release, or at least
  the
commit cherry picked into it.
   
Cheers,
  Jesse
   
   
   
[1]
https://github.com/purplecabbage/cordova-plugman/pull/2
[2]
https://issues.apache.org/jira/browse/CB-4943
   
   
   
   
@purplecabbage
risingj.com
   
   
On Mon, Sep 30, 2013 at 4:12 PM, Steven Gill 
 stevengil...@gmail.com
wrote:
   
 I believe Braden did the same type of release for plugman that he
  did
   for
 cordova cli. He updated both packages on npm but set the latest
 tag
  to
 point to the previous version until we were ready to do our full
   release.

 If you install the CLI RC
 sudo npm install -g cordova@3.0.10, you actually get version
 0.12.0
  of
 plugman as a dependency.

 I will wait for Braden to chime in. I figure the CLI and Plugman
  should
 both be released on the same day we release 3.1.0.



 On Mon, Sep 30, 2013 at 1:39 PM, David Kemp drk...@google.com
  wrote:

  +1  to a plugman npm release.
 
  David Kemp
 
 
 
  On Mon, Sep 30, 2013 at 4:34 PM, Steven Gill
  stevengil...@gmail.com
   
  wrote:
 
   Anyone see any issue with me doing a npm plugman release
 today?
Testing
  the
   CLI RC is kind of weird when the plugman dependency is
   incompatible.
  
   -Steve
  
 

   
  
 
  -
  This transmission (including any attachments) may contain confidential
  information, privileged material (including material protected by the
  solicitor-client or other applicable privileges), or constitute
 non-public
  information. Any use of this information by anyone other than the
 intended
  recipient is prohibited. If you have received this transmission in error,
  please immediately reply to the sender and delete this information from
  your system. Use, dissemination, distribution, or reproduction of this
  transmission by unintended recipients is not authorized and may be
 unlawful.
 
 



w3c DAP wg - battery test cases

2013-10-03 Thread Lisa Seacat DeLuca
FYI: https://github.com/w3c/web-platform-tests/tree/master/battery-status 

Lisa Seacat DeLuca
ldel...@apache.org

Cordova versioning

2013-10-03 Thread Jan Becicka
Hi,
  I'm a NetBeans developer and we are really close to releasing NetBeans 7.4 
with support for cordova. NetBeans FCS bits are now ready for testing. NetBeans 
checks for cordova version and expects version string to be in format 
number.number.number in hope, that this format marks stable cordova versions.

Now I updated to new cordova and it does not work with NetBeans, because 
version string is 3.1.0-0.1.0 and NetBeans things that it is dev version and 
refuse to work with it.
Is this final state? Is there a way how to install 3.1.0 version? Can I ask to 
follow versioning scheme and release versions in format number.number.number?

Thanks,
Jan
 

Introduction and follow-up questions

2013-10-03 Thread Naik, Archana
Hello, Cordova Devs,

I am a software developer at Lab126 @amazon. I am part of HTML5 WebApp Platform 
team here. As some of you might know, amazon recently introduced FireOS for its 
KindleFire tablets. For more info please see 
https://developer.amazon.com/sdk/fireos.html
I would like to add FireOS as a platform for Cordova. I have been recently 
exploring various cordova's git repositories and plug-in mechanism. Based on my 
initial readings I have some ideas but would like to hear if you guys have any 
better suggestions.

Basically, here is what I am thinking.

1. A new git repo for FireOS which is very similar to cordova-android but with 
FireOS related changes. Should I create a new one or would a committer do that?
2. For most plug-ins, add amazon as a platform in plugin.xml but point to 
android sources or create a separate source file if required.
3. Update cordova-cli, to add FireOS platform.
4. Update mobile-spec to run the test suite for FireOS.
5. Update documentation across the repos wherever platform is mentioned. (might 
need help in finding out places and how to go about it) :)

Please let me know what you guys think.

Thanks
Archana


Re: Introduction and follow-up questions

2013-10-03 Thread Joe Bowser
Hey

I'm very unclear as to why it would be similar to cordova-android,
since it sounds like FireOS already has support for a lot of what
Cordova does.  What does the current FireOS WebApp API look like, and
how does it compare to Cordova? I thought they were already very
similar.

Also, would the modifications to cordova-android mean that the WebView
would be based on Chromium builds, and not the awful WebKit that's in
Cordova by default?

Joe

On Thu, Oct 3, 2013 at 8:26 AM, Naik, Archana na...@lab126.com wrote:
 Hello, Cordova Devs,

 I am a software developer at Lab126 @amazon. I am part of HTML5 WebApp 
 Platform team here. As some of you might know, amazon recently introduced 
 FireOS for its KindleFire tablets. For more info please see 
 https://developer.amazon.com/sdk/fireos.html
 I would like to add FireOS as a platform for Cordova. I have been recently 
 exploring various cordova's git repositories and plug-in mechanism. Based on 
 my initial readings I have some ideas but would like to hear if you guys have 
 any better suggestions.

 Basically, here is what I am thinking.

 1. A new git repo for FireOS which is very similar to cordova-android but 
 with FireOS related changes. Should I create a new one or would a committer 
 do that?
 2. For most plug-ins, add amazon as a platform in plugin.xml but point to 
 android sources or create a separate source file if required.
 3. Update cordova-cli, to add FireOS platform.
 4. Update mobile-spec to run the test suite for FireOS.
 5. Update documentation across the repos wherever platform is mentioned. 
 (might need help in finding out places and how to go about it) :)

 Please let me know what you guys think.

 Thanks
 Archana


Re: Cordova versioning

2013-10-03 Thread Michal Mocny
Jan,

This project has two different versioning strategies for the various
pieces: Cadence versioning (ie, 3.1.0 for end of Sept 2013) and Semantic
versioning (ie, major.minor.point), and for 3.1 release the CLI uses a
combination of both!

Please take a look at
http://wiki.apache.org/cordova/VersioningAndReleaseStrategy  for more
information on this.

I'm not sure how likely we are to change the versioning scheme again, since
there have been a few hiccups as we move to a more SemVer friendly scheme,
but at the moment I would suggest supporting the new style of version
number for CLI (i.e. CAD-SEM, a.b.c-x.y.z).

-Michal


On Thu, Oct 3, 2013 at 11:18 AM, Jan Becicka jan.beci...@oracle.com wrote:

 Hi,
   I'm a NetBeans developer and we are really close to releasing NetBeans
 7.4 with support for cordova. NetBeans FCS bits are now ready for testing.
 NetBeans checks for cordova version and expects version string to be in
 format number.number.number in hope, that this format marks stable
 cordova versions.

 Now I updated to new cordova and it does not work with NetBeans, because
 version string is 3.1.0-0.1.0 and NetBeans things that it is dev version
 and refuse to work with it.
 Is this final state? Is there a way how to install 3.1.0 version? Can I
 ask to follow versioning scheme and release versions in format
 number.number.number?

 Thanks,
 Jan



Re: Mapping plugin ID - URL

2013-10-03 Thread Carlos Santana
I think plugman is trying to do more than it should.
We should look into something like bower to handle dependencies and
fetching them to a local folder for a project.
Bower can be use by user via cli and plugman can use it as a node library.

Bower handles the download of packages/repo with it's versions/tags to a
local folder.
I see a cordova plugin be analogous and not that different from a package.

Then plugman uses a local folder (bower_components, cordova_components,
or what ever name) to install plugins from that folder.

Cache only solved the problem of network usage, it doesn't solve
portability of a project/repo.

I'm out on vacation but wanted to bring up Bower for front-end
dependencies. We can leverage their lessons learned or their code and we
don't have to re-invent the wheel.

TLDR: I vote for plugman to have an option for install command to skip the
registry and use local folder already populated with a set of plugins.

-- Carlos


On Thursday, October 3, 2013, Michal Mocny wrote:

 On Wed, Oct 2, 2013 at 3:09 PM, Michal Mocny 
 mmo...@chromium.orgjavascript:;
 wrote:

 
 
 
  On Wed, Oct 2, 2013 at 2:49 PM, Anis KADRI 
  anis.ka...@gmail.comjavascript:;
 wrote:
 
  Braden and I have talked about it in the past but there is already a
  $HOME/.plugman/cache and plugman will not attempt to fetch plugins if
  they are already in the cache. Unless I am missing something can you
  just not drop your dependencies in there?
 
 
  This sounds like it would work, but I'm hesitant to force a global
  installation of the cache.  I think it would mean you cannot develop BB
  webworks apps on the same machine as you develop vanilla cordova apps
 since
  the same plugin id would map to different places across *all* plugman
 using
  projects.
 
  Note that it already has been a source of problems to have things
  needlessly added to ~/.cordova and ~/.plugman.
 

 Thinking about this more, I think using the global cache is subtly
 different than what we want here.  However, I think we could perhaps
 leverage the concept and share most of the code.  Here is the big
 difference:

 - The global plugman cache is used *after* going out to registry to lookup
 latest version, so as not to download the same plugin version multiple
 times.
 - This proposed local search path is to be used *before* going out to
 registry, without caring about its content or version number.

 Perhaps the current behaviour can be decomposed into two steps: (1) update
 global cache with newest plugin version via registry and (2) install
 plugin from cache.  Then, installing a plugin by ID could be:

 - Attempt Step (2) from local search path(s)
 - then, if above failed, do Step (1)
 - then, if above succeeded, Attempt Step (2) from global cache

 How does that sound?


 
 
  Are there other use cases than simply 'not fetching from registry and
  using local path' for a given plugin ID ?
 
 
  I think this is the only use case we are looking to solve, but it shows
 up
  in different situations: during cordova plugin add ID or plugman
 --install
  with dependancy etc.
 
 
 
  #1 and #2 can be solutions to some problems but do we have those
  problems yet ? They can be a solution to managing multiple registry
  sources for example (Cordova, PhoneGap, WorkLight, BlackBerry, ...)
  because right now we only support.
 
 
  Yes, we already do have these problems, as said: IBM, BB, and to some
  extent Mobile-Chrome-Apps is already needing this solution.
  Implementing a
  new registry would be fine, if it worked offline for local-only installs,
  preferably without the need to set up a server/couchdb for such simple
  local only mappings, which is exactly Andrews proposal.
 
 
 
  Your proposed changes also seem to only affect CLI since you mentioned
  a .cordova/config.json. plugman only users would potentially be
  penalized once again.
 
 
  I completely agree this is implemented in plugman.  We are discussing CLI
  just to establish the convention for how to store the cache, but plugman
  would have all the underlying functionality.  It *has* to be this way,
  since its the one that resolves dependencies, and will need a new
 argument
  alongside --install to know where to lookup id for local mapping.
 
 
 
  On Wed, Oct 2, 2013 at 8:57 AM, Michal Mocny mmo...@chromium.org
 wrote:
   I think the missing piece is that the plugin author has the option of
   specifying dependencies in terms exactly *one* of these options:
  
   (a) id, to be looked up in the registry
   (b) explicit git url
   (c) relative path
  
   The problem is that a downstream *distributor* cannot override these
  values
   at the moment, without making direct edits to the plugin.xml.  e.g.
 IBM
  and
   BlackBerry have already both spoken up about the problem of shipping a
   cordova based tool with plugins bundled, and having full control over
   plugin versions, supporting offline work, etc.
  
   How can we solve the generic case of using the CLI with the 

Re: Introduction and follow-up questions

2013-10-03 Thread Andrew Grieve
Often how new platforms go, is that you should just make your own git repo
for it, and then we can look at copying it into a sanctioned apache repo
once some initial progress is made.

One thing I think it would be important to consider though, is how close
FireOS will be to Android. E.g., would it be at all possible to install a
plugin written for android onto FireOS?




On Thu, Oct 3, 2013 at 4:26 PM, Naik, Archana na...@lab126.com wrote:

 Hello, Cordova Devs,

 I am a software developer at Lab126 @amazon. I am part of HTML5 WebApp
 Platform team here. As some of you might know, amazon recently introduced
 FireOS for its KindleFire tablets. For more info please see
 https://developer.amazon.com/sdk/fireos.html
 I would like to add FireOS as a platform for Cordova. I have been recently
 exploring various cordova's git repositories and plug-in mechanism. Based
 on my initial readings I have some ideas but would like to hear if you guys
 have any better suggestions.

 Basically, here is what I am thinking.

 1. A new git repo for FireOS which is very similar to cordova-android but
 with FireOS related changes. Should I create a new one or would a committer
 do that?
 2. For most plug-ins, add amazon as a platform in plugin.xml but point to
 android sources or create a separate source file if required.
 3. Update cordova-cli, to add FireOS platform.
 4. Update mobile-spec to run the test suite for FireOS.
 5. Update documentation across the repos wherever platform is mentioned.
 (might need help in finding out places and how to go about it) :)

 Please let me know what you guys think.

 Thanks
 Archana



cordova emulate ios not working

2013-10-03 Thread Michael Gauthier

Hi Guys,

I upgraded to 3.1.0 and cordova emulate ios no longer works. I filed 
report https://issues.apache.org/jira/browse/CB-4990.


Cheers,
Mike


Re: cordova emulate ios not working

2013-10-03 Thread Shazron
what does ios-sim --version show for you?


On Thu, Oct 3, 2013 at 11:46 AM, Michael Gauthier m...@silverorange.comwrote:

 Hi Guys,

 I upgraded to 3.1.0 and cordova emulate ios no longer works. I filed
 report 
 https://issues.apache.org/**jira/browse/CB-4990https://issues.apache.org/jira/browse/CB-4990
 .

 Cheers,
 Mike



Re: cordova emulate ios not working

2013-10-03 Thread Michael Gauthier

$ ios-sim --version
1.8.2

On 2013-10-03 15:59, Shazron wrote:

what does ios-sim --version show for you?


On Thu, Oct 3, 2013 at 11:46 AM, Michael Gauthier m...@silverorange.comwrote:


Hi Guys,

I upgraded to 3.1.0 and cordova emulate ios no longer works. I filed
report 
https://issues.apache.org/**jira/browse/CB-4990https://issues.apache.org/jira/browse/CB-4990
.

Cheers,
Mike







Re: PSA: watch for stipped [CB-####] from patch subject line when using git am

2013-10-03 Thread Anis KADRI
I never used brackets so I guess I don't have to change anything :-)

On Thu, Oct 3, 2013 at 3:35 AM, Andrew Grieve agri...@chromium.org wrote:
 That applies to cordova-js only, and I think it's a nice-to-have. If it's
 left out, it just means I need to open the diff to see what's changed. If
 it's there though, I don't need to.


 On Wed, Oct 2, 2013 at 10:47 PM, Marcel Kinard cmarc...@gmail.com wrote:

 ContributorWorkflow and CommitterWorkflow wiki pages updated.

 I noticed the following verbage in CommitterWorkflow:

 • Prefix the message with the affected_platform so that it's clear
 who should take interest in the commit
 • e.g.: CB-1234 android: Improved exec bridge by using strings
 instead of JSON
 • e.g.: CB-1234 all: Fixed plugin loading paths that start with /.

 Should that verbage stay in? I don't think we do that consistently.

 On Oct 2, 2013, at 3:29 PM, Andrew Grieve agri...@chromium.org wrote:

  +1
 
 
  On Wed, Oct 2, 2013 at 8:17 PM, Marcel Kinard cmarc...@gmail.com
 wrote:
 
  So new format should be:
 
  CB-1234 Fixed the RockOn widget
 
  Correct?
 
 




Re: chrome dev summit

2013-10-03 Thread Anis KADRI
I'd like to go too!

On Thu, Oct 3, 2013 at 6:07 PM, Shazron shaz...@gmail.com wrote:
 I wouldn't mind dropping by.


 On Thu, Oct 3, 2013 at 1:29 AM, Brian LeRoux b...@brian.io wrote:

 anyone here going?

 http://developer.chrome.com/devsummit



Re: Mapping plugin ID - URL

2013-10-03 Thread Anis KADRI
@Michal SGTM. The original approach has some other benefits on top of
the current requirements. However, I don't know if we need those
benefits just yet.

On Thu, Oct 3, 2013 at 6:06 PM, Carlos Santana csantan...@gmail.com wrote:
 I think plugman is trying to do more than it should.
 We should look into something like bower to handle dependencies and
 fetching them to a local folder for a project.
 Bower can be use by user via cli and plugman can use it as a node library.

 Bower handles the download of packages/repo with it's versions/tags to a
 local folder.
 I see a cordova plugin be analogous and not that different from a package.

 Then plugman uses a local folder (bower_components, cordova_components,
 or what ever name) to install plugins from that folder.

 Cache only solved the problem of network usage, it doesn't solve
 portability of a project/repo.

 I'm out on vacation but wanted to bring up Bower for front-end
 dependencies. We can leverage their lessons learned or their code and we
 don't have to re-invent the wheel.

 TLDR: I vote for plugman to have an option for install command to skip the
 registry and use local folder already populated with a set of plugins.

 -- Carlos


 On Thursday, October 3, 2013, Michal Mocny wrote:

 On Wed, Oct 2, 2013 at 3:09 PM, Michal Mocny 
 mmo...@chromium.orgjavascript:;
 wrote:

 
 
 
  On Wed, Oct 2, 2013 at 2:49 PM, Anis KADRI 
  anis.ka...@gmail.comjavascript:;
 wrote:
 
  Braden and I have talked about it in the past but there is already a
  $HOME/.plugman/cache and plugman will not attempt to fetch plugins if
  they are already in the cache. Unless I am missing something can you
  just not drop your dependencies in there?
 
 
  This sounds like it would work, but I'm hesitant to force a global
  installation of the cache.  I think it would mean you cannot develop BB
  webworks apps on the same machine as you develop vanilla cordova apps
 since
  the same plugin id would map to different places across *all* plugman
 using
  projects.
 
  Note that it already has been a source of problems to have things
  needlessly added to ~/.cordova and ~/.plugman.
 

 Thinking about this more, I think using the global cache is subtly
 different than what we want here.  However, I think we could perhaps
 leverage the concept and share most of the code.  Here is the big
 difference:

 - The global plugman cache is used *after* going out to registry to lookup
 latest version, so as not to download the same plugin version multiple
 times.
 - This proposed local search path is to be used *before* going out to
 registry, without caring about its content or version number.

 Perhaps the current behaviour can be decomposed into two steps: (1) update
 global cache with newest plugin version via registry and (2) install
 plugin from cache.  Then, installing a plugin by ID could be:

 - Attempt Step (2) from local search path(s)
 - then, if above failed, do Step (1)
 - then, if above succeeded, Attempt Step (2) from global cache

 How does that sound?


 
 
  Are there other use cases than simply 'not fetching from registry and
  using local path' for a given plugin ID ?
 
 
  I think this is the only use case we are looking to solve, but it shows
 up
  in different situations: during cordova plugin add ID or plugman
 --install
  with dependancy etc.
 
 
 
  #1 and #2 can be solutions to some problems but do we have those
  problems yet ? They can be a solution to managing multiple registry
  sources for example (Cordova, PhoneGap, WorkLight, BlackBerry, ...)
  because right now we only support.
 
 
  Yes, we already do have these problems, as said: IBM, BB, and to some
  extent Mobile-Chrome-Apps is already needing this solution.
  Implementing a
  new registry would be fine, if it worked offline for local-only installs,
  preferably without the need to set up a server/couchdb for such simple
  local only mappings, which is exactly Andrews proposal.
 
 
 
  Your proposed changes also seem to only affect CLI since you mentioned
  a .cordova/config.json. plugman only users would potentially be
  penalized once again.
 
 
  I completely agree this is implemented in plugman.  We are discussing CLI
  just to establish the convention for how to store the cache, but plugman
  would have all the underlying functionality.  It *has* to be this way,
  since its the one that resolves dependencies, and will need a new
 argument
  alongside --install to know where to lookup id for local mapping.
 
 
 
  On Wed, Oct 2, 2013 at 8:57 AM, Michal Mocny mmo...@chromium.org
 wrote:
   I think the missing piece is that the plugin author has the option of
   specifying dependencies in terms exactly *one* of these options:
  
   (a) id, to be looked up in the registry
   (b) explicit git url
   (c) relative path
  
   The problem is that a downstream *distributor* cannot override these
  values
   at the moment, without making direct edits to the plugin.xml.  e.g.
 IBM
  and
   BlackBerry have 

Re: Updating plugin code on prepare

2013-10-03 Thread Anis KADRI
+1!

On Thu, Oct 3, 2013 at 4:30 PM, Michal Mocny mmo...@chromium.org wrote:
 Yeah Braden we've diverged sorry, lets focus.

 Big +1 for your proposal to make prepare step do what users expect.

 -Michal


 On Thu, Oct 3, 2013 at 10:20 AM, Braden Shepherdson 
 bra...@chromium.orgwrote:

 I agree that the syncing solutions are too complex and confusing.

 I return, then, to my original proposal all those emails ago: updating the
 native plugin files in platforms/foo when you prepare, to make life easier
 for plugin developers. When coupled with the present cordova plugin add
 --link, and future cordova watch, I think this makes the plugin developer
 flow pretty good, and without making it too magical or harder to
 understand. I think it simplifies prepare: on prepare, your native projects
 are updated to reflect the state of plugins/ and www/. Right now, only
 www/, assets and js-modules get updated, but not native code.

 As to Xcode and symlinks and all the rest of the borderline thread
 hijacking, I think that regardless of what editor you use, you have to be
 editing the right file. Xcode and Eclipse make this harder than it needs to
 be, but our job is not to make them suck less.

 Braden


 On Sun, Sep 29, 2013 at 1:43 PM, Carlos Santana csantan...@gmail.com
 wrote:

  +1 Anis
  corodova-cli/plugman should be building block components to higher level
  Tools/IDE.
 
  That we can do better sure, lets provide a few examples using blog pots
 and
  maybe videos tutorials vs. trying to support every use case with code.
 
  A watch function could be as simple as using grunt-contrib-watch to a
  more complicated environment like rsync/Eclipse
 
  I agree lets put emphasis on documenting use cases and the correct
  approach.
  When to get the best out of using prepare,  merges, and hooks
 
  All I said applies when you have the Web Developer hat.
 
  For people that have the Native Plugin Developer hat then we can do
  things first for cordova-contributors than others can choose to use on
  their own risk since it could be changing too fast and maybe too narrow
 use
  case.
 
  --Carlos
 
  --Carlos
 
 
 
  On Sun, Sep 29, 2013 at 9:18 AM, Anis KADRI anis.ka...@gmail.com
 wrote:
 
   I gave some thought to this problem and I think we should just leave
   everything as is. Here's my reasoning:
  
   - Most web developers use a text editor (vim, sublime text, text mate,
   notepad++, ) to edit their HTML/CSS/Javascript. I've never seen
   anyone use a fully fledged IDE to edit web assets. It would be like
   using Microsoft Word to edit a simple .TXT or .MD file
   - Other developers, people who write Java or Objective C, etc.. use
   Xcode, Eclipse, IntelliJ, ...and I think these people are not good
   candidates for cordova-cli.
  
   The original PhoneGap promise (now Apache Cordova) was to make it easy
   for Web Developers to write Mobile Apps using web technologies and I
   believe that promise is fulfilled with cordova-cli. You have a folder
   where you drop in your web assets and you can build/deploy to a device
   or simulate.
  
   If people want to use an IDE, then they should be creating native
   projects with our create scripts and use plugman to manage their
   plugins.
  
   Our documentation should point our users to the right approach
   depending on the use case. For example:
  
   - Building for only one platform ? Building a hybrid app ? Want to use
   an IDE (Eclipse, Xcode) ? You should use the create scripts and
   plugman to manage plugins
  
   - Building a cross-platform app ? Like managing your project from the
   command-line ? Want to use your favo(u)rite text editor ? Use
   cordova-cli
  
   These double symlinking, backsyncing solutions will be a source of
   confusion and issues in my humble opinion. I've said it before but
   sometimes by trying to please everyone you end up pleasing no one.
  
   my .02c
  
   -a
  
   On Fri, Sep 27, 2013 at 8:20 PM, Michal Mocny mmo...@chromium.org
  wrote:
On Fri, Sep 27, 2013 at 2:10 PM, Andrew Grieve agri...@chromium.org
 
   wrote:
   
Just tried some symlinks in Xcode 5:
- Copying assets work (due to our custom build step)
- Building works (compiler follows links just fine)
- Editing a fail (big fail. Files open but changes cannot be saved.)
   
   
Hmm, changes via xcode to symlinks fail, you mean?  That would be
 hard
  to
fix, but perhaps at least its feedback to the user not to make direct
   edits
there, when using CLI workflow ;) so may still be a valid change to
  make.
   
   
   
For Xcode though, it is an option to change our installation step to
   have
Xcode reference the native files within plugins/ rather than within
platforms/.
   
   
Symlinks in Eclipse:
- Copying assets works out-of-the-box
- Build works fine
- Editing seems to work fine (edits saved to symlinked location).
   
   
   
Still though, maybe the best solution would be a combination of 

TestFlight plugin

2013-10-03 Thread Tyler Wilson
I am sorry, this message may be better sent directly to shazron, but I thought 
others might be interested too.

I just built up a new Cordova 3.1.0 project, installed the device, console, 
splash screen, testflight and my own plugin. They all installed in a way that I 
did not have to add any script include tags in my html - they are part of the 
cordova_plugins.js. All except the test flight plugin. That one I had to add 
the plugins/testflight.js.

Perhaps shazron can add the magic to the plugin.xml needed to get it installed 
automatically? Looks to me through a simple compare it is the js-module element 
that is needed (it has the clobbers element that is in the cordova_plugins.js 
file.

The plugin is working great besides that little niggle BTW.

Thanks,
Tyler

Re: TestFlight plugin

2013-10-03 Thread Shazron
Thanks. This doesn't belong here in this list. And I already added an issue
in my repo earlier today to do just so. File issues in the repo, they get
to me.

On Thursday, October 3, 2013, Tyler Wilson wrote:

 I am sorry, this message may be better sent directly to shazron, but I
 thought others might be interested too.

 I just built up a new Cordova 3.1.0 project, installed the device,
 console, splash screen, testflight and my own plugin. They all installed in
 a way that I did not have to add any script include tags in my html - they
 are part of the cordova_plugins.js. All except the test flight plugin. That
 one I had to add the plugins/testflight.js.

 Perhaps shazron can add the magic to the plugin.xml needed to get it
 installed automatically? Looks to me through a simple compare it is the
 js-module element that is needed (it has the clobbers element that is in
 the cordova_plugins.js file.

 The plugin is working great besides that little niggle BTW.

 Thanks,
 Tyler