Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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.

...