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 Mon, 26 Jan 2015 16:49:31 GMT
And... now:

    createmobilespec.sh --linkplatforms

and

    createmobilespec.sh --link

is and alias for

    createmobilespec.sh --linkplugins --linkplatforms

So, for iOS and Android, this will create a project where you can edit
native files in both plugins and platform and the changes will be reflected
in cordova-ios, cordova-android, cordova-plugin-foo* repos!

Also - looks like I had accidentally hardcoded --browserify to be on on
Thursday.
Fixed now, but if you noticed mobilespec being funny, it's because
--browserify was on.



On Thu, Jan 22, 2015 at 10:30 PM, Andrew Grieve <agrieve@chromium.org>
wrote:

> 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