THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
My suggestion that still seems to satisfy all requirements is:
- make type only be primary artifact types, and dependency.type = pom.type
- add derivative to the dependency element. Valid derivatives are defined by the artifact handler
- allow the artifact handler to generate any of its derivatives as controlled by properties to that plugin
- unique identifier for a project remains groupId:artifactId:type
- filename for a derivative is /groupId/types/artifactId-derivative-version.type by default where derivative is optional.
- artifact handlers can define custom repo filename mappers to change the filename as necessary. The only use fo this I see is to change the extension: so maybe the artifact handler just defines an extension instead.
—
Original:
Firstly, we must be able to customise the artifact name in the repository, in the filename. David and Emmanuel have demonstrated this clearly in emails today. ie ejbs should be built to /ejbs/foo-1.0.jar and /ejbs/foo-1.0-client.jar. the jars directory is for jars that are not special, not for wars, ejbs, etc.
...