Currently, if you have attachments on a pom, both the main artifact and the attachments have the
Use case 1:
packaging ejb: there's an ejb jar and an ejb-client jar. The ejb-client jar only
contains interfaces (actually, everything except the beans themselves), but no
business logic. The business logic in the ejb beans themselves however can have
a dependency that is not required for the ejb-client.
Use case 2:
POMS producing .jar, .dll and .so suffer from the same problem. If there are dependencies
needed for just one or two types (either the jar or both .dll and .so), depending on
the other type also includes those dependencies.
Proposal: add a tag <forTypes> (better name!) to <dependency>; when absent, all types
will have this dependency; when present, only the specified types will have these dependencies.
- add 'getXXClasspath( type ); methods to MavenProject and let the plugins use those.
- dependency resolution should pick foreign dependencies parameterized by the <type>
or get them all and just group them by type (the first is preferred since the latter will cause
unused dependencies to be resolved).