Hi,

I'm looking into improving the dependency code to cope with non-jar artefacts - e.g. war, ejb, tld etc. Also multiple artefacts within a dependency.

For clarity: I understand a dependency to be a collection of artifacts. A dependency equates to a single subdirectory within the repository e.g. struts.

I think two things are missing from the current dependency structure.
1) Dependencies should work for file types other than jar.
2) A dependency should be able to consist of more than 1 file. e.g. a dependency on struts version 1.0.2 would be to a jar file and 4 tld files.

An idea I'm currently playing with is to have a dependency descriptor that would exist in the repository. This would describe the files that make up a dependency and their types. Note, type does not neccessarily equate to file extension. The project.xml defines which dependencies / versions a project uses (as is does now now), and the plugins executed would be responsible for deciding which of the artefacts within the dependency to use and how they should be used.

examples of possible dependency types

maven.jar
maven.war
maven.ejb.jar
maven.ejb.client.jar
maven.ejb.local.jar
maven.war.tld

the struts 1.0.2 dependency descriptor could look something like

jars/struts-1.0.2.jar:maven.jar
tlds/struts-html.tld:maven.war.tld
tlds/struts-logic.tld:maven.war.tld
tlds/struts-bean.tld:maven.war.tld
tlds/struts-form.tld:maven.war.tld

The war plugin would then look for all dependency artefacts of type maven.jar to copy to the WEB-INF/lib dir and all maven.war.tld to copy to the WEB-INF/tld dir

It shouldn't be too hard to autogenerate the dependency descriptors from the various install tasks.


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

Reply via email to