cordova-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrew Grieve <agri...@chromium.org>
Subject Re: FYI: Created a plugin to help with local plugin development
Date Fri, 23 Jan 2015 03:30:14 GMT
Implemented the iOS approach: https://issues.apache.org/jira/browse/CB-8354

    createmobilespec.sh --linkplugins --android --ios

This lets you (after command-line building once in Android's case):
1. open the project in Android Studio or Xcode
2. edit plugin .java / .m / .h
3. see the change reflected in your local cordova-plugin-foo directories

Also added:

    createmobilespec.sh --browserify

which does what you think it does.


On Mon, Jan 5, 2015 at 9:49 PM, Andrew Grieve <agrieve@chromium.org> wrote:

> Thought about Windows, but didn't test on it. Figured since --link was a
> hot-off-the-press flag, that if there were bugs with it we could keep
> iterating.
>
> iOS approach makes sense to me. I've added it to the JIRA.
>
> On Mon, Jan 5, 2015 at 6:53 PM, Jesse <purplecabbage@gmail.com> wrote:
>
>> Andrew, did you test your changes in Android Studio for Windows? I am
>> curious how well symlinks work there.
>> Visual Studio and XCode both support adding file/folder references, which
>> would mean that saving a changed plugin native file would save it to it's
>> original location.  This is the way I have typically developed plugins:
>> - install once
>> - change file paths in the IDE to point to the plugin-repo directly
>> - debug / iterate / add functionality in the IDE
>> - once satisfied, remove the plugin, and re-install the way a mortal user
>> would, smoke test
>> - publish
>>
>> essentially, avoiding constant re/un/installing
>>
>>
>> @purplecabbage
>> risingj.com
>>
>> On Mon, Jan 5, 2015 at 12:56 PM, Andrew Grieve <agrieve@chromium.org>
>> wrote:
>>
>> > Along these lines, I likewise got frustrated with my workflow and added
>> a
>> > new feature to "cordova plugin add --link".
>> >
>> > Instead of just creating symlink in the plugins/ directory, it now also
>> > creates symlinks for .java files, so that you can edit plugin .java
>> files
>> > in Android Studio, and hitting save will cause the original plugin .java
>> > file to be updated!
>> >
>> > Worth experimenting with for other platforms as well I think, but this
>> > setup does require the IDE & build tools to play nicely with symlinks
>> > (which is why I did it for Android only).
>> >
>> > https://issues.apache.org/jira/browse/CB-8244.
>> >
>> > On Mon, Dec 1, 2014 at 5:13 PM, Michal Mocny <mmocny@google.com> wrote:
>> >
>> > > Took the opportunity to use our new plugin hooks and created a plugin
>> to
>> > > automate a tedious task I've been doing a lot of recently: plugin
>> > > re-installation.
>> > >
>> > > https://github.com/mmocny/cordova-plugin-plugin-auto-upgrade
>> > >
>> > > As per the README:
>> > > ================
>> > >
>> > > This plugin with automatically upgrade (re-install) a set of plugins
>> > > (specified by you) before every cordova prepare. This is useful if you
>> > are
>> > > doing plugin development and would like to automatically synchronize
>> your
>> > > app with any changes made to your plugin.
>> > >
>> > > Install the plugin: cordova plugin add
>> > > org.apache.cordova.labs.pluginAutoUpgrade
>> > >
>> > > At root of your app, create a pluginAutoUpgrade.json file, which looks
>> > > like:
>> > >
>> > > {
>> > >   "PLUGIN_ID": "PLUGIN_INSTALL_PATH",
>> > >   "PLUGIN_ID2": "PLUGIN_INSTALL_PATH"
>> > > }
>> > >
>> > > ================
>> > >
>> > > This is useful if you are making changes to a plugin inside the
>> plugin's
>> > > directory structure.
>> > >
>> > > For more meaty plugin work, you are possibly better off making native
>> > > changes inside platforms/ and js changes inside plugins/, and being
>> very
>> > > careful to not clobber your work (or use the build/run scripts
>> directly
>> > to
>> > > skip prepare entirely).  I'm considering improving that workflow as
>> well.
>> > >
>> > > For now, I've found this plugin useful for minor plugin work.
>> Sharing in
>> > > case you do, too.
>> > >
>> > > -Michal
>> > >
>> >
>>
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message