Hi David,

> It looks to me like a circular dependency between the 
> modules; from a  
> clean start you can build neither module first.

I appreciate all of the concern about this percieved circular dependency,
and I hadn't really wanted to go into the full details of why I want it that
way. However, the point is that the module X is a free standing independent
module that does not depend in any way on the plugin P. It can be built on
its own, and that it the normal run of things. 

The module X can be deployed either standalone, or as a web service - they
need the same components, and so it makes sense to call war:war and jar:jar
from the same project, since there is no further work to get the archives in
the required format.

The reason for adding P.jar as a dependency is, as I have already stated, a
hack to enable me to package the plugin with X. It is not necessary for me
to package it this way - as I said, X can happliy stand alone. It is just
convenient for me to include the plugin P to save giving the customer the
war to deploy, and a separate jar to add to a directory which will not even
appear until after the war has been deployed (you just *know* that they'll
get it wrong).

Currently I have a custom goal in the parent project of all these
sub-projects which cleans, generates code, compiles code and jars everything
up. This works fine without X's dependency on P. What I would like to do is
to subsequently run war:war on module X and for it to pick up the already
generate P.jar.

> I suggest you have 3 projects: X.jar that compiles the X classes and  
> produces a jar, P, and a new war project with no java source that  
> includes X.jar and P.jar in the WEB-INF/lib directory.  If 
> you actually  
> need the X classes in WEB-INF/classes you can put together 
> some jelly  
> to unpack X.jar.

You see to me this is a worse hack than the one I was after. I already have
six or seven subprojects - this is a practically empty subproject to keep
track of - I'll need to hack the existing scripts in the parent project to
ensure that the website for this subproject doesn't get built, I'll have my
jar and war files in different directory trees etc. None of this is
desirable when a simple war:war could do the trick.

So, finally, how can I do this using Jelly? It is not something I can do
with Ant tasks, and there doesn't seem to be any good documentation on Jelly
tasks in Maven. What I want to do is use the maven.xml to add a pre-goal to
war:war which will download an artifact from the repository, and add it to a
lib folder in the target directory, perhaps controlling the artifacts to
download via a property.

Thanks,

-- 
Anthony Roy.


**************************************************************************

Experience the British Library online at www.bl.uk 

Help the British Library conserve the world's knowledge. Adopt a Book.
www.bl.uk/adoptabook 

*************************************************************************

The information contained in this e-mail is confidential and may be legally
privileged. It is intended for the addressee(s) only. If you are not the
intended recipient, please delete this e-mail and notify the
[EMAIL PROTECTED] : The contents of this e-mail must not be disclosed or
copied without the sender's consent. 

The statements and opinions expressed in this message are those of the
author and do not necessarily reflect those of the British Library. The
British Library does not take any responsibility for the views of the
author. 

************************************************************************* 


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

Reply via email to