Re: cli plugins 'alias'?

2013-09-03 Thread Michal Mocny
I don't really think we need this feature:

(1) We already have plugin's which support dependencies.  Combined with the
plugin repository, this means your alias feature is equivalent to creating
a do-nothing plugin that specifies its dependencies.

(2) Also, we will soon have a way to specify application template (ie,
replace hello world), which combined with plugin dependencies for apps,
means that creating mobile spec will be as easy as `cordova create
PATH_TO_MOBILE_SPEC` and adding platforms.

-Michal


On Mon, Sep 2, 2013 at 9:40 PM, lmnbeyond lmnbey...@gmail.com wrote:

 + 1  It's great

 Best Regards!



 On 2013-9-3, at 上午8:37, Brian LeRoux b...@brian.io wrote:

  love this idea
 
 
  On Sat, Aug 31, 2013 at 2:36 PM, Jonathan Bond-Caron 
  jbo...@gdesolutions.com wrote:
 
  Setting up the mobile spec app was tedious since I didn't know the
  dependencies.
 
  I wrote a small patch that allows to pull a plugin from a git
 subdirectory
  e.g. cordova plugin add
  https://github.com/jbondc/cordova-labs?subdir=cordova-deps-mobile-spec
  https://issues.apache.org/jira/browse/CB-4715
 
  It got me thinking there might an opportunity to make this less tedious
  with an 'alias'
 
  e.g. cordova plugin add @cordova-test
 
  The @ symbol signals an 'alias' (cordova-test) that cli would expand to
  https://.../cordova-plugin-battery-status https://
 .../cordova-plugin-device
  etc...
  The list of plugins simply gets passed to plugman.
 
  A couple of 'core' aliases could make it easier to get started with
  cordova, e.g.
  cordova plugin add @cordova-common
  cordova plugin add @cordova-test
  cordova plugin rm @cordova-test
 
  Could also be called packaged / collection /  grouped plugins.
 
  Thoughts?
 
 




Re: cli plugins 'alias'?

2013-09-03 Thread Andrew Grieve
Just updated the README.md to remove the pre-3.0 setup instructions.


On Tue, Sep 3, 2013 at 9:53 AM, Michal Mocny mmo...@chromium.org wrote:

 I don't really think we need this feature:

 (1) We already have plugin's which support dependencies.  Combined with the
 plugin repository, this means your alias feature is equivalent to creating
 a do-nothing plugin that specifies its dependencies.

 (2) Also, we will soon have a way to specify application template (ie,
 replace hello world), which combined with plugin dependencies for apps,
 means that creating mobile spec will be as easy as `cordova create
 PATH_TO_MOBILE_SPEC` and adding platforms.

 -Michal


 On Mon, Sep 2, 2013 at 9:40 PM, lmnbeyond lmnbey...@gmail.com wrote:

  + 1  It's great
 
  Best Regards!
 
 
 
  On 2013-9-3, at 上午8:37, Brian LeRoux b...@brian.io wrote:
 
   love this idea
  
  
   On Sat, Aug 31, 2013 at 2:36 PM, Jonathan Bond-Caron 
   jbo...@gdesolutions.com wrote:
  
   Setting up the mobile spec app was tedious since I didn't know the
   dependencies.
  
   I wrote a small patch that allows to pull a plugin from a git
  subdirectory
   e.g. cordova plugin add
  
 https://github.com/jbondc/cordova-labs?subdir=cordova-deps-mobile-spec
   https://issues.apache.org/jira/browse/CB-4715
  
   It got me thinking there might an opportunity to make this less
 tedious
   with an 'alias'
  
   e.g. cordova plugin add @cordova-test
  
   The @ symbol signals an 'alias' (cordova-test) that cli would expand
 to
   https://.../cordova-plugin-battery-status https://
  .../cordova-plugin-device
   etc...
   The list of plugins simply gets passed to plugman.
  
   A couple of 'core' aliases could make it easier to get started with
   cordova, e.g.
   cordova plugin add @cordova-common
   cordova plugin add @cordova-test
   cordova plugin rm @cordova-test
  
   Could also be called packaged / collection /  grouped plugins.
  
   Thoughts?
  
  
 
 



Re: What's your daily workflow for cordova development?

2013-09-03 Thread Michal Mocny
I do like the idea of a `plugin watch` command, but I think we need to
consider a few points:

Our current plan for plugin upgrade is to plugin rm  plugin add.  So,
we need an keep immutable copy of the original plugin as it was during
install time in order to uninstall correctly (thought: maybe we only need
the original plugin.xml?).  I think that is the purpose of the plugins/
directory, more than anything else right now.  If we want to support any
live plugin dev, it would currently need to be in a different directory
location (outside plugins/ folder).

I really don't like that fact (seems @devgeeks agrees).  Perhaps we can fix
this situation if all thats needed is the original plugin.xml..

Also, perhaps we also add a plugin create command to set up a plugin
template?

-Michal


On Mon, Sep 2, 2013 at 9:49 PM, lmnbeyond lmnbey...@gmail.com wrote:

 + 1  love watch command idea :)

 Best Regards!



 On 2013-9-3, at 上午7:34, Brian LeRoux b...@brian.io wrote:

   automate
  add/remove with some sort of watch command. That way ppl are writing to
 the
  plugin spec from the beginning instead of refactoring a plugin out of a
  native project.




Cutting down on size of docs

2013-09-03 Thread Andrew Grieve
Anyone opposed if I delete the old rc versions of docs
(e.g. ite/public/docs/en/1.9.0rc1)

They bloat the repo and I don't think add any value.


Re: cli plugins 'alias'?

2013-09-03 Thread Braden Shepherdson
Agreed with Michal. There's actually a third option coming too: we want
apps to be able to name dependencies. So you should be able to copy in the
mobile-spec app, then `cordova plugin add` or whatever the syntax becomes,
and it will install all of the app's dependencies.

Braden


On Tue, Sep 3, 2013 at 10:00 AM, Andrew Grieve agri...@chromium.org wrote:

 Just updated the README.md to remove the pre-3.0 setup instructions.


 On Tue, Sep 3, 2013 at 9:53 AM, Michal Mocny mmo...@chromium.org wrote:

  I don't really think we need this feature:
 
  (1) We already have plugin's which support dependencies.  Combined with
 the
  plugin repository, this means your alias feature is equivalent to
 creating
  a do-nothing plugin that specifies its dependencies.
 
  (2) Also, we will soon have a way to specify application template (ie,
  replace hello world), which combined with plugin dependencies for apps,
  means that creating mobile spec will be as easy as `cordova create
  PATH_TO_MOBILE_SPEC` and adding platforms.
 
  -Michal
 
 
  On Mon, Sep 2, 2013 at 9:40 PM, lmnbeyond lmnbey...@gmail.com wrote:
 
   + 1  It's great
  
   Best Regards!
  
  
  
   On 2013-9-3, at 上午8:37, Brian LeRoux b...@brian.io wrote:
  
love this idea
   
   
On Sat, Aug 31, 2013 at 2:36 PM, Jonathan Bond-Caron 
jbo...@gdesolutions.com wrote:
   
Setting up the mobile spec app was tedious since I didn't know the
dependencies.
   
I wrote a small patch that allows to pull a plugin from a git
   subdirectory
e.g. cordova plugin add
   
  https://github.com/jbondc/cordova-labs?subdir=cordova-deps-mobile-spec
https://issues.apache.org/jira/browse/CB-4715
   
It got me thinking there might an opportunity to make this less
  tedious
with an 'alias'
   
e.g. cordova plugin add @cordova-test
   
The @ symbol signals an 'alias' (cordova-test) that cli would expand
  to
https://.../cordova-plugin-battery-status https://
   .../cordova-plugin-device
etc...
The list of plugins simply gets passed to plugman.
   
A couple of 'core' aliases could make it easier to get started with
cordova, e.g.
cordova plugin add @cordova-common
cordova plugin add @cordova-test
cordova plugin rm @cordova-test
   
Could also be called packaged / collection /  grouped plugins.
   
Thoughts?
   
   
  
  
 



RE: What's your daily workflow for cordova development?

2013-09-03 Thread Jonathan Bond-Caron
On Mon Sep 2 07:34 PM, Brian LeRoux wrote:
 Here's a shot. Ideal flow tomorrow might be to generate a plugin called, lets 
 say,
 Echo that matches something we'd find in our docs, automate add/remove
 with some sort of watch command. That way ppl are writing to the plugin spec
 from the beginning instead of refactoring a plugin out of a native project.
 
 Thoughts?
 

Two new features could be useful from cli:
a) Create an initial plugin from a template
cordova plugin create [path] [name]

e.g. 
 cordova plugin create F:/GitHub/MyPlugin MyPlugin

b)  Update all plugins from a cordova application
cordova plugins update

e.g.
 cordova create F:/CordovaApp
 cd F:/CordovaApp
 cordova plugin add F:/GitHub/MyPlugin
 cordova plugins update

The implementation is likely tricky, how to detect plugin modification? Version 
check?
I image it would remove  install the new plugin.

 cordova plugins update -local

Could  be useful to force the removal and reinstall of only local plugins (from 
a filesystem path) / under development... 

I haven't gotten around to running .spec tests but something simple as:
c) Running tests within plugin directory
cd F:/GitHub/MyPlugin
cordova plugin test

[Test #1] Passed
[Test #2] Failed: Reference error foo doesn't not exist

Would be very useful.



Re: Serve vs. opening an HTML file in the browser

2013-09-03 Thread Ray Camden
Ok, I forgot to run cordova serve. I did, and then I get the same behavior
as before. A prompt and then infinite console.log messages.

On 9/2/13 8:32 PM, Gord Tanner gtan...@gmail.com wrote:

Good news!

I have a branch that is booting projects made with cordova 3.0 [1].

It is basically a stripped down platform and I tested it booting a project
with android and ios.

To run:

 cordova create Baz
 cordova platform add android
 cordova prepare
 ripple emulate

(make sure you pick cordova 3.0.0)

I was noticing that when I ran cordova serve android it wouldn't have the
cordova_plugins.js file.

Next Steps:

- audit API's that are emulated and ensure they are up to spec (most are
just using the 2.0 emulated versions)
- reintegrate with cordova cli.

Let me know if you take this for a test drive and have any problems.

Gord





When to update version numbers?

2013-09-03 Thread Andrew Grieve
For repos that use SemVer, there are two options:

1. Update the version number at the time that the change is made
2. Update the version number only when doing a release.

Right now, #2 is what I've put in the wiki instructions, but it can be
changed of course :)

Two main reasons I think #2 will work better:
 - #1 might be too complicated (might forget to update it, may update the
version multiple times if multiple feature changes go in)
 - #2 If doing a release, you should know what you're releasing. Having to
