I'm trying to use indirection again to implement "Don't Repeat Yourself" but I'm stuck and need some expert help.
I have created a custom artifact type, and now I'm trying to figure out how to get it to behave "a little more" like the stock jar artifact type. A concrete example of the problem is this: I have several modules that may be shipped in varying combinations, all of which depend on the same JDBC drivers. One requirement has been that we make the JDBC drivers field-updateable, so I've factored out the collection of JDBC drivers, and created an "installer" package type and a mojo that reuses maven-assembly-plugin to build a tarball that includes an install.sh that puts them in the right place on the appliance. Now, I have webapps and other servers that are installed in various places on the appliance, that depend on the JDBC drivers, and I want to express these dependencies as a dependency on the "jdbc-installer" artifact, and my expectation is that the webapp and other servers' compile classpaths get all of "jdbc-installer" dependencies (the actually driver jars). That's where the "Don't Repeat Yourself" comes into play: now, if Oracle ships a new ojdbc15.jar, I only have to update my jdbc-installer, and all of it's dependents notice the change "magically". Except for one problem: my custom artifact type's dependencies don't get added to the webapp's compile classpath. I've looked at DefaultArtifactHandler to see if I could solve the problem by subclassing that, but it doesn't appear to be helpful. I wonder if anyone can tell me where to look to extend Maven's classpath builder to take my installer's dependencies. This whole exercise - creating the custom artifact type - has felt to me like something that should be part of Maven, "out of the box". The only conclusion I can draw is that I'm misunderstanding something that's fundamental to Maven. Please help me see what I'm missing. TIA, -- Tommy --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]