You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@maven.apache.org by Piotr Bzdyl <pi...@bzdyl.net> on 2007/03/14 16:32:46 UTC
Profiles, filtering resources and optional content
Hello everyone,
I would like to have one configuration file in properties format.
Configuration differs in some parts between prod and dev profiles. For
example:
conf.properties for prod env:
keyA=valueAP
keyB=valueBP
keyC=valueCP
conf.properties for dev env:
keyA=valueAD
keyB=valueBD
keyC=valueCD
keyD=valueDD
keyE=valueED
I would change it with use of profiles and filtering to one conf.properties
file like this:
conf.properties:
keyA=${keyAvalueA}
keyB=${keyAvalueB}
keyC=${keyAvalueC}
filter.properties for prod would look like this:
keyAvalue=valueAP
keyBvalue=valueBP
keyCvalue=valueCP
But what to do with values which must be in dev version and must not be in
prod version (keyD and keyE)?
Add in conf.properties something like ${dev.settings} in the end of file and
in filter.properties for dev with:
dev.settings=.......
where ..... is encoded:
keyD=valueDD
keyE=valueED
as a value of dev.settings property?
Any cleaner and more readable solution?
Thanks and regards,
Piotr
--
View this message in context: http://www.nabble.com/Profiles%2C-filtering-resources-and-optional-content-tf3402841s177.html#a9476847
Sent from the Maven - Users mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org
Re: Profiles, filtering resources and optional content
Posted by Mark Hobson <ma...@gmail.com>.
On 14/03/07, Piotr Bzdyl <pi...@bzdyl.net> wrote:
> Actually, I thought about this solution but unfortunately the common part of
> the conf.properties is so big that I would not like to keep it in two
> separate places and need to remember to change these common parts in two (or
> even more if I will need more profiles) files.
Yeah, that is the drawback. I guess the general rule of thumb is: if
resources differ between profiles greatly, then profile them;
otherwise filter them. So in your case I'd create filters that expand
to multiple properties like you suggested. Although I'd be interested
in any alternatives others may have..?
Mark
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org
Re: Profiles, filtering resources and optional content
Posted by Piotr Bzdyl <pi...@bzdyl.net>.
Hi,
Mark Hobson wrote:
>
> An alternative to filtering the same resource is to split it into two
> and profile it. So you'd move src/main/resources/conf.properties to,
> say:
>
> * src/main/profiles/prod/resources/conf.properties
> * src/main/profiles/dev/resources/conf.properties
>
Actually, I thought about this solution but unfortunately the common part of
the conf.properties is so big that I would not like to keep it in two
separate places and need to remember to change these common parts in two (or
even more if I will need more profiles) files.
Thanks and regards,
Piotr
--
View this message in context: http://www.nabble.com/Profiles%2C-filtering-resources-and-optional-content-tf3402841s177.html#a9477378
Sent from the Maven - Users mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org
Re: Profiles, filtering resources and optional content
Posted by Mark Hobson <ma...@gmail.com>.
An alternative to filtering the same resource is to split it into two
and profile it. So you'd move src/main/resources/conf.properties to,
say:
* src/main/profiles/prod/resources/conf.properties
* src/main/profiles/dev/resources/conf.properties
Configure the profiles in your POM accordingly, and then you've got
full control of the content of the file under each profile.
Mark
On 14/03/07, Piotr Bzdyl <pi...@bzdyl.net> wrote:
>
> Hello everyone,
>
> I would like to have one configuration file in properties format.
> Configuration differs in some parts between prod and dev profiles. For
> example:
>
> conf.properties for prod env:
> keyA=valueAP
> keyB=valueBP
> keyC=valueCP
>
> conf.properties for dev env:
> keyA=valueAD
> keyB=valueBD
> keyC=valueCD
> keyD=valueDD
> keyE=valueED
>
> I would change it with use of profiles and filtering to one conf.properties
> file like this:
> conf.properties:
> keyA=${keyAvalueA}
> keyB=${keyAvalueB}
> keyC=${keyAvalueC}
>
> filter.properties for prod would look like this:
> keyAvalue=valueAP
> keyBvalue=valueBP
> keyCvalue=valueCP
>
> But what to do with values which must be in dev version and must not be in
> prod version (keyD and keyE)?
>
> Add in conf.properties something like ${dev.settings} in the end of file and
> in filter.properties for dev with:
> dev.settings=.......
>
> where ..... is encoded:
> keyD=valueDD
> keyE=valueED
> as a value of dev.settings property?
>
> Any cleaner and more readable solution?
>
> Thanks and regards,
> Piotr
>
> --
> View this message in context: http://www.nabble.com/Profiles%2C-filtering-resources-and-optional-content-tf3402841s177.html#a9476847
> Sent from the Maven - Users mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org