choose the right version number will force you to understand what you're
releasing.


Re: Releases in a 3.0 World

2013-09-03 Thread Andrew Grieve
Finally finished updating the wiki's instructions to follow this proposal.

Summary of changes:

https://wiki.apache.org/cordova/VersioningAndReleaseStrategy
  - Explains our versioning strategy (SemVer vs CadVer)

https://wiki.apache.org/cordova/CommitterWorkflow
  - Extracted Pull Requst Processing into its own page (
ProcessingPullRequestshttps://wiki.apache.org/cordova/ProcessingPullRequests
)
  - Added a Which Branch to Commit To section
  - Minor tweaks to commit process:
- Mention `git rebase origin/master -i`
- Marked some steps as optional
- Linked to post-review (rbtools) install page
- Made it more explicit that you should test commits you patch in

https://wiki.apache.org/cordova/StepsForPluginRelease
  - Process to go through to update core plugins

https://wiki.apache.org/cordova/StepsForToolsRelease
  - Process to go through to update plugman / CLI

https://wiki.apache.org/cordova/CuttingReleases
  - Made it clear that it applies to Cadence Releases
  - Expanded What to test section
  - Added releasing of CLI to the steps
  - Moved Official Apache Releases to the bottom

To all steps release steps pages, I've added an Update CHANGELOG.md step.
iOS has done this forever, but I think all repos should do it.

Would love if these pages could be read by all committers. Especially the
StepsForToolsRelease page, as I've never done a tools release (and so was
somewhat guessing).

Another part I'm unsure of is where the mapping to platform repo versions
is within CLI.

There are still some points to discuss, which I will send separate emails
about :)


On Sun, Aug 18, 2013 at 11:30 PM, Ian Clelland iclell...@google.com wrote:

 On Fri, Aug 16, 2013 at 5:41 PM, Andrew Grieve agri...@chromium.org
 wrote:

  After the discussion on the group hangout + some sleeping, I think we're
  ready for a proposal... So here it is!
  - It does *not* propose any changes to our Deprecation policy. That's for
  another thread (which I'll get to on Monday if no one else does) :)
  - It does not contain how we store version numbers. That's covered here:
  http://wiki.apache.org/cordova/StoringRepoVersionsDesign
 
  Once we get to a consensus, I'll transfer this to the wiki. Please
 review 
  comment!
 
  There are two kinds of versions:
  1. SemVer (www.semver.org)
 - Used by platforms, plugman, cli
  2. CadVer (just made that up :P Cadence Version)
 - Used by cli, mobile-spec, cordova-js
 
 
 I like this, as it separates the fast-moving, feature-based semantic
 version of any given component from the API level, and interoperability
 promises, of the Cadence Version.

 What, then, is the granularity of the Cadence Version intended to be? Is is
 the 3 in Cordova 3.0, and will stay at 3 until it hits 4 next year? (Or,
 just as descriptively, we can say that it is at Cordova Fancy-Pants now,
 and eventually progress to Cordova Enraged-Wombat)

 Or is it going to have major and minor components as well, and advance
 roughly monthly, as before?


  There are two kinds of releases:
  1. Patch releases
 - Pretty much any repo can release a patch release to fix bugs at any
  time (but should have good reason)
  2. Cadence releases
 - These follow the 10 releases per year, as enumerated on:
  http://wiki.apache.org/cordova/RoadmapProjects
 
  cordova-plugins:
   - Commit only to the `dev` branch
   - Use semver for them.
 - If the version on master is 3.0.0, then the version on dev will
  start at 3.0.1-dev.
 - If any commit goes in that add a feature, then change the version on
  dev to 3.1.0-dev
 - If any commit goes in that makes an non-backwards-compatible change,
  then change the version on dev to 4.0.0-dev
   - Release plugins at most once a week (Thursdays?)
 - This *does* mean that a change that goes in Wednesday could end up
  being released the next day.
   - Release plugins all at the same time so that we can blog the release
  notes.
   - Release process:
 1. Create a JIRA issue to track the status of the release.
   a. Comments should be added to this bug after each top-level step
  below is taken
 2. For each plugin that has unreleased commits on their `dev` branch:
   a. Update its CHANGELOG file with a prettified version of git log
   b. Update its plugin.xml version by removing the -dev suffix
   c. Merge dev - master (without pushing)
   d. Update its plugin.xml version by incrementing the micro and
 adding
  -dev (as described above)
 3. Combine all plugin changelogs into a Release announcement blog post
  on cordova-website.
   a. Steps for this exist in cordova-website's README.md
 4. Test
   a. Create mobilespec using the old versions of plugins
   b. Perform a plugin upgrade for plugins that have changes (right
  now, this means doing a `plugin remove` followed by a `plugin add`
   c. Run through mobilespec, ensuring to do manual tests that relate
 to
  changes in the changelog
 5. Push!
   a. Push 

Re: Serve vs. opening an HTML file in the browser

2013-09-03 Thread Michal Mocny
Wildshot:  localhost:4400/ripple ?


On Tue, Sep 3, 2013 at 12:08 PM, Ray Camden rayca...@adobe.com wrote:

 Ok, forgive me if I did something stupid here.

 I cloned https://github.com/apache/incubator-ripple/tree/cordova-3.0. I
 did configure, jake, and then in Chrome I installed the unpacked
 extension. I chose pkg/chrome.extension. Of the three folders I assume
 that is the right one.

 I then made a new project as described below, and run ripple from
 /whereIclone/bin/ripple and I get this in terminal:

 INFO: Server instance running on: http://localhost:4400
 INFO: CORS XHR proxy service on: http://localhost:4400/ripple/xhr_proxy
 INFO: JSONP XHR proxy service on:
 http://localhost:4400/ripple/jsonp_xhr_proxy


 I then tried to hit localhost:4400 and I get Cannot GET /.

 On 9/2/13 8:32 PM, Gord Tanner gtan...@gmail.com wrote:

 Good news!
 
 I have a branch that is booting projects made with cordova 3.0 [1].
 
 It is basically a stripped down platform and I tested it booting a project
 with android and ios.
 
 To run:
 
  cordova create Baz
  cordova platform add android
  cordova prepare
  ripple emulate
 
 (make sure you pick cordova 3.0.0)
 
 I was noticing that when I ran cordova serve android it wouldn't have the
 cordova_plugins.js file.
 
 Next Steps:
 
 - audit API's that are emulated and ensure they are up to spec (most are
 just using the 2.0 emulated versions)
 - reintegrate with cordova cli.
 
 Let me know if you take this for a test drive and have any problems.
 
 Gord
 
 
 [1] - https://github.com/apache/incubator-ripple/tree/cordova-3.0
 
 
 On Wed, Aug 28, 2013 at 6:21 AM, Ray Camden rayca...@adobe.com wrote:
 
 
 
  On 8/27/13 11:41 PM, Gord Tanner gtan...@gmail.com wrote:
 
  
  I think with some tweaks we could have ripple working on all platform
  cordova.js files again.  I am going to need to version out a new
 platform
  for cordova to handle the updated hacks and overrides to boot each
  platform
  cleanly but doesn't seem like an impossible task.
 
  If you need someone to help test, just let me know.
 
  -rc
 
 




Re: When to update version numbers?

2013-09-03 Thread Michal Mocny
+1 for option #2


On Tue, Sep 3, 2013 at 12:21 PM, Andrew Grieve agri...@chromium.org wrote:

 For repos that use SemVer, there are two options:

 1. Update the version number at the time that the change is made
 2. Update the version number only when doing a release.

 Right now, #2 is what I've put in the wiki instructions, but it can be
 changed of course :)

 Two main reasons I think #2 will work better:
  - #1 might be too complicated (might forget to update it, may update the
 version multiple times if multiple feature changes go in)
  - #2 If doing a release, you should know what you're releasing. Having to
 choose the right version number will force you to understand what you're
 releasing.



When to do Official Apache Releases

2013-09-03 Thread Andrew Grieve
It's been mentioned before, but with CLI, there's not a lot of utility in
doing official apache releases (uploading signed zips to dist.apache.org).

I don't think we should stop doing these entirely, but should we still do
these for each Cadence Release? An alternative would be to do them only
once / twice a year.

Any thoughts on why / why not?

Andrew


RE: cli plugins 'alias'?

2013-09-03 Thread jbo...@openmv.com
On Tue Sep 3 10:47 AM, Braden Shepherdson wrote:
 Agreed with Michal. There's actually a third option coming too: we want
 apps
 to be able to name dependencies. So you should be able to copy
 in the mobile-
 spec app, then `cordova plugin add` or whatever the
 syntax becomes, and it will
 install all of the app's dependencies.
 

I'm less a fan of 'app dependencies', lots of frameworks and ways of thinking 
about how to organize an application. Is this a W3C, HTML5 standard?
To me this feels like Cordova would be defining what an app 'is'. That's fine 
for PhoneGap or Chrome apps but not necessarily for Cordova, at least the way I 
view the project. 

Agree with all points of Michal except:

(1) We already have plugin's which support dependencies
https://issues.apache.org/jira/browse/CB-4714

Dependencies imply those plugins are 'required', that's not the same use case 
as an alias which just expands to a bunch of plugin names.

An alias would make it easy to add plugins with 'no deps' attached. I would see 
this as part of the plugin repository discovery. Maybe people could register 
their own 'aliases':
plugin add @cordova-stuff
plugin add @chrome-stuff 
plugin add @phonegap-stuff



Re: When to do Official Apache Releases

2013-09-03 Thread Brian LeRoux
I don't see why we would ship anything other than the native platforms and
docs in an official Apache release.

We use those from the more frequently shipped CI, and plugins it just makes
good sense to stay on top of now that we have a semblance of dependency
management in Cordova.




On Tue, Sep 3, 2013 at 9:36 AM, Andrew Grieve agri...@chromium.org wrote:

 It's been mentioned before, but with CLI, there's not a lot of utility in
 doing official apache releases (uploading signed zips to dist.apache.org).

 I don't think we should stop doing these entirely, but should we still do
 these for each Cadence Release? An alternative would be to do them only
 once / twice a year.

 Any thoughts on why / why not?

 Andrew



Re: Cutting down on size of docs

2013-09-03 Thread Brian LeRoux
go for it, says I


On Tue, Sep 3, 2013 at 7:19 AM, Andrew Grieve agri...@chromium.org wrote:

 Anyone opposed if I delete the old rc versions of docs
 (e.g. ite/public/docs/en/1.9.0rc1)

 They bloat the repo and I don't think add any value.



Re: Frequency of releases

2013-09-03 Thread Michal Mocny
I like it, but I would stress that this is at most once per week, not
necessarily every week.  It should be fine to just skip a week if nothing
interesting landed.


