MartinKanters commented on a change in pull request #446:
URL: https://github.com/apache/maven/pull/446#discussion_r575851985
##########
File path:
maven-core/src/main/java/org/apache/maven/graph/DefaultGraphBuilder.java
##########
@@ -242,21 +274,17 @@ public DefaultGraphBuilder( BuildResumptionDataRepository
buildResumptionDataRep
{
List<MavenProject> result = projects;
- if ( !request.getExcludedProjects().isEmpty() )
+ ProjectActivation projectActivation = request.getProjectActivation();
+ Set<String> requiredSelectors =
projectActivation.getRequiredInactiveProjectSelectors();
+ Set<String> optionalSelectors =
projectActivation.getOptionalInactiveProjectSelectors();
+ if ( !requiredSelectors.isEmpty() || !optionalSelectors.isEmpty() )
{
- File reactorDirectory = getReactorDirectory( request );
+ Set<MavenProject> excludedProjects = new HashSet<>(
requiredSelectors.size() + optionalSelectors.size() );
+ excludedProjects.addAll( getProjectsBySelectors( request,
projects, requiredSelectors, true ) );
+ excludedProjects.addAll( getProjectsBySelectors( request,
projects, optionalSelectors, false ) );
Review comment:
Interesting question, the `DefaultGraphBuilder` will first filter based
on the selected modules (+), afterwards it will filter out the excluded
projects, so in this case nothing will be selected. Actually, it will result in
a bug (I'll create a JIRA ticket for it)
This is an attempt in the integration-test project:
```
>mvn validate -pl !core-it-suite,+core-it-suite
[INFO] Scanning for projects...
[INFO]
------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO]
------------------------------------------------------------------------
[INFO] Total time: 0.630 s
[INFO] Finished at: 2021-02-14T20:15:52+01:00
[INFO]
------------------------------------------------------------------------
[ERROR] No goals have been specified for this build. You must specify a
valid lifecycle phase or a goal in the format <plugin-prefix>:<goal> or
<plugin-group-id>:<plugin-artifact-id>[:<plugin-version>]:<goal>. Available
lifecycle phases are: validate, initialize, generate-sources, process-sources,
generate-reso
urces, process-resources, compile, process-classes, generate-test-sources,
process-test-sources, generate-test-resources, process-test-resources,
test-compile, process-test-classes, test, prepare-package, package,
pre-integration-test, integration-test, post-integration-test, verify, install,
deploy, pre-clean,
clean, post-clean, pre-site, site, post-site, site-deploy. -> [Help 1]```
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]