ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jeff drost <jeffdr...@yahoo.com>
Subject Re: custom properties loading task
Date Sun, 18 Nov 2001 20:07:17 GMT
No, that's not what I'm saying.  I'll try to explain better.

In the general case, where no additional parameters are supplied at the command
line, the buildconfig task uses the default.buildconfig to obtain it's
properties.  This is the way builds are typically being done in the development
environment.  Builds that are destined for other environments (such as uat,
staging and production) frequently need some things to be different.  For
instance, if I am building a Weblogic domain that is going to a staging
environment, I need the config.xml to refer to the staging database.  In this
case, I want to provide a way to override properties from the
default.buildconfig.  I do this with an additional parameter, which causes a
subset of the default properties to be loaded on those default properties.

In most the general case, only one property file needs to be loaded.  In the
special case of a move to staging, I need two - the default as well as the
special staging one.

> > >     <property file="${buildconfig}.buildconfig"/>
> > >     <property file="default.buildconfig"/>

This does not allow me load only one.  The hack is setting ${buildconfig} to
"default" in the general case.  This would have the desired effect but would
needlessly load the same properties file twice.

Sorry if I wasn't clear before.

Thanks,
Jeff

--- Erik Hatcher <jakarta-ant@ehatchersolutions.com> wrote:
> Its not really hackish to define a property even knowing that its likely to
> be overridden from the command-line - thats just the "Ant-way".
> 
>     Erik
> 
> 
> ----- Original Message -----
> From: "jeff drost" <jeffdrost@yahoo.com>
> To: "Ant Developers List" <ant-dev@jakarta.apache.org>
> Sent: Friday, November 16, 2001 12:58 PM
> Subject: Re: custom properties loading task
> 
> 
> > What if no command line argument is supplied?  I don't plan on providing
> an
> > actual file called "${buildconfig}.buildconfig", as ant would expect if
> the
> > ${buildconfig} property was not defined.
> >
> > I imaging I could set ${buildconfig} to "default" on a previous line, but
> that
> > is fairly hackish.. it would load the file "default.buildconfig" twice
> (the
> > second time having no effect).
> >
> > Jeff
> >
> >
> > --- Erik Hatcher <jakarta-ant@ehatchersolutions.com> wrote:
> > > This would do about the same thing:
> > >
> > >     <property file="${buildconfig}.buildconfig"/>
> > >     <property file="default.buildconfig"/>
> > >
> > > No guarantee about one being a subset of the other though, nor would
> > > exceptions be thrown.
> > >
> > >     Erik
> > >
> > >
> > >
> > > ----- Original Message -----
> > > From: "jeff drost" <jeffdrost@yahoo.com>
> > > To: <ant-dev@jakarta.apache.org>
> > > Sent: Friday, November 16, 2001 9:16 AM
> > > Subject: custom properties loading task
> > >
> > >
> > > > I have written a custom task, and have a hunch that the same
> functionality
> > > > could be achieved with several built-in tasks.  I'm hoping to find
> out, so
> > > I
> > > > can either use the built-in approach, or contribute my task.
> > > >
> > > > Rather than trying to explain it, I will give an example of how I use
> this
> > > > task.  In the directory I run builds from, I have four property files,
> > > they
> > > > are:
> > > >
> > > > default.buildconfig
> > > > qa.buildconfig
> > > > stage.buildconfig
> > > > prod.buildconfig
> > > >
> > > > If I simply run "ant", the task (which is currently called
> buildconfig)
> > > loads
> > > > the default.buildconfig property file and copies the loaded properties
> > > into the
> > > > Project.  These properties are then used by the build process.
> > > >
> > > > If I run "ant -Dbuildconfig=qa" then the default.buildconfig property
> file
> > > is
> > > > loaded, then the qa.buildconfig file is loaded.  The properties loaded
> > > from qa
> > > > overwrite those in the default properties file.  The resulting
> properties
> > > are
> > > > then copied into the Project.  Not that if a property is defined in qa
> > > that is
> > > > not defined in default, an exception is thrown.
> > > >
> > > > I know that without this task, I could load the smaller subset of
> > > properties
> > > > first, and then load the larger superset next, but this doesn't really
> > > > guarantee that the first one is a subset.  Also, I am not familiar
> with
> > > how I
> > > > would go about loading the first property file based on a command line
> > > > argument.  Any thoughts?
> > > >
> > > >
> > > > Thanks,
> > > > Jeff Drost
> > > >
> > > >
> > > > __________________________________________________
> > > > Do You Yahoo!?
> > > > Find the one for you at Yahoo! Personals
> > > > http://personals.yahoo.com
> > > >
> > > > --
> > > > To unsubscribe, e-mail:
> <mailto:ant-dev-unsubscribe@jakarta.apache.org>
> > > > For additional commands, e-mail:
> <mailto:ant-dev-help@jakarta.apache.org>
> > > >
> > > >
> > >
> > >
> > > --
> > > To unsubscribe, e-mail:
> <mailto:ant-dev-unsubscribe@jakarta.apache.org>
> > > For additional commands, e-mail:
> <mailto:ant-dev-help@jakarta.apache.org>
> > >
> >
> >
> > __________________________________________________
> > Do You Yahoo!?
> > Find the one for you at Yahoo! Personals
> > http://personals.yahoo.com
> >
> > --
> > To unsubscribe, e-mail:   <mailto:ant-dev-unsubscribe@jakarta.apache.org>
> > For additional commands, e-mail: <mailto:ant-dev-help@jakarta.apache.org>
> >
> >
> 
> 
> --
> To unsubscribe, e-mail:   <mailto:ant-dev-unsubscribe@jakarta.apache.org>
> For additional commands, e-mail: <mailto:ant-dev-help@jakarta.apache.org>
> 


__________________________________________________
Do You Yahoo!?
Find the one for you at Yahoo! Personals
http://personals.yahoo.com

--
To unsubscribe, e-mail:   <mailto:ant-dev-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:ant-dev-help@jakarta.apache.org>


Mime
View raw message