On Tue, Sep 3, 2013 at 12:30 PM, Andrew Grieve agri...@chromium.org wrote:

 We talked a bit about how frequent to release plugins / plugman / cli
 during the hangout, but want to have a list discussion about it.

 Some points to think about:
 - It's convenient to be able to release at any time (get immediate
 feedback)
 - Users may get annoyed if we update too frequently (update once a day is
 annoying)
 - Batching releases will make release announcement blog posts feasible
 (same as last point)

 Right now, I've put on the wiki that:

 CLI, Plugman: Releases happen on Tuesdays
  Core Plugins: Releases happen on Wednesdays


 https://wiki.apache.org/cordova/VersioningAndReleaseStrategy

 I chose arbitrarily, so now's the time to actually discuss what would be
 good here. Note that this is only for feature releases, and that emergency
 patch releases can still be done at any time.

 I'm now thinking that it would be nice to release both CLI/plugman and
 plugins on the same day, and combine the blog post for them. Instead of
 having an explicit release announcement blog post, we can have a Last
 week in Cordova post similar to http://peter.sh/category/last-week/.

 Thoughts?



Re: Frequency of releases

2013-09-03 Thread Brian LeRoux
Yup, agree w/ you both.

I suspect we will see the releases slow w/ time for both plugins and the
CI. (Hope, maybe?)


On Tue, Sep 3, 2013 at 9:57 AM, Michal Mocny mmo...@chromium.org wrote:

 I like it, but I would stress that this is at most once per week, not
 necessarily every week.  It should be fine to just skip a week if nothing
 interesting landed.


 On Tue, Sep 3, 2013 at 12:30 PM, Andrew Grieve agri...@chromium.org
 wrote:

  We talked a bit about how frequent to release plugins / plugman / cli
  during the hangout, but want to have a list discussion about it.
 
  Some points to think about:
  - It's convenient to be able to release at any time (get immediate
  feedback)
  - Users may get annoyed if we update too frequently (update once a day is
  annoying)
  - Batching releases will make release announcement blog posts feasible
  (same as last point)
 
  Right now, I've put on the wiki that:
 
  CLI, Plugman: Releases happen on Tuesdays
   Core Plugins: Releases happen on Wednesdays
 
 
  https://wiki.apache.org/cordova/VersioningAndReleaseStrategy
 
  I chose arbitrarily, so now's the time to actually discuss what would be
  good here. Note that this is only for feature releases, and that
 emergency
  patch releases can still be done at any time.
 
  I'm now thinking that it would be nice to release both CLI/plugman and
  plugins on the same day, and combine the blog post for them. Instead of
  having an explicit release announcement blog post, we can have a Last
  week in Cordova post similar to http://peter.sh/category/last-week/.
 
  Thoughts?
 



Re: tagging on plugman / cli

2013-09-03 Thread Michal Mocny
If I understand correct, these tags aren't going to be used by npm, just
make it easier for us to map npm releases to git hash's?

Sounds fine, but hoping these stay well lined up over time.


On Tue, Sep 3, 2013 at 12:33 PM, Andrew Grieve agri...@chromium.org wrote:

 Right now CLI  plugman don't have git tags associated with their npm
 releases.

 I'd like to be able to do a git log latest..master in order to enumerate
 changes since the last release.

 So, I'd like to propose:
 #1 - Add a git tag for each npm release, where the tag name is the same as
 the version
 #2 - Add a git tag called latest, which points to the most recent release

 I've added this already to
 https://wiki.apache.org/cordova/StepsForToolsRelease, but wanted explicit
 buy-in here. #1 will result in a lot of tags being created over time (which
 I think is fine).

 Andrew



Re: cli plugins 'alias'?

2013-09-03 Thread Brian LeRoux
Or you could create cordova-plugin-core, cordova-plugin-chromeos, and
cordova-plugin-phonegap repos, with a plugin.xml that have the dependencies
you describe to achieve the same result.

As the other guys mentoin, there's many ways to do this now without adding
a new feature which is the most pragmatic approach. (This will be
dramatically easier and more obvious once http://plugins.cordova.io ships
at the end of hte month.)


On Tue, Sep 3, 2013 at 9:57 AM, jbo...@openmv.com jbo...@openmv.com wrote:

 On Tue Sep 3 10:47 AM, Braden Shepherdson wrote:
  Agreed with Michal. There's actually a third option coming too: we want
  apps
  to be able to name dependencies. So you should be able to copy
  in the mobile-
  spec app, then `cordova plugin add` or whatever the
  syntax becomes, and it will
  install all of the app's dependencies.
 

 I'm less a fan of 'app dependencies', lots of frameworks and ways of
 thinking about how to organize an application. Is this a W3C, HTML5
 standard?
 To me this feels like Cordova would be defining what an app 'is'. That's
 fine for PhoneGap or Chrome apps but not necessarily for Cordova, at least
 the way I view the project.

 Agree with all points of Michal except:

 (1) We already have plugin's which support dependencies
 https://issues.apache.org/jira/browse/CB-4714

 Dependencies imply those plugins are 'required', that's not the same use
 case as an alias which just expands to a bunch of plugin names.

 An alias would make it easy to add plugins with 'no deps' attached. I
 would see this as part of the plugin repository discovery. Maybe people
 could register their own 'aliases':
 plugin add @cordova-stuff
 plugin add @chrome-stuff
 plugin add @phonegap-stuff




Re: Releases in a 3.0 World

2013-09-03 Thread Braden Shepherdson
Tools release process looks good to me, but I've not done some parts of
that process before.

Braden


On Tue, Sep 3, 2013 at 12:54 PM, Michal Mocny mmo...@chromium.org wrote:

 For Strategy page:

 RE: Weekly Releases -- do we skip a release if there is nothing significant
 to push, or do we release so long as there is at least one patch?
 RE: Cadence Releases -- These releases include: platform repos,
 cordova-js, mobile-spec, cordova-docs, cordova-cli, cordova-plugman --
 clarifying that include for the sem-ver projects means only packaging
 into a zip/tarball, not that we bump versions numbers during a cadence
 release?  Or do we bump sem-ver as well?

 ==

 For plugin release page:
   # Edit version within plugin.xml based off of changes.   --- this means
 deduce the semantic effect on version right?  IE, is it a
 major/minor/point release?

 Generally, how do we prevent changes from sneaking in to core plugins
 during the time it takes release master to make the changes?  The release
 master has to commit back to Changelog.  Perhaps he/she makes that change
 directly on master, and we rebase that change back into dev after the
 release?  That way, we don't read from dev branch once a release process is
 started.

 For each plugin that had unreleased commits .. increment the micro  --
 why?

 TEST section -- suggest adding a not to the top of the guide so that you
 create mobile-spec BEFORE starting the release.  This way, you create a
 project with the old versions of plugins more easily.

 ==

 Generally these looks really good (haven't finished reading Cadence release
 doc yet, will comment on that soon).  However, while I love the code
 snippets for suggested commands, some of them look like they wouldn't work
 if you copypaste them.  Perhaps we should go through the docs on the next
 release and make it clear which are verbatim commands and which are just
 documentation-with-code.




 On Tue, Sep 3, 2013 at 12:18 PM, Andrew Grieve agri...@chromium.org
 wrote:

  Finally finished updating the wiki's instructions to follow this
 proposal.
 
  Summary of changes:
 
  https://wiki.apache.org/cordova/VersioningAndReleaseStrategy
- Explains our versioning strategy (SemVer vs CadVer)
 
  https://wiki.apache.org/cordova/CommitterWorkflow
- Extracted Pull Requst Processing into its own page (
  ProcessingPullRequests
  https://wiki.apache.org/cordova/ProcessingPullRequests
  )
- Added a Which Branch to Commit To section
- Minor tweaks to commit process:
  - Mention `git rebase origin/master -i`
  - Marked some steps as optional
  - Linked to post-review (rbtools) install page
  - Made it more explicit that you should test commits you patch in
 
  https://wiki.apache.org/cordova/StepsForPluginRelease
- Process to go through to update core plugins
 
  https://wiki.apache.org/cordova/StepsForToolsRelease
- Process to go through to update plugman / CLI
 
  https://wiki.apache.org/cordova/CuttingReleases
- Made it clear that it applies to Cadence Releases
- Expanded What to test section
- Added releasing of CLI to the steps
- Moved Official Apache Releases to the bottom
 
  To all steps release steps pages, I've added an Update CHANGELOG.md
 step.
  iOS has done this forever, but I think all repos should do it.
 
  Would love if these pages could be read by all committers. Especially the
  StepsForToolsRelease page, as I've never done a tools release (and so was
  somewhat guessing).
 
  Another part I'm unsure of is where the mapping to platform repo versions
  is within CLI.
 
  There are still some points to discuss, which I will send separate emails
  about :)
 
 
  On Sun, Aug 18, 2013 at 11:30 PM, Ian Clelland iclell...@google.com
  wrote:
 
   On Fri, Aug 16, 2013 at 5:41 PM, Andrew Grieve agri...@chromium.org
   wrote:
  
After the discussion on the group hangout + some sleeping, I think
  we're
ready for a proposal... So here it is!
- It does *not* propose any changes to our Deprecation policy. That's
  for
another thread (which I'll get to on Monday if no one else does) :)
- It does not contain how we store version numbers. That's covered
  here:
http://wiki.apache.org/cordova/StoringRepoVersionsDesign
   
Once we get to a consensus, I'll transfer this to the wiki. Please
   review 
comment!
   
There are two kinds of versions:
1. SemVer (www.semver.org)
   - Used by platforms, plugman, cli
2. CadVer (just made that up :P Cadence Version)
   - Used by cli, mobile-spec, cordova-js
   
   
   I like this, as it separates the fast-moving, feature-based semantic
   version of any given component from the API level, and interoperability
   promises, of the Cadence Version.
  
   What, then, is the granularity of the Cadence Version intended to be?
 Is
  is
   the 3 in Cordova 3.0, and will stay at 3 until it hits 4 next year?
  (Or,
   just as descriptively, we can say that it is at 

Re: When to update version numbers?

2013-09-03 Thread Braden Shepherdson
+1 for #2.


On Tue, Sep 3, 2013 at 12:55 PM, Michal Mocny mmo...@chromium.org wrote:

 +1 for option #2


 On Tue, Sep 3, 2013 at 12:21 PM, Andrew Grieve agri...@chromium.org
 wrote:

  For repos that use SemVer, there are two options:
 
  1. Update the version number at the time that the change is made
  2. Update the version number only when doing a release.
 
  Right now, #2 is what I've put in the wiki instructions, but it can be
  changed of course :)
 
  Two main reasons I think #2 will work better:
   - #1 might be too complicated (might forget to update it, may update the
  version multiple times if multiple feature changes go in)
   - #2 If doing a release, you should know what you're releasing. Having
 to
  choose the right version number will force you to understand what you're
  releasing.
 



