Hello all

Maven 4 introduced some new types of JAR, including:

 * jar (same as Maven 3)
 * modular-jar
 * classpath-jar
 * processor
 * classpath-processor
 * modular-processor

It has been pointed out (in a discussion elsewhere about JPMS) that declaring that a JAR is for use by the annotation processor (or doclet, taglet, etc.) is closer to the definition of a scope. It think that it is a good point. Should we remove the types listed below and replace them by the following (type, scope) pairs?

<type>processor</type> replaced by:

   <type>jar</type>
   <scope>processor</scope>

<type>classpath-processor</type> replaced by:

   <type>classpath-jar</type>
   <scope>processor</scope>

<type>modular-processor</type> replaced by:

   <type>modular-jar</type>
   <scope>processor</scope>

Same for doclet, taglet, etc. Therefore, "classpath-jar" and "modular-jar" would be the only new types relative to JPMS, and new scopes "processor", "doclet" and "taglet" would be added in addition of "main" and "test". It would reduce the total number of types/scopes (no need to repeat "processor" for each variant of classpath versus module-path) and could be related to the new <source> element recently added to the Maven 4. It could also, in a future evolution, fit nicely with the closely-related <scope> element of the recently added <source> element (the latter would be a separated discussion).

    Martin

Reply via email to