mirror of
https://github.com/apache/maven.git
synced 2025-03-08 01:30:33 +00:00
[MNG-7112] Do not select child modules when --non-recursive is given.
Closes #459
This commit is contained in:
parent
276c6a8dc4
commit
7c742c298b
@ -199,4 +199,9 @@ public void deactivateOptionalProject( String selector )
|
||||
{
|
||||
this.activations.add( new ProjectActivationSettings( selector, ActivationSettings.DEACTIVATION_OPTIONAL ) );
|
||||
}
|
||||
|
||||
public boolean isEmpty()
|
||||
{
|
||||
return this.activations.isEmpty();
|
||||
}
|
||||
}
|
||||
|
@ -233,7 +233,7 @@ private Set<MavenProject> getProjectsBySelectors( MavenExecutionRequest request,
|
||||
selectedProjects.add( selectedProject );
|
||||
|
||||
List<MavenProject> children = selectedProject.getCollectedProjects();
|
||||
if ( children != null )
|
||||
if ( children != null && request.isRecursive() )
|
||||
{
|
||||
selectedProjects.addAll( children );
|
||||
}
|
||||
|
@ -60,8 +60,9 @@ public List<MavenProject> selectProjects( List<File> files, MavenExecutionReques
|
||||
{
|
||||
ProjectBuildingRequest projectBuildingRequest = request.getProjectBuildingRequest();
|
||||
|
||||
List<ProjectBuildingResult> results = projectBuilder.build( files, request.isRecursive(),
|
||||
projectBuildingRequest );
|
||||
boolean hasProjectSelection = !request.getProjectActivation().isEmpty();
|
||||
boolean isRecursive = hasProjectSelection || request.isRecursive();
|
||||
List<ProjectBuildingResult> results = projectBuilder.build( files, isRecursive, projectBuildingRequest );
|
||||
|
||||
List<MavenProject> projects = new ArrayList<>( results.size() );
|
||||
|
||||
|
@ -117,9 +117,13 @@ public static Stream<Arguments> parameters()
|
||||
scenario( "Selected project" )
|
||||
.activeRequiredProjects( MODULE_B )
|
||||
.expectResult( MODULE_B ),
|
||||
scenario( "Selected project (including child modules)" )
|
||||
scenario( "Selected aggregator project (including child modules)" )
|
||||
.activeRequiredProjects( MODULE_C )
|
||||
.expectResult( MODULE_C, MODULE_C_1, MODULE_C_2 ),
|
||||
scenario( "Selected aggregator project with non-recursive" )
|
||||
.activeRequiredProjects( MODULE_C )
|
||||
.nonRecursive()
|
||||
.expectResult( MODULE_C ),
|
||||
scenario( "Selected optional project" )
|
||||
.activeOptionalProjects( MODULE_B )
|
||||
.expectResult( MODULE_B ),
|
||||
@ -143,6 +147,10 @@ public static Stream<Arguments> parameters()
|
||||
.inactiveOptionalProjects( "non-existing-module" )
|
||||
.inactiveRequiredProjects( MODULE_B )
|
||||
.expectResult( PARENT_MODULE, MODULE_C, MODULE_C_1, MODULE_A, MODULE_C_2, INDEPENDENT_MODULE ),
|
||||
scenario( "Excluded aggregator project with non-recursive" )
|
||||
.inactiveRequiredProjects( MODULE_C )
|
||||
.nonRecursive()
|
||||
.expectResult( PARENT_MODULE, MODULE_C_1, MODULE_A, MODULE_B, MODULE_C_2, INDEPENDENT_MODULE ),
|
||||
scenario( "Selected and excluded same project" )
|
||||
.activeRequiredProjects( MODULE_A )
|
||||
.inactiveRequiredProjects( MODULE_A )
|
||||
@ -263,7 +271,8 @@ void testGetReactorProjects(
|
||||
String parameterResumeFrom,
|
||||
String parameterMakeBehavior,
|
||||
ExpectedResult parameterExpectedResult,
|
||||
File parameterRequestedPom)
|
||||
File parameterRequestedPom,
|
||||
boolean parameterRecursive )
|
||||
{
|
||||
// Given
|
||||
ProjectActivation projectActivation = new ProjectActivation();
|
||||
@ -275,6 +284,7 @@ void testGetReactorProjects(
|
||||
when( mavenExecutionRequest.getProjectActivation() ).thenReturn( projectActivation );
|
||||
when( mavenExecutionRequest.getMakeBehavior() ).thenReturn( parameterMakeBehavior );
|
||||
when( mavenExecutionRequest.getPom() ).thenReturn( parameterRequestedPom );
|
||||
when( mavenExecutionRequest.isRecursive() ).thenReturn( parameterRecursive );
|
||||
if ( StringUtils.isNotEmpty( parameterResumeFrom ) )
|
||||
{
|
||||
when( mavenExecutionRequest.getResumeFrom() ).thenReturn( ":" + parameterResumeFrom );
|
||||
@ -394,6 +404,7 @@ static class ScenarioBuilder
|
||||
private String resumeFrom = "";
|
||||
private String makeBehavior = "";
|
||||
private File requestedPom = new File( PARENT_MODULE, "pom.xml" );
|
||||
private boolean recursive = true;
|
||||
|
||||
private ScenarioBuilder() { }
|
||||
|
||||
@ -446,6 +457,12 @@ public ScenarioBuilder requestedPom( String requestedPom )
|
||||
return this;
|
||||
}
|
||||
|
||||
public ScenarioBuilder nonRecursive()
|
||||
{
|
||||
this.recursive = false;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Arguments expectResult( String... expectedReactorProjects )
|
||||
{
|
||||
ExpectedResult expectedResult = new SelectedProjectsResult( asList( expectedReactorProjects ) );
|
||||
@ -462,7 +479,7 @@ private Arguments createTestArguments( ExpectedResult expectedResult )
|
||||
{
|
||||
return Arguments.arguments( description, activeRequiredProjects, activeOptionalProjects,
|
||||
inactiveRequiredProjects, inactiveOptionalProjects, resumeFrom, makeBehavior, expectedResult,
|
||||
requestedPom );
|
||||
requestedPom, recursive );
|
||||
}
|
||||
|
||||
private List<String> prependWithColonIfNeeded( String[] selectors )
|
||||
|
Loading…
x
Reference in New Issue
Block a user