[ https://issues.apache.org/jira/browse/MPLUGIN-450?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17806676#comment-17806676 ]
ASF GitHub Bot commented on MPLUGIN-450: ---------------------------------------- rmannibucau commented on PR #240: URL: https://github.com/apache/maven-plugin-tools/pull/240#issuecomment-1891520373 @laeubi ok, so if I rephrase the questions are IMHO: 1. Do we want to let people go a prefix they didn't anticipate since it will fully be part of the exposed UI to the end user (mvn foo:bar) - the fact you said you didn't know what to put whereas it was in your doc kind of corroborate that part? 2. For tempting cases where you flag your plugin "plugin", "maven-plugin" you were getting an empty prefix which was wrong and must fail by design - it really happent (happens :(). So discussion is mainly about 1, I think a warning wouldnt help and an error is the right thing to do - warnings tend to be ignored or avoided as an error so both cases make it useless so it is either considered ok - half of the cases are not as mentionned - so I think error is better for that reason even if it means some people will have to explicit the prefix even if the heuristic was ok-ish for them (note that rat is one example it was not ok, the `rat` vs `apache-rat` prefix is still an issue for most users and highlights point 1 too). Hope it helps to follow my reasoning a bit. > Make goal prefix mandatory by default > ------------------------------------- > > Key: MPLUGIN-450 > URL: https://issues.apache.org/jira/browse/MPLUGIN-450 > Project: Maven Plugin Tools > Issue Type: Improvement > Components: Plugin Plugin > Reporter: Tamas Cservenak > Assignee: Guillaume Nodet > Priority: Major > Fix For: 3.11.0 > > > The goal prefix currently is not mandatory, and plugin uses heuristic to > figure it out, if possible (xxx-maven-plugin or maven-xxx-plugin, latter for > org.apache.maven plugins ONLY). > In general, goal prefix is optional, but "good to have", and usually is > present. > Cases when is not present, is when heuristics fails (so plugin module is not > named as "xxx-maven-plugin" or "maven-xxx-plugin") and user did not provide > one either. The cases when prefix is not present is mostly unintentional, but > maven-plugin-plugin leaves this without any remark or warning. > IMHO, the maven-plugin-plugin should either warn, or even fail the build in > case when goal prefix is not present, but we may want to have some option to > turn off this feature (for me unknown reasons, where it would be expected to > NOT have goal prefix for a reason). > TL;DR Am pretty much sure that in most of the cases when plugin developer > ends up with plugin without prefix, that it was unintentional (and causes > surprise later, not to mention refactoring the module name or POM change to > configure it), while there MAY be cases where goal prefix is not desired for > some reason (ie. plugin not mentioned for manual/CLI invocation). Simply put, > the out of the box defaults should enforce presence of it, while advanced > users still can produce prefix-less plugins with some extra configuration. > This would make things more explicit as well: even if plugin is named as > xxx-maven-plugin, configuration would be clear I do not want prefix for it. -- This message was sent by Atlassian Jira (v8.20.10#820010)