Shade has a collection of related parameters for controlling where the results end up. To me, they feel like a collection of individual items that are fairly confusing to the reader of the documentation.
Since I'm planning to bump the major version and change the behavior, I'd like to consider rationalizing all of them. It seems to me that there are, in fact, three modes of operation: 1) replace the primary artifact of the project. 2) attach an artifact with the user's choice of artifactId and classifier. 3) just drop a file someplace. In modes (1) and (2), it's also reasonable for the user to control the filename in the output directory, since every other plugin seems to allow that. So, what do people think of the following: Four parameters: <attach>true/false</attach> <attachArtifact> <artifactId/> <classifier/> </attachArtifact> <outputDirectory/> <finalName/> This puts all the information about the attached result in one place. Shade is the only plugin I know that allows you to attach with your choice of artifactId. To replace the primary artifact, the user would write: <artifactId>${project.artifactId}</artifactId> <classifier/> The defaults would be: <attach>true</attach> <attachArtifactId> <artifactId>${project.artifactId}</artifactId> <classifier>shaded</classifier> </attachArtifactId> <outputDirectory>${project.buildDirectory}</outputDirectory> <finalName>${attachArtifact.artifactId}-${attachArtifact.classifier}-${project.version}.jar</finalName> --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org For additional commands, e-mail: dev-h...@maven.apache.org