Joe - please stop saying "I told you so". It really is counter-productive and it takes away from having a feeling of shared responsibility for the project.
Checking in this change was not the only thing that brought us to this point. Had we had the time to follow our release process, it would have been caught by step 3 of CuttingRelease's "What to Test". That said, I'm still don't think that our mistake was anything other than poor messaging / docs. 3.0 implies that breaking changes will happen. It was also the first release where we started to officially support plugman-installable plugins. Yes - plugman has worked to varying degrees with prior versions, but it hasn't been a supported flow. So, one answer to having a plugin that works with both 2.9.0 as well as 3.0 would be to have a different copy of the plugin each. Note that 2.9.x also doesn't support <js-module> style JS, so this isn't the only obstacle to having a plugin that works on both versions. That said, Don - I think your work-around is quite clever :). Another thing we could look at doing is creating a shim as a plugin. Then, if plugins want to have their java code shared with both, they can declare that they depend on the "2.9.0 shim plugin". We could even do the same for the old "Plugin.java" (which is another thing we removed in 3.0) On Tue, Jul 30, 2013 at 6:52 PM, Joe Bowser <[email protected]> wrote: > On Tue, Jul 30, 2013 at 3:51 PM, Don Coleman <[email protected]> > wrote: > > Is there a suggested way for plugins to support 2.9 and 3.0 with one code > > base? > > > > Well, this is a good argument that I wish I had three weeks ago! > > I think we should support the shim for this purpose, since we're still > supporting Cordova 2.9, and it'd be good to at least do something for > plugin maintainers. >