Re: tagging on plugman / cli

2013-09-03 Thread Brian LeRoux
we should encourage `npm version` as the method to ensure things stay in
sync

(run `npm help version` to see what I'm talking about)


On Tue, Sep 3, 2013 at 10:00 AM, Michal Mocny mmo...@chromium.org wrote:

 If I understand correct, these tags aren't going to be used by npm, just
 make it easier for us to map npm releases to git hash's?

 Sounds fine, but hoping these stay well lined up over time.


 On Tue, Sep 3, 2013 at 12:33 PM, Andrew Grieve agri...@chromium.org
 wrote:

  Right now CLI  plugman don't have git tags associated with their npm
  releases.
 
  I'd like to be able to do a git log latest..master in order to
 enumerate
  changes since the last release.
 
  So, I'd like to propose:
  #1 - Add a git tag for each npm release, where the tag name is the same
 as
  the version
  #2 - Add a git tag called latest, which points to the most recent
 release
 
  I've added this already to
  https://wiki.apache.org/cordova/StepsForToolsRelease, but wanted
 explicit
  buy-in here. #1 will result in a lot of tags being created over time
 (which
  I think is fine).
 
  Andrew
 



Re: Frequency of releases

2013-09-03 Thread Braden Shepherdson
Agreed, I think this works.

I share the hope that the frequency will drop. Though it looks again this
year like the new iOS version is going to cause us some suffering.

Braden


On Tue, Sep 3, 2013 at 1:06 PM, Brian LeRoux b...@brian.io wrote:

 Yup, agree w/ you both.

 I suspect we will see the releases slow w/ time for both plugins and the
 CI. (Hope, maybe?)


 On Tue, Sep 3, 2013 at 9:57 AM, Michal Mocny mmo...@chromium.org wrote:

  I like it, but I would stress that this is at most once per week, not
  necessarily every week.  It should be fine to just skip a week if
 nothing
  interesting landed.
 
 
  On Tue, Sep 3, 2013 at 12:30 PM, Andrew Grieve agri...@chromium.org
  wrote:
 
   We talked a bit about how frequent to release plugins / plugman / cli
   during the hangout, but want to have a list discussion about it.
  
   Some points to think about:
   - It's convenient to be able to release at any time (get immediate
   feedback)
   - Users may get annoyed if we update too frequently (update once a day
 is
   annoying)
   - Batching releases will make release announcement blog posts feasible
   (same as last point)
  
   Right now, I've put on the wiki that:
  
   CLI, Plugman: Releases happen on Tuesdays
Core Plugins: Releases happen on Wednesdays
  
  
   https://wiki.apache.org/cordova/VersioningAndReleaseStrategy
  
   I chose arbitrarily, so now's the time to actually discuss what would
 be
   good here. Note that this is only for feature releases, and that
  emergency
   patch releases can still be done at any time.
  
   I'm now thinking that it would be nice to release both CLI/plugman and
   plugins on the same day, and combine the blog post for them. Instead of
   having an explicit release announcement blog post, we can have a
 Last
   week in Cordova post similar to http://peter.sh/category/last-week/.
  
   Thoughts?
  
 



Re: tagging on plugman / cli

2013-09-03 Thread Braden Shepherdson
Ooh, I didn't know about that command. I agree that it's a good way to
go... except that the wonky version numbers of the tools (3.0.0-0.10.2)
might make that impossible. Or is that valid semver?


On Tue, Sep 3, 2013 at 1:10 PM, Brian LeRoux b...@brian.io wrote:

 we should encourage `npm version` as the method to ensure things stay in
 sync

 (run `npm help version` to see what I'm talking about)


 On Tue, Sep 3, 2013 at 10:00 AM, Michal Mocny mmo...@chromium.org wrote:

  If I understand correct, these tags aren't going to be used by npm, just
  make it easier for us to map npm releases to git hash's?
 
  Sounds fine, but hoping these stay well lined up over time.
 
 
  On Tue, Sep 3, 2013 at 12:33 PM, Andrew Grieve agri...@chromium.org
  wrote:
 
   Right now CLI  plugman don't have git tags associated with their npm
   releases.
  
   I'd like to be able to do a git log latest..master in order to
  enumerate
   changes since the last release.
  
   So, I'd like to propose:
   #1 - Add a git tag for each npm release, where the tag name is the same
  as
   the version
   #2 - Add a git tag called latest, which points to the most recent
  release
  
   I've added this already to
   https://wiki.apache.org/cordova/StepsForToolsRelease, but wanted
  explicit
   buy-in here. #1 will result in a lot of tags being created over time
  (which
   I think is fine).
  
   Andrew
  
 



Re: Releases in a 3.0 World

2013-09-03 Thread Michal Mocny
For Strategy page:

RE: Weekly Releases -- do we skip a release if there is nothing significant
to push, or do we release so long as there is at least one patch?
RE: Cadence Releases -- These releases include: platform repos,
cordova-js, mobile-spec, cordova-docs, cordova-cli, cordova-plugman --
clarifying that include for the sem-ver projects means only packaging
into a zip/tarball, not that we bump versions numbers during a cadence
release?  Or do we bump sem-ver as well?

==

For plugin release page:
  # Edit version within plugin.xml based off of changes.   --- this means
deduce the semantic effect on version right?  IE, is it a
major/minor/point release?

Generally, how do we prevent changes from sneaking in to core plugins
during the time it takes release master to make the changes?  The release
master has to commit back to Changelog.  Perhaps he/she makes that change
directly on master, and we rebase that change back into dev after the
release?  That way, we don't read from dev branch once a release process is
started.

For each plugin that had unreleased commits .. increment the micro  --
why?

TEST section -- suggest adding a not to the top of the guide so that you
create mobile-spec BEFORE starting the release.  This way, you create a
project with the old versions of plugins more easily.

==

Generally these looks really good (haven't finished reading Cadence release
doc yet, will comment on that soon).  However, while I love the code
snippets for suggested commands, some of them look like they wouldn't work
if you copypaste them.  Perhaps we should go through the docs on the next
release and make it clear which are verbatim commands and which are just
documentation-with-code.




On Tue, Sep 3, 2013 at 12:18 PM, Andrew Grieve agri...@chromium.org wrote:

 Finally finished updating the wiki's instructions to follow this proposal.

 Summary of changes:

 https://wiki.apache.org/cordova/VersioningAndReleaseStrategy
   - Explains our versioning strategy (SemVer vs CadVer)

 https://wiki.apache.org/cordova/CommitterWorkflow
   - Extracted Pull Requst Processing into its own page (
 ProcessingPullRequests
 https://wiki.apache.org/cordova/ProcessingPullRequests
 )
   - Added a Which Branch to Commit To section
   - Minor tweaks to commit process:
 - Mention `git rebase origin/master -i`
 - Marked some steps as optional
 - Linked to post-review (rbtools) install page
 - Made it more explicit that you should test commits you patch in

 https://wiki.apache.org/cordova/StepsForPluginRelease
   - Process to go through to update core plugins

 https://wiki.apache.org/cordova/StepsForToolsRelease
   - Process to go through to update plugman / CLI

 https://wiki.apache.org/cordova/CuttingReleases
   - Made it clear that it applies to Cadence Releases
   - Expanded What to test section
   - Added releasing of CLI to the steps
   - Moved Official Apache Releases to the bottom

 To all steps release steps pages, I've added an Update CHANGELOG.md step.
 iOS has done this forever, but I think all repos should do it.

 Would love if these pages could be read by all committers. Especially the
 StepsForToolsRelease page, as I've never done a tools release (and so was
 somewhat guessing).

 Another part I'm unsure of is where the mapping to platform repo versions
 is within CLI.

 There are still some points to discuss, which I will send separate emails
 about :)


 On Sun, Aug 18, 2013 at 11:30 PM, Ian Clelland iclell...@google.com
 wrote:

  On Fri, Aug 16, 2013 at 5:41 PM, Andrew Grieve agri...@chromium.org
  wrote:
 
   After the discussion on the group hangout + some sleeping, I think
 we're
   ready for a proposal... So here it is!
   - It does *not* propose any changes to our Deprecation policy. That's
 for
   another thread (which I'll get to on Monday if no one else does) :)
   - It does not contain how we store version numbers. That's covered
 here:
   http://wiki.apache.org/cordova/StoringRepoVersionsDesign
  
   Once we get to a consensus, I'll transfer this to the wiki. Please
  review 
   comment!
  
   There are two kinds of versions:
   1. SemVer (www.semver.org)
  - Used by platforms, plugman, cli
   2. CadVer (just made that up :P Cadence Version)
  - Used by cli, mobile-spec, cordova-js
  
  
  I like this, as it separates the fast-moving, feature-based semantic
  version of any given component from the API level, and interoperability
  promises, of the Cadence Version.
 
  What, then, is the granularity of the Cadence Version intended to be? Is
 is
  the 3 in Cordova 3.0, and will stay at 3 until it hits 4 next year?
 (Or,
  just as descriptively, we can say that it is at Cordova Fancy-Pants
 now,
  and eventually progress to Cordova Enraged-Wombat)
 
  Or is it going to have major and minor components as well, and advance
  roughly monthly, as before?
 
 
   There are two kinds of releases:
   1. Patch releases
  - Pretty much any repo can release a patch 

Re: Frequency of releases

2013-09-03 Thread David Kemp
I like it - for clarity - I also think that the CLI and plugman should be
on the same day


On Tue, Sep 3, 2013 at 1:12 PM, Braden Shepherdson bra...@chromium.orgwrote:

 Agreed, I think this works.

 I share the hope that the frequency will drop. Though it looks again this
 year like the new iOS version is going to cause us some suffering.

 Braden


 On Tue, Sep 3, 2013 at 1:06 PM, Brian LeRoux b...@brian.io wrote:

  Yup, agree w/ you both.
 
  I suspect we will see the releases slow w/ time for both plugins and the
  CI. (Hope, maybe?)
 
 
  On Tue, Sep 3, 2013 at 9:57 AM, Michal Mocny mmo...@chromium.org
 wrote:
 
   I like it, but I would stress that this is at most once per week, not
   necessarily every week.  It should be fine to just skip a week if
  nothing
   interesting landed.
  
  
   On Tue, Sep 3, 2013 at 12:30 PM, Andrew Grieve agri...@chromium.org
   wrote:
  
We talked a bit about how frequent to release plugins / plugman / cli
during the hangout, but want to have a list discussion about it.
   
Some points to think about:
- It's convenient to be able to release at any time (get immediate
feedback)
- Users may get annoyed if we update too frequently (update once a
 day
  is
annoying)
- Batching releases will make release announcement blog posts
 feasible
(same as last point)
   
