Adam Gent created MNG-7033:
------------------------------

             Summary: Excluded projects through -pl should not need to be in 
the reactor
                 Key: MNG-7033
                 URL: https://issues.apache.org/jira/browse/MNG-7033
             Project: Maven
          Issue Type: Improvement
          Components: Command Line
    Affects Versions: 3.6.3, 3.6.1, 3.6.0
            Reporter: Adam Gent


TLDR if you exclude a module using {{!module}} or {{-module}} with {{-pl}} that 
module needs to somehow be in the resolved reactor.

We have custom build scripts (e.g. shells scripts or makes) that will make a 
certain subset of the project using {{-pl}}. However some modules we want to 
always exclude. (Yes we could use profiles but the maintenance of that solution 
is unacceptable to us).

Thus if we do something like this:

{code:sh}
mvn install -pl "snaphop-cache,-snaphop-http" -amd
{code}

We may or not may not get the following depending on whether snaphop-cache has 
a downstream dependency on snaphop-http:

{code}
[INFO] Scanning for projects...
[ERROR] [ERROR] Could not find the selected project in the reactor: 
snaphop-http @
[ERROR] Could not find the selected project in the reactor: snaphop-http -> 
[Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e 
switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please 
read the following articles:
[ERROR] [Help 1] 
http://cwiki.apache.org/confluence/display/MAVEN/MavenExecutionException
{code}

Thus it becomes nontrivial to exclude a module. One has to know whether or not 
{{snaphop-cache}} will trigger {{snaphop-http}} to be in the reactor.

Furthermore the command may fail if some one changes dependencies (not project 
structure or modules). 

I find that to be alarming. {{-pl}} shouldn't fail if dependencies change. 

My recommendation is if -pl can't find the exclusion module in the currently 
selected reactor is just ignores it or perhaps issues a warning.




--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to