This will install a single project which may contain several artifacts. Those artifacts will be installed into
the appropriate repository.
@Parameter( defaultValue = "${session}", required = true, readonly = true )
private MavenSession session;
@Parameter( defaultValue = "${project}", required = true, readonly = true )
private MavenProject project;
..
@Component
private ProjectInstaller installer;
...
public void execute()
{
ProjectInstallerRequest pir =
new ProjectInstallerRequest()
.setProject( mavenProject );
installer.install( session.getProjectBuildingRequest(), pir );
}
To set a different local repository than the current one in the Maven session, you can inject an instance of the
RepositoryManager and set the path to the local repository, called
localRepositoryPath,
as such:
@Component
private RepositoryManager repositoryManager;
buildingRequest = repositoryManager.setLocalRepositoryBasedir( buildingRequest, localRepositoryPath );