Right now, I've put on the wiki that:
   
CLI, Plugman: Releases happen on Tuesdays
 Core Plugins: Releases happen on Wednesdays
   
   
https://wiki.apache.org/cordova/VersioningAndReleaseStrategy
   
I chose arbitrarily, so now's the time to actually discuss what would
  be
good here. Note that this is only for feature releases, and that
   emergency
patch releases can still be done at any time.
   
I'm now thinking that it would be nice to release both CLI/plugman
 and
plugins on the same day, and combine the blog post for them. Instead
 of
having an explicit release announcement blog post, we can have a
  Last
week in Cordova post similar to http://peter.sh/category/last-week/
 .
   
Thoughts?
   
  
 



Re: When to update version numbers?

2013-09-03 Thread David Kemp
+1 for #2 as well


On Tue, Sep 3, 2013 at 1:10 PM, Braden Shepherdson bra...@chromium.orgwrote:

 +1 for #2.


 On Tue, Sep 3, 2013 at 12:55 PM, Michal Mocny mmo...@chromium.org wrote:

  +1 for option #2
 
 
  On Tue, Sep 3, 2013 at 12:21 PM, Andrew Grieve agri...@chromium.org
  wrote:
 
   For repos that use SemVer, there are two options:
  
   1. Update the version number at the time that the change is made
   2. Update the version number only when doing a release.
  
   Right now, #2 is what I've put in the wiki instructions, but it can be
   changed of course :)
  
   Two main reasons I think #2 will work better:
- #1 might be too complicated (might forget to update it, may update
 the
   version multiple times if multiple feature changes go in)
- #2 If doing a release, you should know what you're releasing. Having
  to
   choose the right version number will force you to understand what
 you're
   releasing.
  
 



Release Masters Component Leads

2013-09-03 Thread Andrew Grieve
I brought up this idea before (http://markmail.org/thread/75fv4ru7rd4vwrrb),
it was well received I think, but never made its way to our CuttingReleases
page. I'd like to move forward with formally introducing this concept on
our wiki page.


Component Lead:
- For each release, each repo has a Component Lead
- They perform release steps and signs off on a component (ios, android,
etc).

Release Master:
- Delegate release tasks
- Communicate release status
- Nag people responsible for unfinished tasks


Sound good?


Motivation behind making a single person the release master for a release:
 - To ensure that steps actually get done by ensuring each task has an owner
 - Improve coordination  communication during releases

Before I go and add this to the release wiki pages though:
- What should the process be for choosing the release master / component
lead?
- Have a rotation?
- Ask for volunteer each time?


Any other thoughts along the matter?


Re: tagging on plugman / cli

2013-09-03 Thread Andrew Grieve
Neat.

Just tried it out:
$ npm version 3.1.0-0.8.0-dev
v3.1.0-0.8.0-dev
$ git tag -l
...
v3.1.0-0.8.0-dev


So, it's similar to what we have for other repos, except it adds a v
prefix. The prefix seems useful I think.



On Tue, Sep 3, 2013 at 1:14 PM, Braden Shepherdson bra...@chromium.orgwrote:

 Ooh, I didn't know about that command. I agree that it's a good way to
 go... except that the wonky version numbers of the tools (3.0.0-0.10.2)
 might make that impossible. Or is that valid semver?


 On Tue, Sep 3, 2013 at 1:10 PM, Brian LeRoux b...@brian.io wrote:

  we should encourage `npm version` as the method to ensure things stay in
  sync
 
  (run `npm help version` to see what I'm talking about)
 
 
  On Tue, Sep 3, 2013 at 10:00 AM, Michal Mocny mmo...@chromium.org
 wrote:
 
   If I understand correct, these tags aren't going to be used by npm,
 just
   make it easier for us to map npm releases to git hash's?
  
   Sounds fine, but hoping these stay well lined up over time.
  
  
   On Tue, Sep 3, 2013 at 12:33 PM, Andrew Grieve agri...@chromium.org
   wrote:
  
Right now CLI  plugman don't have git tags associated with their npm
releases.
   
I'd like to be able to do a git log latest..master in order to
   enumerate
changes since the last release.
   
So, I'd like to propose:
#1 - Add a git tag for each npm release, where the tag name is the
 same
   as
the version
#2 - Add a git tag called latest, which points to the most recent
   release
   
I've added this already to
https://wiki.apache.org/cordova/StepsForToolsRelease, but wanted
   explicit
buy-in here. #1 will result in a lot of tags being created over time
   (which
I think is fine).
   
Andrew
   
  
 



Re: Serve vs. opening an HTML file in the browser

2013-09-03 Thread Ray Camden
No go. I mean the command ran of course, but upon opening it up in my
browser, I got the same.


On 9/3/13 12:30 PM, Gord Tanner gtan...@gmail.com wrote:

You will need to run:

ripple emulate --path /path/to/cordova/project/platform/android/assets/www

Let me know if that works for you.


On Tue, Sep 3, 2013 at 12:27 PM, Ray Camden rayca...@adobe.com wrote:

 Ok, I forgot to run cordova serve. I did, and then I get the same
behavior
 as before. A prompt and then infinite console.log messages.

 On 9/2/13 8:32 PM, Gord Tanner gtan...@gmail.com wrote:

 Good news!
 
 I have a branch that is booting projects made with cordova 3.0 [1].
 
 It is basically a stripped down platform and I tested it booting a
project
 with android and ios.
 




Frequency of releases

2013-09-03 Thread Andrew Grieve
We talked a bit about how frequent to release plugins / plugman / cli
during the hangout, but want to have a list discussion about it.

Some points to think about:
- It's convenient to be able to release at any time (get immediate feedback)
- Users may get annoyed if we update too frequently (update once a day is
annoying)
- Batching releases will make release announcement blog posts feasible
(same as last point)

Right now, I've put on the wiki that:

CLI, Plugman: Releases happen on Tuesdays
 Core Plugins: Releases happen on Wednesdays


https://wiki.apache.org/cordova/VersioningAndReleaseStrategy

I chose arbitrarily, so now's the time to actually discuss what would be
good here. Note that this is only for feature releases, and that emergency
patch releases can still be done at any time.

I'm now thinking that it would be nice to release both CLI/plugman and
plugins on the same day, and combine the blog post for them. Instead of
having an explicit release announcement blog post, we can have a Last
week in Cordova post similar to http://peter.sh/category/last-week/.

Thoughts?


Re: lib-file for Android, plugman crash

2013-09-03 Thread Axel Nennker
Hi,

could a committer please look at this pull request and maybe merge it into
master if ok?

thanks
Axel

https://github.com/apache/cordova-plugman/pull/19
https://issues.apache.org/jira/browse/CB-4430#comment-13749605



2013/9/2 Shazron shaz...@gmail.com

 I believe your iCLA has been received. You are listed here already:
 http://people.apache.org/committer-index.html#unlistedclas



 On Mon, Sep 2, 2013 at 1:36 PM, Axel Nennker ignisvul...@gmail.com
 wrote:

  Hi Filip
  Did you get the icla?
  Best
  Axel
  Am 27.08.2013 17:14 schrieb Filip Maj maj@gmail.com:
 
   Have you signed and sent in an Apache ICLA?
   On 2013-08-27 8:10 AM, Axel Nennker ignisvul...@gmail.com wrote:
  
You'r welcome. How does this go forward? There are more things I
 would
   fix
after this is merged.
   
  
 



Re: Frequency of releases

2013-09-03 Thread Anis KADRI
+1

On Tue, Sep 3, 2013 at 10:22 AM, David Kemp drk...@google.com wrote:
 I like it - for clarity - I also think that the CLI and plugman should be
 on the same day


 On Tue, Sep 3, 2013 at 1:12 PM, Braden Shepherdson bra...@chromium.orgwrote:

 Agreed, I think this works.

 I share the hope that the frequency will drop. Though it looks again this
 year like the new iOS version is going to cause us some suffering.

 Braden


 On Tue, Sep 3, 2013 at 1:06 PM, Brian LeRoux b...@brian.io wrote:

  Yup, agree w/ you both.
 
  I suspect we will see the releases slow w/ time for both plugins and the
  CI. (Hope, maybe?)
 
 
  On Tue, Sep 3, 2013 at 9:57 AM, Michal Mocny mmo...@chromium.org
 wrote:
 
   I like it, but I would stress that this is at most once per week, not
   necessarily every week.  It should be fine to just skip a week if
  nothing
   interesting landed.
  
  
   On Tue, Sep 3, 2013 at 12:30 PM, Andrew Grieve agri...@chromium.org
   wrote:
  
We talked a bit about how frequent to release plugins / plugman / cli
during the hangout, but want to have a list discussion about it.
   
Some points to think about:
- It's convenient to be able to release at any time (get immediate
feedback)
- Users may get annoyed if we update too frequently (update once a
 day
  is
annoying)
- Batching releases will make release announcement blog posts
 feasible
(same as last point)
   
Right now, I've put on the wiki that:
   
CLI, Plugman: Releases happen on Tuesdays
 Core Plugins: Releases happen on Wednesdays
   
   
https://wiki.apache.org/cordova/VersioningAndReleaseStrategy
   
I chose arbitrarily, so now's the time to actually discuss what would
  be
good here. Note that this is only for feature releases, and that
   emergency
patch releases can still be done at any time.
   
I'm now thinking that it would be nice to release both CLI/plugman
 and
plugins on the same day, and combine the blog post for them. Instead
 of
having an explicit release announcement blog post, we can have a
  Last
week in Cordova post similar to http://peter.sh/category/last-week/
 .
   
Thoughts?
   
  
 



Re: When to update version numbers?

2013-09-03 Thread Anis KADRI
+1 for number 2

On Tue, Sep 3, 2013 at 10:16 AM, David Kemp drk...@google.com wrote:
 +1 for #2 as well


 On Tue, Sep 3, 2013 at 1:10 PM, Braden Shepherdson bra...@chromium.orgwrote:

 +1 for #2.


 On Tue, Sep 3, 2013 at 12:55 PM, Michal Mocny mmo...@chromium.org wrote:

  +1 for option #2
 
 
  On Tue, Sep 3, 2013 at 12:21 PM, Andrew Grieve agri...@chromium.org
  wrote:
 
   For repos that use SemVer, there are two options:
  
   1. Update the version number at the time that the change is made
   2. Update the version number only when doing a release.
  
   Right now, #2 is what I've put in the wiki instructions, but it can be
   changed of course :)
  
   Two main reasons I think #2 will work better:
- #1 might be too complicated (might forget to update it, may update
 the
   version multiple times if multiple feature changes go in)
- #2 If doing a release, you should know what you're releasing. Having
  to
   choose the right version number will force you to understand what
 you're
   releasing.
  
 



RE: cli plugins 'alias'?

