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