gnodet commented on a change in pull request #15:
URL:
https://github.com/apache/maven-install-plugin/pull/15#discussion_r760889196
##########
File path: pom.xml
##########
@@ -120,13 +132,31 @@
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
- <version>1.7.30</version>
+ <version>${slf4jVersion}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-nop</artifactId>
- <version>1.7.30</version>
+ <version>${slf4jVersion}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.aether</groupId>
+ <artifactId>aether-api</artifactId>
+ <version>${aetherVersion}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.aether</groupId>
+ <artifactId>aether-util</artifactId>
+ <version>${aetherVersion}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.aether</groupId>
+ <artifactId>aether-impl</artifactId>
+ <version>${aetherVersion}</version>
Review comment:
It seems a bunch of changes are not really related to the `installAtEnd`
problem and could be moved into a different commit.
##########
File path: src/main/java/org/apache/maven/plugins/install/InstallMojo.java
##########
@@ -94,50 +89,70 @@ public void execute()
boolean addedInstallRequest = false;
if ( skip )
{
+ getPluginContext().put( INSTALL_PROCESSED_MARKER, Boolean.FALSE );
getLog().info( "Skipping artifact installation" );
}
else
{
- // CHECKSTYLE_OFF: LineLength
- ProjectInstallerRequest projectInstallerRequest =
- new ProjectInstallerRequest().setProject( project );
- // CHECKSTYLE_ON: LineLength
-
if ( !installAtEnd )
{
- installProject( session.getProjectBuildingRequest(),
projectInstallerRequest );
+ installProject( project );
}
else
{
- INSTALLREQUESTS.add( projectInstallerRequest );
+ getPluginContext().put( INSTALL_PROCESSED_MARKER, Boolean.TRUE
);
addedInstallRequest = true;
}
}
- boolean projectsReady = READYPROJECTSCOUNTER.incrementAndGet() ==
reactorProjects.size();
- if ( projectsReady )
+ if ( allProjectsMarked() )
{
- synchronized ( INSTALLREQUESTS )
+ for ( MavenProject reactorProject : reactorProjects )
{
- while ( !INSTALLREQUESTS.isEmpty() )
+ Map<String, Object> pluginContext = session.getPluginContext(
pluginDescriptor, reactorProject );
+ Boolean install = (Boolean) pluginContext.get(
INSTALL_PROCESSED_MARKER );
+ if ( !install )
+ {
+ getLog().info(
+ "Project " + getProjectReferenceId( reactorProject ) +
" skipped install"
+ );
+ }
+ else
{
- installProject( session.getProjectBuildingRequest(),
INSTALLREQUESTS.remove( 0 ) );
+ installProject( reactorProject );
}
}
}
else if ( addedInstallRequest )
{
- getLog().info( "Installing " + project.getGroupId() + ":" +
project.getArtifactId() + ":"
- + project.getVersion() + " at end" );
+ getLog().info( "Installing " + getProjectReferenceId( project ) +
" at end" );
Review comment:
Can this log statement be moved a bit earlier when `addedInstallRequest`
is set to `true` ?
##########
File path: src/main/java/org/apache/maven/plugins/install/InstallMojo.java
##########
@@ -94,50 +89,70 @@ public void execute()
boolean addedInstallRequest = false;
if ( skip )
{
+ getPluginContext().put( INSTALL_PROCESSED_MARKER, Boolean.FALSE );
getLog().info( "Skipping artifact installation" );
}
else
{
- // CHECKSTYLE_OFF: LineLength
- ProjectInstallerRequest projectInstallerRequest =
- new ProjectInstallerRequest().setProject( project );
- // CHECKSTYLE_ON: LineLength
-
if ( !installAtEnd )
{
- installProject( session.getProjectBuildingRequest(),
projectInstallerRequest );
+ installProject( project );
}
else
{
- INSTALLREQUESTS.add( projectInstallerRequest );
+ getPluginContext().put( INSTALL_PROCESSED_MARKER, Boolean.TRUE
);
addedInstallRequest = true;
}
}
- boolean projectsReady = READYPROJECTSCOUNTER.incrementAndGet() ==
reactorProjects.size();
- if ( projectsReady )
+ if ( allProjectsMarked() )
{
- synchronized ( INSTALLREQUESTS )
+ for ( MavenProject reactorProject : reactorProjects )
{
- while ( !INSTALLREQUESTS.isEmpty() )
+ Map<String, Object> pluginContext = session.getPluginContext(
pluginDescriptor, reactorProject );
+ Boolean install = (Boolean) pluginContext.get(
INSTALL_PROCESSED_MARKER );
+ if ( !install )
+ {
+ getLog().info(
+ "Project " + getProjectReferenceId( reactorProject ) +
" skipped install"
+ );
Review comment:
This looks redundant with the log statement printed earlier `"Skipping
artifact installation"`. This will print lots of line when the artifacts are
actually installed for no benefit imho.
##########
File path: src/main/java/org/apache/maven/plugins/install/InstallMojo.java
##########
@@ -94,50 +89,70 @@ public void execute()
boolean addedInstallRequest = false;
if ( skip )
{
+ getPluginContext().put( INSTALL_PROCESSED_MARKER, Boolean.FALSE );
getLog().info( "Skipping artifact installation" );
}
else
{
- // CHECKSTYLE_OFF: LineLength
- ProjectInstallerRequest projectInstallerRequest =
- new ProjectInstallerRequest().setProject( project );
- // CHECKSTYLE_ON: LineLength
-
if ( !installAtEnd )
{
- installProject( session.getProjectBuildingRequest(),
projectInstallerRequest );
+ installProject( project );
}
else
{
- INSTALLREQUESTS.add( projectInstallerRequest );
+ getPluginContext().put( INSTALL_PROCESSED_MARKER, Boolean.TRUE
);
addedInstallRequest = true;
}
}
- boolean projectsReady = READYPROJECTSCOUNTER.incrementAndGet() ==
reactorProjects.size();
- if ( projectsReady )
+ if ( allProjectsMarked() )
Review comment:
Does this work if the last project being built does not have a standard
lifecycle ? Or maybe this does not exist ?
--
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.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]