2013-09-03 Thread Jonathan Bond-Caron
On Tue Sep 3 01:09 PM, Brian LeRoux wrote:
 Or you could create cordova-plugin-core, cordova-plugin-chromeos, and
 cordova-plugin-phonegap repos, with a plugin.xml that have the
 dependencies
 you describe to achieve the same result.
 
 As the other guys mentoin, there's many ways to do this now without
 adding a
 new feature which is the most pragmatic approach. (This will
 be dramatically
 easier and more obvious once
 http://plugins.cordova.io ships at the end of hte
 month.)
 

Sounds good to wait and see, might be ok to just distinguish required vs. 
non-required

dependency id=org.apache.cordova.test.echo 
url=https://github.com/jbondc/cordova-labs.git; subdir=cordova-plugin-echo 
required=false / 


Re: cli plugins 'alias'?

2013-09-03 Thread Anis KADRI
On Tue, Sep 3, 2013 at 10:09 AM, Brian LeRoux b...@brian.io wrote:
 Or you could create cordova-plugin-core, cordova-plugin-chromeos, and
 cordova-plugin-phonegap repos, with a plugin.xml that have the dependencies
 you describe to achieve the same result.

 As the other guys mentoin, there's many ways to do this now without adding
 a new feature which is the most pragmatic approach. (This will be
 dramatically easier and more obvious once http://plugins.cordova.io ships
 at the end of hte month.)

+1


Re: Serve vs. opening an HTML file in the browser

2013-09-03 Thread Gord Tanner
You will need to run:

ripple emulate --path /path/to/cordova/project/platform/android/assets/www

Let me know if that works for you.


On Tue, Sep 3, 2013 at 12:27 PM, Ray Camden rayca...@adobe.com wrote:

 Ok, I forgot to run cordova serve. I did, and then I get the same behavior
 as before. A prompt and then infinite console.log messages.

 On 9/2/13 8:32 PM, Gord Tanner gtan...@gmail.com wrote:

 Good news!
 
 I have a branch that is booting projects made with cordova 3.0 [1].
 
 It is basically a stripped down platform and I tested it booting a project
 with android and ios.
 
 To run:
 
  cordova create Baz
  cordova platform add android
  cordova prepare
  ripple emulate
 
 (make sure you pick cordova 3.0.0)
 
 I was noticing that when I ran cordova serve android it wouldn't have the
 cordova_plugins.js file.
 
 Next Steps:
 
 - audit API's that are emulated and ensure they are up to spec (most are
 just using the 2.0 emulated versions)
 - reintegrate with cordova cli.
 
 Let me know if you take this for a test drive and have any problems.
 
 Gord
 
 




Re: Release Masters Component Leads

2013-09-03 Thread Michal Mocny
Volunteer maps well to hows its been done implicitly.  If you cannot take a
given week, find a sensible replacement.

Rotation among willing folks makes some sense in terms of passing down of
knowledge.

-Michal


On Tue, Sep 3, 2013 at 12:51 PM, Andrew Grieve agri...@chromium.org wrote:

 I brought up this idea before (http://markmail.org/thread/75fv4ru7rd4vwrrb
 ),
 it was well received I think, but never made its way to our CuttingReleases
 page. I'd like to move forward with formally introducing this concept on
 our wiki page.


 Component Lead:
 - For each release, each repo has a Component Lead
 - They perform release steps and signs off on a component (ios, android,
 etc).

 Release Master:
 - Delegate release tasks
 - Communicate release status
 - Nag people responsible for unfinished tasks

 
 Sound good?


 Motivation behind making a single person the release master for a
 release:
  - To ensure that steps actually get done by ensuring each task has an
 owner
  - Improve coordination  communication during releases

 Before I go and add this to the release wiki pages though:
 - What should the process be for choosing the release master / component
 lead?
 - Have a rotation?
 - Ask for volunteer each time?


 Any other thoughts along the matter?



Re: When to update version numbers?

2013-09-03 Thread Joe Bowser
+1 for #2

On Tue, Sep 3, 2013 at 11:38 AM, Anis KADRI anis.ka...@gmail.com wrote:
 +1 for number 2

 On Tue, Sep 3, 2013 at 10:16 AM, David Kemp drk...@google.com wrote:
 +1 for #2 as well


 On Tue, Sep 3, 2013 at 1:10 PM, Braden Shepherdson 
 bra...@chromium.orgwrote:

 +1 for #2.


 On Tue, Sep 3, 2013 at 12:55 PM, Michal Mocny mmo...@chromium.org wrote:

  +1 for option #2
 
 
  On Tue, Sep 3, 2013 at 12:21 PM, Andrew Grieve agri...@chromium.org
  wrote:
 
   For repos that use SemVer, there are two options:
  
   1. Update the version number at the time that the change is made
   2. Update the version number only when doing a release.
  
   Right now, #2 is what I've put in the wiki instructions, but it can be
   changed of course :)
  
   Two main reasons I think #2 will work better:
- #1 might be too complicated (might forget to update it, may update
 the
   version multiple times if multiple feature changes go in)
- #2 If doing a release, you should know what you're releasing. Having
  to
   choose the right version number will force you to understand what
 you're
   releasing.
  
 



Re: What's your daily workflow for cordova development?

2013-09-03 Thread Anis KADRI
This would be my ideal workflow

$ cordova plugin add /path/to/plugin
$ cordova plugin watch /path/to/plugin # detects if plugin is
installed (otherwise fails), watches for changes and automatically
updates CLIPROJECT/plugins and re-runs prepare.

maybe even `add --watch` (CTRL+C to cancel).

We don't have to worry about version numbers. We can just watch the
filesystem for changes (and there are node packages that do that such
as chokidar [1])

I think update/upgrade for plugins and cordova are more for app
developers than plugin developers.

As far as testing, I think it should be part of the plugin itself and
not part of giant test suite (like mobile-spec). Also I remember us
talking about giving the freedom to use whatever testing framework
they want as long as it spits out a proper test result format. Was it
TAP [2]?

[1] https://github.com/paulmillr/chokidar
[2] http://en.wikipedia.org/wiki/Test_Anything_Protocol

