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 );