On Wed, Jul 30, 2014 at 11:38 AM, Carlos Santana <[email protected]> wrote:
> On Wed, Jul 30, 2014 at 10:54 AM, Michal Mocny <[email protected]> > wrote: > > > First, the easy one: Certainly you should have a way to drop files into > > platforms/ios/HelloCordova, and I think <source-file> is probably the way > > to go. The root seems to be the plugin folder by default, so you may > need > > to prefix with "../.." right now. Also seems hacky, not sure if there > is a > > better way. > > > > <source-file> doesn't work for my use case, I'm already using for > libraries, frameworks, and files that I want to be available inside the > Mobile App. > I want the file to be inside the XCode project, but NOT inside the Mobile > App. It's a file that I need from xcode build script > > > > For the other two: /merges and /hooks, I really don't think we should be > > adding files into there. I consider those application assets, along with > > www/ and application config.xml, which we also should not be directly > > modifying from plugins. > > > > > I think plugins should be allow to add files to any place in the cordova > project/application. > Or we can design a new type of "plugin" a plugin that deals with cordova > project tooling. > I like things simple, so if I can manage to create one plugin for my > enterprise product, it will be easy for end user starting with cordova to > add and remove one type of plugin, and then the plugin will take care of > both what runs on the device and any tooling requirements for those > features > > I'm building a plugin that will add to the existing cordova project > excluding www/ (I don't want to touch this one). For www I think I will > have "www" templates they can use when the do "cordova create" but this are > just samples, if they already have an existing app I want an easy for them > to get necessary files for my plugin to work, and some files are to be > edited by them "merges", and other are hooks that need to run in prepare > > I want to add files to /merges/ /platforms and /hooks that are only > applicable to my plugin and not overwriting any user files > This sounds like something thats worth brainstorming the right solution for. I'm thinking this functionality should lay outside of cordova tooling, which is already too beefy. For chrome apps, we created a downstream tool for this (cca). I do think its unfortunate that we all need to have separate downstream CLI's that cannot be used together, but I don't think writing complicated plugins that overwrite large part of a cordova workspace is a useful alternative. Perhaps grunt/gulp plugins that combine well are, not sure. Another option is to publish a project generator for your type of application, either via yeoman, a custom script, or just a boilerplate project. > > > > For hooks -- there is a PR outstanding to just go ahead and add plugin > > hooks. Perhaps you would like to help review and comment on that to get > it > > landed asap? > > > > I will take a look, but I don't think it solves my use case, basically I'm > asking for this function to be added to be done in a generic way in > plugin.xml, versus having a mega_plugin_install hooks scripts that kind > does the same thing is a custom brittle way vs relying on the the cordova > community tooling > I think running hooks from plugins is slightly less ugly than having plugins add hooks to the root, but in the end roughly equivalent. The hooks that actually run are just as brittle in either case, which is why we are cautious about adding this in any form. > > > > For merges -- I kinda think we should have plugins on par with apps, and > > just have a merges/ folder for plugins. However, merges/ is probably > just > > generally a bad idea, and I suspect you can do a better job yourself by > > writing hooks/ instead. > > > > > Totally got blind here I don't know what you mean by "have plugins on par > with apps" and "merges/ folder for plugins" > I just mean that, apps have a hooks/ and merges/, but plugins do not. We're now considering adding hooks/, so maybe we should also add merges/ (right now plugins can simulate this explicitly with <platform> tags and <assets>). > > I'm also looking on having a "/append/" and "/prepend/" in addition of what > we have today "merges/" but probably that's a new mailing thread > Yeah, lets leave that for another thread. Some significantly competing ideas on this one. > > > > -Michal > > > > > > On Wed, Jul 30, 2014 at 10:32 AM, Carlos Santana <[email protected]> > > wrote: > > > > > I already know about <asset> and <resource-file> [1] in plugin.xml > > > > > > I'm currently working with ios: > > > <asset> copy files will be available inside mobile app www path > > > <resource-file> files will be available to mobile app from root path > > > > > > I want to be able to provide files to other locations that do not go > > inside > > > mobile app: > > > 1. I want to add files to <cordovaproject> > > > <cordovaproject>/merges/ios/ > > > <cordovaproject>/hooks/ > > > Also here to add scripts/files that will be use by XCode build phases > but > > > do not go inside mobile App > > > <cordovaproject>platform/ios/HelloCordova/ > > > > > > Right now I'm doing something like this, and it feels like a hack that > > > might not work for all operating systems. > > > > > > <asset src="src/ios/www/default/worklight/checksum.js" > > > target="../../../merges/ios/default/worklight/checksum.js" /> > > > > > > Maybe we need to add new feature for more elements like? > > > <cordova-file src="" target=""> > > > <native src="" target=""> > > > > > > > > > > > > [1]: > > > > > > > > > https://github.com/apache/cordova-docs/blob/master/docs/en/edge/plugin_ref/spec.md > > > > > > -- > > > Carlos Santana > > > <[email protected]> > > > > > > > > > -- > Carlos Santana > <[email protected]> >