On Tue, Sep 3, 2013 at 8:50 AM, Braden Shepherdson bra...@chromium.org wrote:
 Responses inline.


 On Tue, Sep 3, 2013 at 11:07 AM, Jonathan Bond-Caron 
 jbo...@gdesolutions.com wrote:

 On Mon Sep 2 07:34 PM, Brian LeRoux wrote:
  Here's a shot. Ideal flow tomorrow might be to generate a plugin called,
 lets say,
  Echo that matches something we'd find in our docs, automate add/remove
  with some sort of watch command. That way ppl are writing to the plugin
 spec
  from the beginning instead of refactoring a plugin out of a native
 project.
 
  Thoughts?
 

 Two new features could be useful from cli:
 a) Create an initial plugin from a template
 cordova plugin create [path] [name]

 e.g.
  cordova plugin create F:/GitHub/MyPlugin MyPlugin


 I agree, this would be useful. It's pretty easy to implement, just not a
 high priority. Do you want to file a JIRA ticket for it?


 b)  Update all plugins from a cordova application
 cordova plugins update

 e.g.
  cordova create F:/CordovaApp
  cd F:/CordovaApp
  cordova plugin add F:/GitHub/MyPlugin
  cordova plugins update

 The implementation is likely tricky, how to detect plugin modification?
 Version check?
 I image it would remove  install the new plugin.

  cordova plugins update -local

 Could  be useful to force the removal and reinstall of only local plugins
 (from a filesystem path) / under development...


 There are plans for an cordova plugin upgrade [foo] command, but you're
 correct that it's tricky, how we handle dependencies and so on. I've got a
 draft of a plan for it, but I haven't finished it and sent it around.

 I think the ideal solution to the larger problem of in-place-updating
 plugins would be to have the plugin installation logic running on every
 prepare (and then a cordova watch command that re-runs prepare when the
 plugins change). My ideal flow is:
 - I add the plugin via symlink, so that it's pointing to the same place on
 disk.
 - I change some file, native or JS or even plugin.xml
 - cordova watch notices that and re-runs prepare, which updates everything
 properly.

 But that takes some doing: what if I removed or renamed a native file? It
 needs to know which one so that it can be removed, but for that it needs to
 cache the old plugin.xml, etc. etc. All of these are solvable problems, but
 it will be some time before all the pieces are in place for this flow.

 Ultimately, we need to optimize first for app developers, and then for
 plugin developers. On the other hand, the fact that we're now concerned
 with the latter suggests that the main app developer flow is pretty solid,
 which I think it is. With the exception of how painful it currently is to
 update a platform (rather than a plugin), but we've got plans under
 discussion for that problem too.


 I haven't gotten around to running .spec tests but something simple as:
 c) Running tests within plugin directory
 cd F:/GitHub/MyPlugin
 cordova plugin test

 [Test #1] Passed
 [Test #2] Failed: Reference error foo doesn't not exist

 Would be very useful.


 We want some kind of per-plugin testing story, rather than our big
 mobile-spec test suite. There are enough problems and questions here,
 though, that we've just left things as they are for now. That is, one
 monolithic mobile-spec for all of Cordova's core plugins, and plugin
 authors are on their own - which generally means that third-party plugins
 have no tests :(

 Braden


Re: cli plugins 'alias'?

2013-09-03 Thread Michal Mocny
I think we've had that feature request before (specifically referring to
iOS console Logger plugin, being an optional dependency of the platform).

I don't think its been implemented, and I cannot find a JIRA issue, so
filed: CB-4735

-Michal

On Tue, Sep 3, 2013 at 2:56 PM, Jonathan Bond-Caron jbo...@gdesolutions.com
 wrote:

 On Tue Sep 3 01:09 PM, Brian LeRoux wrote:
  Or you could create cordova-plugin-core, cordova-plugin-chromeos, and
  cordova-plugin-phonegap repos, with a plugin.xml that have the
  dependencies
  you describe to achieve the same result.
 
  As the other guys mentoin, there's many ways to do this now without
  adding a
  new feature which is the most pragmatic approach. (This will
  be dramatically
  easier and more obvious once
  http://plugins.cordova.io ships at the end of hte
  month.)
 

 Sounds good to wait and see, might be ok to just distinguish required vs.
 non-required

 dependency id=org.apache.cordova.test.echo url=
 https://github.com/jbondc/cordova-labs.git; subdir=cordova-plugin-echo
 required=false /



Re: New iOS 7 UI and backwards compatibility

2013-09-03 Thread Andrew Grieve
Shaz, can you test this fix? (I haven't gotten on the 4.5 bandwagon yet)


On Tue, Sep 3, 2013 at 10:59 AM, PJ Dillon p...@sulia.com wrote:

 For our purposes, CDVSplashScreen.m (as of 2.9.0) just needed a test for
 the OS version when calculating the image bounds:

 diff --git a/CordovaLib/Classes/CDVSplashScreen.m
 b/CordovaLib/Classes/CDVSplashScreen.m
 index fdb79fa..809ce35 100644
 --- a/CordovaLib/Classes/CDVSplashScreen.m
 +++ b/CordovaLib/Classes/CDVSplashScreen.m
 @@ -170,7 +170,9 @@
  // There's a special case when the image is the size of the screen.
  if (CGSizeEqualToSize(screenSize, imgBounds.size)) {
  CGRect statusFrame = [self.viewController.view
 convertRect:[UIApplication sharedApplication].statusBarFrame fromView:nil];
 -imgBounds.origin.y -= statusFrame.size.height;
 +if (floor(NSFoundationVersionNumber) =
 NSFoundationVersionNumber_iOS_6_1) {
 +imgBounds.origin.y -= statusFrame.size.height;
 +}
  } else {
  CGRect viewBounds = self.viewController.view.bounds;
  CGFloat imgAspect = imgBounds.size.width / imgBounds.size.height;


 On Tue, Jul 16, 2013 at 11:38 AM, Kerri Shotts kerrisho...@gmail.com
 wrote:

  Would help if I paid attention to which group things are in... ;) thought
  it was in the main forum for some reason (not enough caffeine).
 
  Do file bugs; filing bugs is pretty safe (since how else can devs fix
  issues related to iOS7.)
 
  That said, I would still expect the support to be an issue, since
 something
  could easily break in beta 4. In fact people on the forums have been
  complaining about breaks between beta 2 and 3.
 
  Also, do search the forums for the status bar piece (unless that has been
  dealt with in 2.9.0/3.0) since there is a really simple line of code you
  can add to get back to iOS6 metrics. (Side note: clearly Apple wants us
 to
  go this new direction, so whether or not PG should even build this in by
  default is debatable in my opinion. We all, native and non-native devs
  alike have to live in this new world and adjust our UI to reflect what
  makes sense here for each app. Perhaps a config.xml setting might be
  useful, though, although it should be equally doable in JS/CSS/HTML to do
  the required changes. Do note that this is not just a hardship faced by
 us:
  all native devs are also having to take a hard look at their app and
  statistics to see if supporting iOS 6 and 7 is feasible or not, and
 judging
  from the forum, a large number are going iOS7 only.  )
 
  Sent from my phone.
 
  ___
  Kerri Shotts
  photoKandy Studios, LLC
 
  On the Web: http://www.photokandy.com/
 
  Social Media:
Twitter: @photokandy, http://twitter.com/photokandy
Tumblr: http://photokandy.tumblr.com/
Github: https://github.com/kerrishotts
 
 https://github.com/organizations/photokandyStudios
CoderWall: https://coderwall.com/kerrishotts
 
  Apps on the Apple Store:
 
  https://itunes.apple.com/us/artist/photokandy-studios-llc/id498577828
 
  Books:
 
  http://www.packtpub.com/phonegap-2-mobile-application-hotshot/book
http://www.packtpub.com/phonegap-social-app-development/book
 
  On Jul 16, 2013, at 10:14, Andrew Grieve agri...@chromium.org wrote:
 
  There have been no splash screen fixes since 2.9.0 that I'm aware of.
  Please file a bug on our jira:https://issues.apache.org/jira/browse/CB
 
 
  On Tue, Jul 16, 2013 at 10:56 AM, PJ Dillon p...@sulia.com wrote:
 
  Hi,
 
 
  I haven't found any discussion about this searching through my mail. But
 
  the UI is broken in iOS 7. I actually don't know if I'm allowed to
 discuss
 
  the details. It's glaringly obvious, though, and it makes compatibility
 
  with iOS 6 somewhat of a chore for cordova-based apps, especially with
 the
 
  position splash screen unless I'm mistaken.
 
 
  So, before I go hacking around with our view controller to accommodate
 both
 
  6  7, has this been taken care of already, and I'm just overlooking it?
 
 
  We're trying to get an app out the door as soon as iOS 7 launches.
 
 
  Thanks,
 
 
  PJ Dillon
 
  Sulia, Inc
 



urlutil.js

2013-09-03 Thread Joe Bowser
Hey

I just pulled the latest Cordova JS and I noticed that urlutil has
failing tests.  What is urlutil for, and why are the tests failing?
Should I care about this beyond the fact that I dislike failing tests?

Joe


Re: Cutting down on size of docs

2013-09-03 Thread Simon MacDonald
Can we get them off the docs website as well? They don't provide much
value once the release is officially out.
Simon Mac Donald
http://hi.im/simonmacdonald


On Tue, Sep 3, 2013 at 8:25 PM, Tommy-Carlos Williams
to...@devgeeks.org wrote:
 +1

 I think they even actively add confusion.



 On 04/09/2013, at 2:37 AM, Brian LeRoux b...@brian.io wrote:

 go for it, says I


 On Tue, Sep 3, 2013 at 7:19 AM, Andrew Grieve agri...@chromium.org wrote:

 Anyone opposed if I delete the old rc versions of docs
 (e.g. ite/public/docs/en/1.9.0rc1)

 They bloat the repo and I don't think add any value.




Non-Git Plugin Dependencies

2013-09-03 Thread Jeffrey Heifetz
We were working on a redistribution of Cordova that included some plugins and 
ran into a use-case not covered by the current plugin spec.[1]

Currently there are two ways to specify a dependency
1. Using a combination of url, commit and subdir which plugman will use to 
clone down a repo and install
2. Set the url to ., skip the commit and specify a subdir relative to the 
root of the repo. Plugman then runs git-rev parse to find the root and install 
from there.

I would like to propose a third way which would be relative to the current 
install and not use git at all
3. Skip the url, skip the commit and specify a subdir relative to the current 
plugin.xml.

This would allow us to distribute a version of cordova with plugins to anyone 
without an unnecessary requirement on git (considering the plugins are fully 
installed)



1. http://cordova.apache.org/docs/en/3.0.0/plugin_ref_spec.md.html

-
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.


Re: Non-Git Plugin Dependencies

2013-09-03 Thread Michal Mocny
Sounds reasonable to me.

Conceptually, I'm not sure why the syntax for (2) shouldn't do what you
request when the url for the original plugin was a local path?  Maybe just
a bug?

-Michal


On Tue, Sep 3, 2013 at 9:38 PM, Jeffrey Heifetz jheif...@blackberry.comwrote:

 We were working on a redistribution of Cordova that included some plugins
 and ran into a use-case not covered by the current plugin spec.[1]

 Currently there are two ways to specify a dependency
 1. Using a combination of url, commit and subdir which plugman will use to
 clone down a repo and install
 2. Set the url to ., skip the commit and specify a subdir relative to
 the root of the repo. Plugman then runs git-rev parse to find the root and
 install from there.

 I would like to propose a third way which would be relative to the current
 install and not use git at all
 3. Skip the url, skip the commit and specify a subdir relative to the
 current plugin.xml.

 This would allow us to distribute a version of cordova with plugins to
 anyone without an unnecessary requirement on git (considering the plugins
 are fully installed)



 1. http://cordova.apache.org/docs/en/3.0.0/plugin_ref_spec.md.html

 -
 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.



Re: Non-Git Plugin Dependencies

2013-09-03 Thread Michal Mocny
Mulling this over a bit, I think I would like a solution for specifying
dependancies that would work regardless of where/how the plugins are
hosted, git or local.  If you had:

BB_PLUGINS/
- plug1/
- plug2/
...

(and plug1 depends on plug2), then:

cordova plugin add LOCAL/PATH/TO/BB_PLUGINS/plug1..and..   cordova
plugin add GIT_REPO:BB_PLUGINS/plug1

..should both work without changing all of the dependency tags in plug1.
 Actually, the plugin author should not have an explicit say in how a user
manages these directories (except in the directory structure).  Note that
this situation applies whenever a user clones your plugin repo to locally,
or for the reverse direction, when ever they add your plugins into their
teams' git repo.


Right now, thats not possible, because when installing from local path with
url=. there is no way to know which of the plugins parent directories to
consider as the root.  We could resolve this using several ways, among
them:

(1) Jeffreys proposal: dropping the url=. means path relative to this
plugin (note however, that I propose it also works when installing from a
git repo).  Deprecate/warn against using url=..

(2) Support a new special file to mark the plugin root dir so we can walk
the directory tree to find the valid target for url=. (ie, replace the
requirement for a .git with a requirement for a .cordova_repo, which BB and
others could place within their plugin bundle).


I like (1).

-Michal


On Tue, Sep 3, 2013 at 9:54 PM, Michal Mocny mmo...@chromium.org wrote:

 Sounds reasonable to me.

 Conceptually, I'm not sure why the syntax for (2) shouldn't do what you
 request when the url for the original plugin was a local path?  Maybe just
 a bug?

 -Michal


 On Tue, Sep 3, 2013 at 9:38 PM, Jeffrey Heifetz 
 jheif...@blackberry.comwrote:

 We were working on a redistribution of Cordova that included some plugins
 and ran into a use-case not covered by the current plugin spec.[1]

 Currently there are two ways to specify a dependency
 1. Using a combination of url, commit and subdir which plugman will use
 to clone down a repo and install
 2. Set the url to ., skip the commit and specify a subdir relative to
 the root of the repo. Plugman then runs git-rev parse to find the root and
 install from there.

 I would like to propose a third way which would be relative to the
 current install and not use git at all
 3. Skip the url, skip the commit and specify a subdir relative to the
 current plugin.xml.

 This would allow us to distribute a version of cordova with plugins to
 anyone without an unnecessary requirement on git (considering the plugins
 are fully installed)



 1. http://cordova.apache.org/docs/en/3.0.0/plugin_ref_spec.md.html

 -
 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.





Re: Cutting down on size of docs

2013-09-03 Thread Andrew Grieve
Zapped.


On Tue, Sep 3, 2013 at 8:37 PM, Simon MacDonald
simon.macdon...@gmail.comwrote:

 Can we get them off the docs website as well? They don't provide much
 value once the release is officially out.
 Simon Mac Donald
 http://hi.im/simonmacdonald


 On Tue, Sep 3, 2013 at 8:25 PM, Tommy-Carlos Williams
 to...@devgeeks.org wrote:
  +1
 
  I think they even actively add confusion.
 
 
 
  On 04/09/2013, at 2:37 AM, Brian LeRoux b...@brian.io wrote:
 
  go for it, says I
 
 
  On Tue, Sep 3, 2013 at 7:19 AM, Andrew Grieve agri...@chromium.org
 wrote:
 
  Anyone opposed if I delete the old rc versions of docs
  (e.g. ite/public/docs/en/1.9.0rc1)
 
  They bloat the repo and I don't think add any value.
 
 



Re: Merge plugin dev branchs into master

2013-09-03 Thread Andrew Grieve
Just to loop back on this - I've updated the
https://wiki.apache.org/cordova/CommitterWorkflow to include a section at
the bottom on which branch to commit against.


On Thu, Aug 29, 2013 at 4:00 PM, Becky Gibson gibson.be...@gmail.comwrote:

 Yes, updating the wiki would be helpful.  I'd like to submit a fix but
 since I don't follow this list all this time, I'm not sure if I should be
 working off of dev or master.  Based on the above thread I think dev?

 thanks,
 -becky


 On Thu, Aug 29, 2013 at 11:48 AM, Andrew Grieve agri...@chromium.org
 wrote:

  Steve, did you do this? I didn't notice a JIRA issue or blog post.
 
 
  On Fri, Aug 16, 2013 at 10:59 AM, Andrew Grieve agri...@chromium.org
  wrote:
 
   Thought of another step!
  
   Generate a changelog, and turn it into a blog post so that people will
   know about the update :)
  
  
   On Thu, Aug 15, 2013 at 4:59 PM, Steven Gill stevengil...@gmail.com
  wrote:
  
   Thanks for the feedback Andrew!
  
   Sounds good to me. I am going to go through these steps today.
  
  
   On Thu, Aug 15, 2013 at 12:07 PM, Andrew Grieve agri...@chromium.org
   wrote:
  
Great! I agree it's time someone take a stab at this!
   
   
On Thu, Aug 15, 2013 at 3:00 PM, Steven Gill 
 stevengil...@gmail.com
wrote:
   
 I want to try and flush out the process for merging the dev
 branches
   for
 the core plugins into master and get it onto the wiki.

 Currently the dev branches have some readme changes, namespace
  changes
and
 package changes for android.

 I don't believe any of these changes should be breaking changes.

 Process
 1. Create issue on jira for running mobile spec tests on all
  platforms
 using dev branch of plugins
 2. Test on all platforms
 3. Merge in change into master
 4. Publish to plugins.cordova.io?

 Do we really need to test the plugins on all the platforms for
  changes
that
 won't affect them at all?

I think no. And we should only test plugins that have changes to
 them
   (in
this case all of them).
   
Should add in bumping of the version number.
   
I think one thing to add to the process is to create mobilespec with
  the
existing versions of plugins, then `cordova plugin rm` them all,
 then
`cordova plugin add` the new ones using a URL that points to the dev
branch. aka, test out the upgrade process.
   
  
  
  
 



Re: urlutil.js

2013-09-03 Thread Andrew Grieve
likely need to update your node_modules.


On Tue, Sep 3, 2013 at 7:25 PM, Joe Bowser bows...@gmail.com wrote:

 Hey

 I just pulled the latest Cordova JS and I noticed that urlutil has
 failing tests.  What is urlutil for, and why are the tests failing?
 Should I care about this beyond the fact that I dislike failing tests?

 Joe



Re: Non-Git Plugin Dependencies

2013-09-03 Thread Andrew Grieve
Agree the use-case is valid. Here's a variation on (1) that I think is
marginally nicer:

url=. to be made optional, but default value is .
subdir= works only with git repos and is always relative to the root of
the repo.
path= works with git repos or local paths and is relative to the
plugin.xml of the current plugin. You can't have url or subdir if you
have path.

Support was just added for specifying commit and path within url. So, we
could actually just deprecate subdir. and have url or path

E.g.: url=some/path.git would specify a git URL relative to the current
plugin's git url.
E.g.: url=#branch2 would specify a branch on the current URL
(cordova-labs style)
E.g.: url=#branch2:plugins/A would specify a branch on the current URL
plus a subdir within it.
E.g.: url=#:plugins/A would be invalid. (Use path if you just want to set
the path)
E.g.: path=../B is always a relative fs path. If the current plugin is
from git, then be careful not to go above the git root.


On Tue, Sep 3, 2013 at 10:27 PM, Michal Mocny mmo...@chromium.org wrote:

 Mulling this over a bit, I think I would like a solution for specifying
 dependancies that would work regardless of where/how the plugins are
 hosted, git or local.  If you had:

 BB_PLUGINS/
 - plug1/
 - plug2/
 ...

 (and plug1 depends on plug2), then:

 cordova plugin add LOCAL/PATH/TO/BB_PLUGINS/plug1..and..   cordova
 plugin add GIT_REPO:BB_PLUGINS/plug1

 ..should both work without changing all of the dependency tags in plug1.
  Actually, the plugin author should not have an explicit say in how a user
 manages these directories (except in the directory structure).  Note that
 this situation applies whenever a user clones your plugin repo to locally,
 or for the reverse direction, when ever they add your plugins into their
 teams' git repo.


 Right now, thats not possible, because when installing from local path with
 url=. there is no way to know which of the plugins parent directories to
 consider as the root.  We could resolve this using several ways, among
 them:

 (1) Jeffreys proposal: dropping the url=. means path relative to this
 plugin (note however, that I propose it also works when installing from a
 git repo).  Deprecate/warn against using url=..

 (2) Support a new special file to mark the plugin root dir so we can walk
 the directory tree to find the valid target for url=. (ie, replace the
 requirement for a .git with a requirement for a .cordova_repo, which BB and
 others could place within their plugin bundle).


 I like (1).

 -Michal


 On Tue, Sep 3, 2013 at 9:54 PM, Michal Mocny mmo...@chromium.org wrote:

  Sounds reasonable to me.
 
  Conceptually, I'm not sure why the syntax for (2) shouldn't do what you
  request when the url for the original plugin was a local path?  Maybe
 just
  a bug?
 
  -Michal
 
 
  On Tue, Sep 3, 2013 at 9:38 PM, Jeffrey Heifetz jheif...@blackberry.com
 wrote:
 
  We were working on a redistribution of Cordova that included some
 plugins
  and ran into a use-case not covered by the current plugin spec.[1]
 
  Currently there are two ways to specify a dependency
  1. Using a combination of url, commit and subdir which plugman will use
  to clone down a repo and install
  2. Set the url to ., skip the commit and specify a subdir relative to
  the root of the repo. Plugman then runs git-rev parse to find the root
 and
  install from there.
 
  I would like to propose a third way which would be relative to the
  current install and not use git at all
  3. Skip the url, skip the commit and specify a subdir relative to the
  current plugin.xml.
 
  This would allow us to distribute a version of cordova with plugins to
  anyone without an unnecessary requirement on git (considering the
 plugins
  are fully installed)
 
 
 
  1. http://cordova.apache.org/docs/en/3.0.0/plugin_ref_spec.md.html
 
  -
  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.
 
 
 



Re: Non-Git Plugin Dependencies

2013-09-03 Thread Michal Mocny
If URL can be relative, why do we need a new path parameter?  All we would
need is to treat leading ./ or ../ as relative to the plugin not root,
which I think is fine.

I'll sleep on it and draw it out on whiteboard tomorrow to make sure all
the cases are handled.


On Tue, Sep 3, 2013 at 11:56 PM, Andrew Grieve agri...@chromium.org wrote:

 Agree the use-case is valid. Here's a variation on (1) that I think is
 marginally nicer:

 url=. to be made optional, but default value is .
 subdir= works only with git repos and is always relative to the root of
 the repo.
 path= works with git repos or local paths and is relative to the
 plugin.xml of the current plugin. You can't have url or subdir if you
 have path.

 Support was just added for specifying commit and path within url. So, we
 could actually just deprecate subdir. and have url or path

 E.g.: url=some/path.git would specify a git URL relative to the current
 plugin's git url.
 E.g.: url=#branch2 would specify a branch on the current URL
 (cordova-labs style)
 E.g.: url=#branch2:plugins/A would specify a branch on the current URL
 plus a subdir within it.
 E.g.: url=#:plugins/A would be invalid. (Use path if you just want to
 set the path)
 E.g.: path=../B is always a relative fs path. If the current plugin is
 from git, then be careful not to go above the git root.


 On Tue, Sep 3, 2013 at 10:27 PM, Michal Mocny mmo...@chromium.org wrote:

 Mulling this over a bit, I think I would like a solution for specifying
 dependancies that would work regardless of where/how the plugins are
 hosted, git or local.  If you had:

 BB_PLUGINS/
 - plug1/
 - plug2/
 ...

 (and plug1 depends on plug2), then:

 cordova plugin add LOCAL/PATH/TO/BB_PLUGINS/plug1..and..   cordova
 plugin add GIT_REPO:BB_PLUGINS/plug1

 ..should both work without changing all of the dependency tags in plug1.
  Actually, the plugin author should not have an explicit say in how a user
 manages these directories (except in the directory structure).  Note that
 this situation applies whenever a user clones your plugin repo to locally,
 or for the reverse direction, when ever they add your plugins into their
 teams' git repo.


 Right now, thats not possible, because when installing from local path
 with
 url=. there is no way to know which of the plugins parent directories to
 consider as the root.  We could resolve this using several ways, among
 them:

 (1) Jeffreys proposal: dropping the url=. means path relative to this
 plugin (note however, that I propose it also works when installing from a
 git repo).  Deprecate/warn against using url=..

 (2) Support a new special file to mark the plugin root dir so we can
 walk
 the directory tree to find the valid target for url=. (ie, replace the
 requirement for a .git with a requirement for a .cordova_repo, which BB
 and
 others could place within their plugin bundle).


 I like (1).

 -Michal


 On Tue, Sep 3, 2013 at 9:54 PM, Michal Mocny mmo...@chromium.org wrote:

  Sounds reasonable to me.
 
  Conceptually, I'm not sure why the syntax for (2) shouldn't do what you
  request when the url for the original plugin was a local path?  Maybe
 just
  a bug?
 
  -Michal
 
 
  On Tue, Sep 3, 2013 at 9:38 PM, Jeffrey Heifetz 
 jheif...@blackberry.comwrote:
 
  We were working on a redistribution of Cordova that included some
 plugins
  and ran into a use-case not covered by the current plugin spec.[1]
 
  Currently there are two ways to specify a dependency
  1. Using a combination of url, commit and subdir which plugman will use
  to clone down a repo and install
  2. Set the url to ., skip the commit and specify a subdir relative to
  the root of the repo. Plugman then runs git-rev parse to find the root
 and
  install from there.
 
  I would like to propose a third way which would be relative to the
  current install and not use git at all
  3. Skip the url, skip the commit and specify a subdir relative to the
  current plugin.xml.
 
  This would allow us to distribute a version of cordova with plugins to
  anyone without an unnecessary requirement on git (considering the
 plugins
  are fully installed)
 
 
 
  1. http://cordova.apache.org/docs/en/3.0.0/plugin_ref_spec.md.html
 
  -
  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.