If it does work to put the values in a sibling file to strings.xml,
you can use <source-file> to copy you own file into res/values which
will then not be re-added on each prepare.

On Wed, Jan 8, 2014 at 8:02 PM, Ross Gerbasi <rgerb...@gmail.com> wrote:
> Hello all, back on this Android plugin resource issue again.
>
> My original plan to ask users to edit strings.xml has hit a wall. Currently
> I have an entry in my plugin.xml that looks like this
>
> <config-file target="res/values/strings.xml" parent="/resources">
>     <string name="app_launch_voice_trigger">hello cordova</string>
>     <string name="app_launch_voice_prompt">prompt question</string>
> </config-file>
>
> If I ask the user to then go edit strings.xml thats all well and good until
> they do a build. As soon as they build again the plugin adds these back in
> and the file ends up looking like this
>
> <?xml version='1.0' encoding='utf-8'?>
> <resources>
>     <string name="app_name">AppName</string>
>     <string name="app_launch_voice_trigger">customized voice
> trigger</string>
>     <string name="app_launch_voice_prompt">customized question</string>
>     <string name="app_launch_voice_trigger">hello cordova</string>
>     <string name="app_launch_voice_prompt">prompt question</string>
> </resources>
>
> This negates whatever the user has entered, and causes all kinds of
> trouble. Does anyone have any other ideas on how to manage this? I need a
> way to allow a user to customize strings.xml, I would love for this to be a
> config in config.xml but having something added and telling the user to
> edit it would be at least something.
>
> The only option I can think of right now is to remove the string.xml config
> stuff from plugin.xml and tell users they have to manually edit strings.xml
> to even get there project to compile. In other words if they do not go add
> the triggers themselves it would not compile. Would be really nice to find
> a way around that though. Any ideas?
>
> thanks!
>
>
>
> On Thu, Jan 2, 2014 at 9:17 AM, Ross Gerbasi <rgerb...@gmail.com> wrote:
>
>> In your glass.xml example would you then advice a developer to edit
>> plugins/res/xml/glass.xml? I don't fully understand how plugman is going to
>> work with this setup. Would glass.xml be copied to
>> platforms/android/res/xml/glass every time you did a build? I am assuming
>> it will only be appended when you add the platform.
>>
>> I am sorry for the "other users" confusion. I am not saying anything about
>> per user apps or multiple apps at all. When I say users i mean multiple
>> developers. If you have a team of 5 developers all working on an app
>> together and they are sharing the source code for your project. They all
>> need to be in sync with plugins and any config variables plugins will carry
>> with them. Ideally the plugins folder and the platforms folder would be
>> ignored from version control so that really leaves config.xml to hold these
>> variables. I still think we need some system in place for a plugin to get
>> variables from config.xml and apply them before every build.
>>
>>
>>
>>
>> On Thu, Jan 2, 2014 at 5:36 AM, Axel Nennker <ignisvul...@gmail.com>wrote:
>>
>>> you are right. The variable stuff is not working as I expected. Sorry for
>>> the confusion.
>>> I made another error because I thought that "<resource-file" was already
>>> available but it is not.
>>> I thought that
>>>
>>> <plugin ...>
>>>   <platform name="android" >
>>>     <resource-file src="glass.xml" dest="xml/glass.xml" />
>>>   </platform>
>>> </plugin>
>>>
>>> was available and that plugman would move glass.xml from to
>>> plugins/res/xml/glass.xml and then replace a variable inside glass.xml
>>> with
>>> a specified value. That way the value would stay in
>>> plugins/res/xml/glass.xml when you remove the platform. And then it would
>>> be moved to platforms/android/res/xml/glass.xml again when you re-add the
>>> platform.
>>>
>>> I appended this code to
>>>
>>> /usr/local/lib/node_modules/cordova/node_modules/plugman/src/platforms/android.js
>>>     "resource-file":{
>>>         install:function(el, plugin_dir, project_dir) {
>>>             var src = el.attrib.src;
>>>             var target = el.attrib.target;
>>>             var dest = path.join("res", target);
>>>             common.copyFile(plugin_dir, src, project_dir, dest);
>>>         },
>>>         uninstall:function(el, project_dir) {
>>>             var target = el.attrib.target;
>>>             var dest = path.join("res", target);
>>>             common.removeFile(project_dir, dest);
>>>         }
>>>     }
>>>
>>> Now the resource file "glass.xml" is copied to
>>> platforms/android/res/xml/glass.xml
>>>
>>> -Axel
>>>
>>> I still do not understand the "user" part of your last email because
>>> cordova is helping developers to build one app for many users. Everyone of
>>> your glass users gets the same app and if Glass lets not allow you to
>>> specify the listen command other than at build-time then you cannot change
>>> it without building a per-user app, right?
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> 2014/1/1 Ross Gerbasi <rgerb...@gmail.com>
>>>
>>> > Other users would be team members that are working on the project with
>>> you
>>> > via git or svn or something.
>>> >
>>> > Just to confirm if you run cordova platform remove android in your
>>> example
>>> > then run cordova platform add android again it applies the variable to
>>> the
>>> > new android project?
>>> >
>>> > So the whole thing would be
>>> >
>>> > cordova create GlassApp
>>> > cd GlassApp
>>> > cordova platform add android
>>> > cordova plugin add plugin_id --variable key=value
>>> > cordova platform remove android
>>> > cordova platform add android
>>> >
>>> > You see the variable applied in the new android project?
>>> >
>>> > If this does work like you say what would you then suggest if the user
>>> then
>>> > wants to change this value? They have to remove and re-add the plugin
>>> > again? it just seems like this should be in config.xml.
>>> >
>>> >
>>> >
>>> > On Wed, Jan 1, 2014 at 2:32 PM, Axel Nennker <ignisvul...@gmail.com>
>>> > wrote:
>>> >
>>> > > I don't understand the "other users"-part.
>>> > >
>>> > > Not sure about the "mess" part. I looked at the plugman code and it
>>> looks
>>> > > ok.
>>> > > The plugin in <project_root>/plugins/glass_root has the modified
>>> resource
>>> > > files with "OK Glass" or whatever.
>>> > > It should not matter whether you add the plugin before or after the
>>> > > platform. Cordova takes the files from <project_root>/plugins and
>>> applies
>>> > > them to the platform files.
>>> > >
>>> > > My project layout is as this:
>>> > > <project_root>
>>> > > - src/plugins/glass_root
>>> > > - src/www
>>> > >
>>> > > This (src) is all that is in my source code repository. Now I have an
>>> ant
>>> > > script that creates the project, adds the platform and the plugins.
>>> > > cordova create GlassApp
>>> > > # and move src/www to www
>>> > > cordova platform add Android
>>> > > cordova plugin add plugin_id --variable key=value
>>> > >
>>> > > Afterwards the <project_root> looks like this (in addtion to the src
>>> > > dirctory)
>>> > > - www
>>> > > - plugins/plugin_id/res/values/glass.xml
>>> > > - platforms/android/...
>>> > >
>>> > > Now you can build the app and run it (for one "OK Glass" phrase). If
>>> you
>>> > > need a second/third phrase you need to uninstall the plugin and
>>> reinstall
>>> > > it with the new phrase. Did you mean this with "other users"?
>>> > >
>>> > >
>>> > >
>>> > >
>>> > >
>>> > >
>>> > > 2014/1/1 Ross Gerbasi <rgerb...@gmail.com>
>>> > >
>>> > > > Variable was a mess. You can add a variable when you add a plugin
>>> so if
>>> > > you
>>> > > > worked this way all was ok
>>> > > >
>>> > > > -- create cordova project
>>> > > > -- add android platform
>>> > > > -- add plugin with variable
>>> > > >
>>> > > > but if you do it on a different order like
>>> > > >
>>> > > > -- create cordova project
>>> > > > -- add plugin with variable
>>> > > > -- add android platform
>>> > > >
>>> > > > Essentially if you removed your android project and re-add it after
>>> you
>>> > > > have the plugin, everything goes to hell.
>>> > > >
>>> > > > It doesn't work properly. It also isn't a good solution in the long
>>> run
>>> > > as
>>> > > > we are hoping in the future to ignore plugins and platforms from
>>> > version
>>> > > > control. If that happens we would then have a plugin manifest that
>>> > would
>>> > > > install plugins for other users. We would then have to store any
>>> > > variables
>>> > > > in this manifest so other users can get an "exact" copy, just seems
>>> > like
>>> > > a
>>> > > > whole bunch of headaches. Ideally this needs to be a config
>>> variable.
>>> > > >
>>> > > > hope this all makes sense :/
>>> > > >
>>> > > >
>>> > > > On Wed, Jan 1, 2014 at 11:52 AM, Axel Nennker <
>>> ignisvul...@gmail.com>
>>> > > > wrote:
>>> > > >
>>> > > > > Didn't you solve this with --variable?
>>> > > > > I never used --variable myself.
>>> > > > > -Axel
>>> > > > > Am 01.01.2014 18:24 schrieb "Ross Gerbasi" <rgerb...@gmail.com>:
>>> > > > >
>>> > > > > > That would work great if there was a way to set the property I
>>> need
>>> > > at
>>> > > > > > runtime. Currently there does not seem to be a way to set the
>>> app
>>> > > > launch
>>> > > > > > voice trigger string at runtime. Probably because Glass needs
>>> this
>>> > > > > trigger
>>> > > > > > before your application even launches. This trigger will show up
>>> > in a
>>> > > > > menu
>>> > > > > > inside glass so it must be parsing my application to find this.
>>> > > > > >
>>> > > > > > This is why I need that variable set at build time, because
>>> there
>>> > >  does
>>> > > > > not
>>> > > > > > seem to be a way, via code, to set this property.
>>> > > > > >
>>> > > > > > I am not sure if you can see this link without being a glass
>>> > explorer
>>> > > > but
>>> > > > > > here it goes anyway
>>> > > > > > https://developers.google.com/glass/develop/gdk/input/voice
>>> > > > > >
>>> > > > > >
>>> > > > > >
>>> > > > > > On Wed, Jan 1, 2014 at 11:18 AM, Axel Nennker <
>>> > ignisvul...@gmail.com
>>> > > >
>>> > > > > > wrote:
>>> > > > > >
>>> > > > > > > I am not sure why you need to modify my_val at build time.
>>> Could
>>> > > you
>>> > > > > > please
>>> > > > > > > change your example so that you really need this at build
>>> time?
>>> > > > > > >
>>> > > > > > > If you want a "product name displayed in your glass app then
>>> you
>>> > > > could
>>> > > > > > use
>>> > > > > > > the <preference like in your example and fetch the value from
>>> the
>>> > > > > > > activity's extras. All preferences from config.xml are passed
>>> in
>>> > > into
>>> > > > > > your
>>> > > > > > > activity as extras. Just use getStringExtra("PRODUCT_NAME") to
>>> > get
>>> > > it
>>> > > > > and
>>> > > > > > > use the value "foo" in your activity/plugin.
>>> > > > > > >
>>> > > > > > > With this you do not need the "variable" at build time because
>>> > you
>>> > > > get
>>> > > > > it
>>> > > > > > > at run time.
>>> > > > > > >
>>> > > > > > > -Axel
>>> > > > > > >
>>> > > > > > > You get the extras in onNewIntent and in initialize.
>>> > > > > > >
>>> > > > > > >   @Override
>>> > > > > > >   public void onNewIntent(Intent intent) {
>>> > > > > > >     Log.d(TAG, "NewIntent " + getIntent());
>>> > > > > > >     Bundle extras = intent.getExtras();
>>> > > > > > >     if (extras != null && extras.size() > 0) {
>>> > > > > > >       for (String key : extras.keySet()) {
>>> > > > > > >         Log.d(TAG, "KEY=" + key);
>>> > > > > > >       }
>>> > > > > > >     } else {
>>> > > > > > >       Log.d(TAG, "onNewIntent intent does NOT have extras");
>>> > > > > > >     }
>>> > > > > > >     ......
>>> > > > > > >  }
>>> > > > > > >
>>> > > > > > >
>>> > > > > > > public void initialize(CordovaInterface cordova,
>>> CordovaWebView
>>> > > > > webView)
>>> > > > > > {
>>> > > > > > >
>>> > > > > > >   Bundle extras = cordova.getIntent().getExtras();
>>> > > > > > >
>>> > > > > > > }
>>> > > > > > >
>>> > > > > > >
>>> > > > > > >
>>> > > > > > >
>>> > > > > > >
>>> > > > > > >
>>> > > > > > >
>>> > > > > > > 2014/1/1 Ross Gerbasi <rgerb...@gmail.com>
>>> > > > > > >
>>> > > > > > > > Alrighty I can get on board with the separate xml file but I
>>> > was
>>> > > > not
>>> > > > > > > > concerned about the android build system parsing the res
>>> file I
>>> > > am
>>> > > > > > > worried
>>> > > > > > > > about cordova setting the res file prior to building. What
>>> > would
>>> > > be
>>> > > > > the
>>> > > > > > > > user workflow for this? Ideally it needs to be something
>>> like
>>> > > > > > > >
>>> > > > > > > > - run add plugin
>>> > > > > > > > - add preference to config.xml
>>> > > > > > > > - run build android project
>>> > > > > > > > - CLI, prior to executing build, modifies RES file with
>>> > > preference
>>> > > > > set
>>> > > > > > in
>>> > > > > > > > config.xml
>>> > > > > > > > - android project is built
>>> > > > > > > >
>>> > > > > > > > In order to do this we need some way of hooking into the
>>> build
>>> > > > > process
>>> > > > > > > from
>>> > > > > > > > a plugin.
>>> > > > > > > >
>>> > > > > > > > I like Andrews idea of allowing a config file to load a
>>> > variable
>>> > > we
>>> > > > > > would
>>> > > > > > > > also need a way to make this happen at build time possible
>>> via
>>> > a
>>> > > > > > 'build'
>>> > > > > > > > flag? We could then check that resource, see if there is a
>>> > > matching
>>> > > > > > > > element, if not add it. Something like this.
>>> > > > > > > >
>>> > > > > > > > plugin.xml
>>> > > > > > > > <config-file target="res/values/strings.xml" parent="/*"
>>> > > > > build="true">
>>> > > > > > > > <string name="my_val">{$PRODUCT_NAME}</string>
>>> > > > > > > > </config-file>
>>> > > > > > > >
>>> > > > > > > > config.xml:
>>> > > > > > > > <preference name="PRODUCT_NAME" value="foo" />
>>> > > > > > > >
>>> > > > > > > > Then you can combine this with Axels suggestion and just
>>> change
>>> > > the
>>> > > > > > > target
>>> > > > > > > > of the config-file to glass.xml and add it as a resource at
>>> > > plugin
>>> > > > > add.
>>> > > > > > > >
>>> > > > > > > >
>>> > > > > > > >
>>> > > > > > > > On Wed, Jan 1, 2014 at 1:37 AM, Axel Nennker <
>>> > > > ignisvul...@gmail.com>
>>> > > > > > > > wrote:
>>> > > > > > > >
>>> > > > > > > > > Every res file is parsed by the Android build system at
>>> apk
>>> > > build
>>> > > > > > time.
>>> > > > > > > > > It is a good practice to group e.g. related string
>>> resources
>>> > in
>>> > > > > > > separate
>>> > > > > > > > > files instead of munching everything into strings.xml. It
>>> > > doesn't
>>> > > > > > > matter
>>> > > > > > > > > whether this is a non-cordova Android project or a cordova
>>> > > > plugin.
>>> > > > > > > > >
>>> > > > > > > > > Axel
>>> > > > > > > > > Am 31.12.2013 22:42 schrieb "Ross Gerbasi" <
>>> > rgerb...@gmail.com
>>> > > >:
>>> > > > > > > > >
>>> > > > > > > > > > When would this happen though? Resources seem to be
>>> applied
>>> > > > when
>>> > > > > > you
>>> > > > > > > > add
>>> > > > > > > > > a
>>> > > > > > > > > > plugin or when you add a platform and a plugin already
>>> > > exists.
>>> > > > We
>>> > > > > > > need
>>> > > > > > > > to
>>> > > > > > > > > > allow the user a chance to edit this file. Would this
>>> > > resource
>>> > > > be
>>> > > > > > > > copied
>>> > > > > > > > > > every build?
>>> > > > > > > > > >
>>> > > > > > > > > > The other issue I have with this is strings.xml is
>>> pretty
>>> > > > > standard
>>> > > > > > > for
>>> > > > > > > > > any
>>> > > > > > > > > > text in your android application, it seems a bit odd to
>>> > move
>>> > > > this
>>> > > > > > > > > > elsewhere.
>>> > > > > > > > > >
>>> > > > > > > > > > -ross
>>> > > > > > > > > >
>>> > > > > > > > > >
>>> > > > > > > > > > On Tue, Dec 31, 2013 at 2:31 PM, Brian LeRoux <
>>> b...@brian.io>
>>> > > > > wrote:
>>> > > > > > > > > >
>>> > > > > > > > > > > That's clean
>>> > > > > > > > > > > On Dec 31, 2013 12:09 PM, "Axel Nennker" <
>>> > > > > ignisvul...@gmail.com>
>>> > > > > > > > > wrote:
>>> > > > > > > > > > >
>>> > > > > > > > > > > > I suggest to introduce e.g. <resource-file
>>> > > src="glass.xml"
>>> > > > > > > > > > > > target="/res/xml/glass.xml/> for Android and other
>>> > > > platforms
>>> > > > > > that
>>> > > > > > > > > need
>>> > > > > > > > > > > it.
>>> > > > > > > > > > > > One platform already has it. Can't remember which.
>>> > > > > > > > > > > > Plugman would then add/remove that file.
>>> > > > > > > > > > > >
>>> > > > > > > > > > > > Axel
>>> > > > > > > > > > > > Am 31.12.2013 19:57 schrieb "Ross Gerbasi" <
>>> > > > > rgerb...@gmail.com
>>> > > > > > >:
>>> > > > > > > > > > > >
>>> > > > > > > > > > > > > Thats not a bad idea, would we then inform the
>>> user
>>> > to
>>> > > > edit
>>> > > > > > the
>>> > > > > > > > > > > > plugin.xml
>>> > > > > > > > > > > > > after they add it? Remember we need user to be
>>> able
>>> > to
>>> > > > > > > customize
>>> > > > > > > > > > > > > PRODUCT_NAME somehow.
>>> > > > > > > > > > > > >
>>> > > > > > > > > > > > > And editing strings.xml isn't horrible it just
>>> breaks
>>> > > > > > > abstraction
>>> > > > > > > > > of
>>> > > > > > > > > > a
>>> > > > > > > > > > > > > plugin. So if you edit it, then remove it it wont
>>> > > remove
>>> > > > > the
>>> > > > > > > > > entries
>>> > > > > > > > > > > you
>>> > > > > > > > > > > > > have modified. So when you add it again you have 2
>>> > and
>>> > > > that
>>> > > > > > > > throws
>>> > > > > > > > > an
>>> > > > > > > > > > > > > android compile error.
>>> > > > > > > > > > > > >
>>> > > > > > > > > > > > > The other issue is with a team working together.
>>> If
>>> > we
>>> > > do
>>> > > > > not
>>> > > > > > > > want
>>> > > > > > > > > > > people
>>> > > > > > > > > > > > > checking plugins & platforms into source control
>>> then
>>> > > > other
>>> > > > > > > team
>>> > > > > > > > > > > members
>>> > > > > > > > > > > > > need to add all the plugins themselves and they
>>> would
>>> > > > then
>>> > > > > > need
>>> > > > > > > > to
>>> > > > > > > > > > > modify
>>> > > > > > > > > > > > > the xml file in the same way. Not major but again
>>> > just
>>> > > > > these
>>> > > > > > > > little
>>> > > > > > > > > > > > > branches that pop up. Would be cool if we could
>>> > tighten
>>> > > > it
>>> > > > > up
>>> > > > > > > > with
>>> > > > > > > > > > some
>>> > > > > > > > > > > > > solution.
>>> > > > > > > > > > > > >
>>> > > > > > > > > > > > >
>>> > > > > > > > > > > > > On Tue, Dec 31, 2013 at 12:34 PM, Andrew Grieve <
>>> > > > > > > > > > agri...@chromium.org
>>> > > > > > > > > > > > > >wrote:
>>> > > > > > > > > > > > >
>>> > > > > > > > > > > > > > Tough call on this one. I'm a bit wary of
>>> letting
>>> > > > plugins
>>> > > > > > > > install
>>> > > > > > > > > > > > hooks,
>>> > > > > > > > > > > > > > because that power could be abused.
>>> > > > > > > > > > > > > >
>>> > > > > > > > > > > > > > Maybe we could allow variables to be used by
>>> > > > plugin.xml.
>>> > > > > > > E.g.:
>>> > > > > > > > > > > > > >    <config-file target="res/values/strings"
>>> > > > > > > parent="/*"><string
>>> > > > > > > > > > > > > >
>>> > name="my_val">{$PRODUCT_NAME}</string></config-file>
>>> > > > > > > > > > > > > > and in config.xml:
>>> > > > > > > > > > > > > >    <preference name="PRODUCT_NAME" value="foo"
>>> />
>>> > > > > > > > > > > > > >
>>> > > > > > > > > > > > > > That said, I don't think it's that bad to tell
>>> > users
>>> > > to
>>> > > > > > edit
>>> > > > > > > > > their
>>> > > > > > > > > > > > > > strings.xml file.
>>> > > > > > > > > > > > > >
>>> > > > > > > > > > > > > >
>>> > > > > > > > > > > > > > On Tue, Dec 31, 2013 at 11:50 AM, Ross Gerbasi <
>>> > > > > > > > > rgerb...@gmail.com
>>> > > > > > > > > > >
>>> > > > > > > > > > > > > wrote:
>>> > > > > > > > > > > > > >
>>> > > > > > > > > > > > > > > Hello all,
>>> > > > > > > > > > > > > > >
>>> > > > > > > > > > > > > > > I am trying to work through the best solution
>>> to
>>> > > this
>>> > > > > > > problem
>>> > > > > > > > > > > figured
>>> > > > > > > > > > > > > it
>>> > > > > > > > > > > > > > > was smart to bring it up to everyone here.
>>> Maybe
>>> > > > there
>>> > > > > > is a
>>> > > > > > > > way
>>> > > > > > > > > > to
>>> > > > > > > > > > > > > handle
>>> > > > > > > > > > > > > > > this but I haven't come across it.
>>> > > > > > > > > > > > > > >
>>> > > > > > > > > > > > > > > This problem came up in my Google Glass plugin
>>> > but
>>> > > I
>>> > > > am
>>> > > > > > > sure
>>> > > > > > > > > > other
>>> > > > > > > > > > > > > > plugins
>>> > > > > > > > > > > > > > > will need to handle this also.
>>> > > > > > > > > > > > > > >
>>> > > > > > > > > > > > > > > In the strings.xml resource we need to set a
>>> > "voice
>>> > > > > > > trigger"
>>> > > > > > > > > > > element
>>> > > > > > > > > > > > > > which
>>> > > > > > > > > > > > > > > is used to start the app when you talk to
>>> glass.
>>> > > > There
>>> > > > > > > > doesn't
>>> > > > > > > > > > seem
>>> > > > > > > > > > > > to
>>> > > > > > > > > > > > > be
>>> > > > > > > > > > > > > > > any way to do this with code and this string
>>> > would
>>> > > be
>>> > > > > > > > different
>>> > > > > > > > > > for
>>> > > > > > > > > > > > > ever
>>> > > > > > > > > > > > > > > app out there. On top of that each voice
>>> trigger
>>> > > can
>>> > > > > > > > optionally
>>> > > > > > > > > > > have
>>> > > > > > > > > > > > > > > prompts that follow it, to get more user
>>> input.
>>> > > > > > Currently I
>>> > > > > > > > > just
>>> > > > > > > > > > > > inform
>>> > > > > > > > > > > > > > the
>>> > > > > > > > > > > > > > > user via documentation to go edit this xml
>>> file
>>> > > after
>>> > > > > > they
>>> > > > > > > > > > install
>>> > > > > > > > > > > > the
>>> > > > > > > > > > > > > > > plugin.
>>> > > > > > > > > > > > > > >
>>> > > > > > > > > > > > > > > This is not good though because once they do
>>> that
>>> > > it
>>> > > > is
>>> > > > > > > > > unhooked
>>> > > > > > > > > > > from
>>> > > > > > > > > > > > > the
>>> > > > > > > > > > > > > > > plugin add/remove workflow. if they remove the
>>> > > plugin
>>> > > > > > those
>>> > > > > > > > xml
>>> > > > > > > > > > > > > elements
>>> > > > > > > > > > > > > > > stay, and then if they add the plugin back
>>> > > everything
>>> > > > > > > starts
>>> > > > > > > > to
>>> > > > > > > > > > > > become
>>> > > > > > > > > > > > > a
>>> > > > > > > > > > > > > > > mess.
>>> > > > > > > > > > > > > > >
>>> > > > > > > > > > > > > > > Essentially I need a way to write to a xml
>>> > > resources
>>> > > > > > > before a
>>> > > > > > > > > > user
>>> > > > > > > > > > > > > does a
>>> > > > > > > > > > > > > > > build. I also need to be able to access a
>>> config
>>> > > > file,
>>> > > > > > > > probably
>>> > > > > > > > > > > > > > config.xml,
>>> > > > > > > > > > > > > > > in order to get the information to write to
>>> this
>>> > > > > > resource.
>>> > > > > > > > > > > > > > >
>>> > > > > > > > > > > > > > > I am thinking maybe we allow plugins to have
>>> > hooks
>>> > > > > also?
>>> > > > > > So
>>> > > > > > > > > each
>>> > > > > > > > > > > > plugin
>>> > > > > > > > > > > > > > > could have a hooks folder, which would then
>>> allow
>>> > > > every
>>> > > > > > > > plugin
>>> > > > > > > > > to
>>> > > > > > > > > > > run
>>> > > > > > > > > > > > > > > before build commands. I could then open that
>>> > > > resource,
>>> > > > > > > grab
>>> > > > > > > > > the
>>> > > > > > > > > > > > > element
>>> > > > > > > > > > > > > > > and write the value in there before every
>>> build.
>>> > > > > > > > > > > > > > >
>>> > > > > > > > > > > > > > > Plugins do offer the ability to get variables
>>> > > during
>>> > > > > add
>>> > > > > > > with
>>> > > > > > > > > the
>>> > > > > > > > > > > > > > > --variable flag, but i found this to be a huge
>>> > > mess.
>>> > > > > > > > Especially
>>> > > > > > > > > > > when
>>> > > > > > > > > > > > > > > dealing with plugins that have dependent
>>> plugins
>>> > > that
>>> > > > > > need
>>> > > > > > > > > > > variables.
>>> > > > > > > > > > > > > It
>>> > > > > > > > > > > > > > > also is a problem if you install the plugin
>>> then
>>> > > add
>>> > > > > > > platform
>>> > > > > > > > > > after
>>> > > > > > > > > > > > it
>>> > > > > > > > > > > > > > was
>>> > > > > > > > > > > > > > > looking for variables at the wrong time.
>>> Anyway
>>> > > this
>>> > > > > > ended
>>> > > > > > > up
>>> > > > > > > > > > being
>>> > > > > > > > > > > > no
>>> > > > > > > > > > > > > > good
>>> > > > > > > > > > > > > > > for me.
>>> > > > > > > > > > > > > > >
>>> > > > > > > > > > > > > > > I am all for any suggestions, and I can dive
>>> into
>>> > > the
>>> > > > > CLI
>>> > > > > > > > code
>>> > > > > > > > > > and
>>> > > > > > > > > > > > try
>>> > > > > > > > > > > > > to
>>> > > > > > > > > > > > > > > hack together something to get it working but
>>> I
>>> > > would
>>> > > > > > love
>>> > > > > > > to
>>> > > > > > > > > get
>>> > > > > > > > > > > > some
>>> > > > > > > > > > > > > > > direction. Any ideas?
>>> > > > > > > > > > > > > > >
>>> > > > > > > > > > > > > > > -ross
>>> > > > > > > > > > > > > > >
>>> > > > > > > > > > > > > >
>>> > > > > > > > > > > > >
>>> > > > > > > > > > > >
>>> > > > > > > > > > >
>>> > > > > > > > > >
>>> > > > > > > > >
>>> > > > > > > >
>>> > > > > > >
>>> > > > > >
>>> > > > >
>>> > > >
>>> > >
>>> >
>>>
>>
>>

Reply via email to