Garret Wilson created MASSEMBLY-993: ---------------------------------------
Summary: Configuration option to specify artifact classifier. Key: MASSEMBLY-993 URL: https://issues.apache.org/jira/browse/MASSEMBLY-993 Project: Maven Assembly Plugin Issue Type: Improvement Reporter: Garret Wilson Please add a {{classifier}} option to the Maven Assembly Plugin, similar to the [Spring Boot Maven Plugin option of the same name|https://docs.spring.io/spring-boot/docs/current/maven-plugin/reference/htmlsingle/#goals-repackage-parameters-details-classifier], to allow a POM to explicitly indicate what classifier to append to the end of the artifact. Generated Maven artifacts have an option of a "classifier" such as {{javadoc}} or {{sources}}. This is placed on the end of a artifact base filename, such as {{foo-1.2.3-javadoc.jar}} or {{foo-1.2.3-sources}}. See the description of classifiers in the [Maven POM Reference|https://maven.apache.org/pom.html] for more details. The Spring Boot Maven Plugin has a simple [configuration to set the classifier|https://docs.spring.io/spring-boot/docs/current/maven-plugin/reference/htmlsingle/#goals-repackage-parameters-details-classifier]. Thus if I specify {{bar}} as my classifier, then Spring Boot Maven Plugin generates {{foo-1.2.3-bar.jar}}. The Maven Assembly Plugin's only equivalent facility is indirect and arguably semantically incorrect. Instead of specifying a "classifier", the Assembly Plugin has a Boolean option to [append the assembly ID|https://maven.apache.org/plugins/maven-assembly-plugin/single-mojo.html#appendAssemblyId]. The name of this option is a little unclear; what it's really saying is "use the assembly ID as the artifact classifier". Using the assembly ID as the classifier is not a bad default, but the problem is not allowing an option for an alternate classifier. The drawback here is that the consumer of a public, published assembly descriptor _has no control over what the ID is defined within the descriptor_. There needs to be a way to specify the generated artifact classifier _at the point of plugin definition_, independent of what is defined in the descriptor. (Of course, if MASSEMBLY-992 were implemented, this would provide one workaround, although not solve the problem of consuming published artifact descriptors.) As an example see https://github.com/symphoniacloud/lambda-packaging/issues/1 . Symphonia publishes a Maven Assembly Plugin descriptor, but the ID it uses (for reasons I outline in that ticket) is less than ideal. If the Assembly Plugin simply were to allow a {{classifier}} option like Spring Boot Maven Plugin does, the POM could simply choose whatever it wants, independent of the ID in the assembly descriptor. -- This message was sent by Atlassian Jira (v8.20.10#820010)