Colin Yates wrote:
Hi all,

(using gradle 0.8).

You should upgrade if you can. The change-over will be less painful later and you'll get access to the latest archive task/copy goodness.


I have a fairly common (I think) use case - we have a single WAR which exposes 
an integration point for external systems.  Different clients have different 
external systems, so when I build the project for clientA I want the WAR file 
to include the clientA extensions, for clientB I want.....you get the picture :)

At the moment clientA has its own project which gets hold of the WAR, extracts 
it, inserts itself into /WEB-INF/lib and then re-jars the WAR file.  This is a 
bit yucky.

I'm no expert, but I believe that the newer archive tasks would make it really easy to make a new WAR combining one WAR plus another JAR in it's WEB-INF/lib directory. I haven't done exactly that, but very very similar.


I am considering turning it the other way around and adding a task in the WAR 
project which, depending on some condition will dynamically add a dependency, 
so if the 'client' property = clientA it will add a dependency to the clientA 
JAR.

What do other people do in this scenario?

Personally, I think you currently have it right with the client's pulling in what they need to build themselves. I think "turning it the other way around" will be more complicated and less intuitive to others trying to figure out what's going on.

-Paul


---------------------------------------------------------------------
To unsubscribe from this list, please visit:

   http://xircles.codehaus.org/manage_email


Reply via email to