[
https://jira.codehaus.org/browse/MNG-2649?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Paul Benedict updated MNG-2649:
-------------------------------
Fix Version/s: (was: Issues to be reviewed for 3.x)
> Allow support for property list based artifact qualifying (enhanced
> classifiers)
> --------------------------------------------------------------------------------
>
> Key: MNG-2649
> URL: https://jira.codehaus.org/browse/MNG-2649
> Project: Maven
> Issue Type: New Feature
> Components: Artifacts and Repositories
> Affects Versions: 2.0.4
> Environment: Maven 2
> Reporter: Cédric Vidal
>
> It should be possible to qualify different flavors of an artifact with a list
> of properties instead of just a single classifier.
> The qualified artifacts could be named:
> {noformat}
> myproj-1.0-env=prod-distributed=true.ear
> myproj-1.0-env=dev-distributed=true.ear
> myproj-1.0-env=prod-distributed=false.ear
> myproj-1.0-env=dev-distributed=false.ear
> {noformat}
> They would be referenced that way:
> {code:xml}
> <dependency>
> <groupId>com.foo.bar</groupId>
> <artifactId>myproj</artifactId>
> <version>1.0</version>
> <qualifiers>
> <qualifier><name>env</name><value>prod</value></qualifier>
> <qualifier><name>distributed</name><value>true</value></qualifier>
> </qualifiers>
> </dependency>
> {code}
> And the order of the classifiers should not be important. The previous should
> resolve both:
> {noformat}
> myproj-1.0-env=prod-distributed=true.ear
> myproj-1.0-distributed=true-env=prod.ear
> {noformat}
> Qualifiers could also be transitive. A typical use case is EARs (or any other
> types of artifacts which when packaged embed other artifacts) . If you want
> to build the distributed production version of an EAR, then you certainly
> want to include in that EAR the distributed production versions of its WAR
> dependencies.
> To avoid clash in naming with current classifiers, maybe this functionality
> could be named qualifiers. Finally, semantically speaking, the difference
> between classifiers and "qualifiers" could be that the "qualifiers" could be
> used for mutually exclusive artifacts whereas classified versions of a given
> artifact can be used either together or not.
> To illustrate my point, regarding qualifiers, there is no sens in depending
> on both prod and dev versions of a WAR or depending on both the distributed
> and non distributed versions of a same EAR, whereas regarding classifiers, in
> code generation scenarios, daos and entities are generated by a single
> project and attached as seperate jars, they are a whole but it's up to you to
> depend only on entities or on both entities and DAOs. For a more detailed
> explanation of that code generation use case, please see the discussion with
> Stephane Nicoll in MEAR-44.
> Regards,
> Cédric Vidal
--
This message was sent by Atlassian JIRA
(v6.1.6#6162)