Hi All,

Apologies for the OT, but I hoped I could source some expertise :) Our
development environment looks a bit like this:

VSS | Eclipse | LOCAL | STAGING | PRE-LIVE | LIVE1/LIVE2 |
==========================================================
    |         | DEV1  |         |          |             |
    |         | DEV2  |         |          |             |
    |         | DEV3  |         |          |             |
    |         | DEV4  |         |          |             |
    |         | DEV5  |         |          |             |
    |         | DEV6  |         |          |             |

Each developer has their own local Tomcat instance, and can develop
independently of others. All developers use Eclipse, which uses the VSS
plugin to talk to the VSS source repository. We configure the web
application using META-INF/context.xml. This context.xml contains
several named data sources that on a local machine point to the same
(test) database server and database name, i.e

<Resource 
  name="jdbc/cms" 
  jdbcUrl="jdbc:jtds:sqlserver://dbsvr0:1433/dbName" 
  .. snip ..
/>

<Resource 
  name="jdbc/web" 
  jdbcUrl="jdbc:jtds:sqlserver://dbsvr0:1433/dbName" 
  .. snip ..
/>

But which, when deployed out to the staging, pre-live and live servers
branch to different database servers, e.g dbsvr1 and dbsvr2
respectively.

When developing locally, developers keep their web app source up to date
with latest versions, including the context.xml, and when they compile
in Eclipse, via MyEclipse, this is deployed to their local Tomcat, i.e
Ant is not needed at this stage.

However, to do the database branching and other property replacements
when deploying to other servers, we necessarily use Ant.

I setup a build.xml that uses named properties files and string
replacements to search for substrings within the context.xml in order to
replace db server names, e.g

ant -Dserver=staging deploy

And a typical replace might look like this

<replace 
  file="${webapp.build.path}/META-INF/context.xml" 
  token="dbsvr0" 
  value="${db.server.0}" />

This has worked until today, where I (as illustrated by the Resource
declarations earlier) need to have 2 data sources which are identical in
the context.xml in all but JNDI name. 

So that when I now deploy to staging, both the dbsvr0 strings get
replaced with the value of db.server.0 in the properties file. What I
actually need is to replace one with db.server.0 and one with
db.server.1 but substring matching is not going to cut it.

This is kind of an open-ended email to find out if anyone has a
different strategy where they do not use ant to build locally from
central config files, but do modify them outbound to other servers, and
also branch in this way. I can't see a way around this if I continue
using the replace task :(

Cheers for your time, Allistair.


<FONT SIZE=1 FACE="VERDANA,ARIAL" COLOR=BLUE> 
-------------------------------------------------------
QAS Ltd.
Registered in England: No 2582055
Registered in Australia: No 082 851 474
-------------------------------------------------------
</FONT> <FONT SIZE=1 FACE="VERDANA,ARIAL" COLOR=BLACK> 
Disclaimer:  The information contained within this e-mail is confidential and 
may be privileged. This email is intended solely for the named recipient only; 
if you are not authorised you must not disclose, copy, distribute, or retain 
this message or any part of it. If you have received this message in error 
please contact the sender at once so that we may take the appropriate action 
and avoid troubling you further.  Any views expressed in this message are those 
of the individual sender.  QAS Limited has the right lawfully to record, 
monitor and inspect messages between its employees and any third party.  Your 
messages shall be subject to such lawful supervision as QAS Limited deems to be 
necessary in order to protect its information, its interests and its 
reputation.  

Whilst all efforts are made to safeguard Inbound and Outbound emails, QAS 
Limited cannot guarantee that attachments are virus free or compatible with 
your systems and does not accept any liability in respect of viruses or 
computer problems experienced.
</FONT>


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to