Class DefaultProjectInstaller
- java.lang.Object
-
- org.apache.maven.shared.transfer.project.install.internal.DefaultProjectInstaller
-
- All Implemented Interfaces:
ProjectInstaller
@Component(role=ProjectInstaller.class) class DefaultProjectInstaller extends java.lang.Object implements ProjectInstaller
This will install a whole project into the appropriate repository.
-
-
Field Summary
Fields Modifier and Type Field Description private ArtifactInstallerinstallerprivate static org.slf4j.LoggerLOGGERprivate RepositoryManagerrepositoryManager
-
Constructor Summary
Constructors Constructor Description DefaultProjectInstaller()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidaddMetaDataFilesForArtifact(org.apache.maven.project.ProjectBuildingRequest buildingRequest, org.apache.maven.artifact.Artifact artifact, java.util.Collection<java.io.File> targetMetadataFiles)private java.io.FilegetLocalRepoFile(org.apache.maven.project.ProjectBuildingRequest buildingRequest, org.apache.maven.artifact.metadata.ArtifactMetadata metadata)Gets the path of the specified artifact metadata within the local repository.voidinstall(org.apache.maven.project.ProjectBuildingRequest buildingRequest, ProjectInstallerRequest installerRequest)This will install a single project which may contain several artifacts.private voidvalidateParameters(org.apache.maven.project.ProjectBuildingRequest buildingRequest, ProjectInstallerRequest installerRequest)
-
-
-
Field Detail
-
LOGGER
private static final org.slf4j.Logger LOGGER
-
installer
@Requirement private ArtifactInstaller installer
-
repositoryManager
@Requirement private RepositoryManager repositoryManager
-
-
Method Detail
-
install
public void install(org.apache.maven.project.ProjectBuildingRequest buildingRequest, ProjectInstallerRequest installerRequest) throws java.io.IOException, ArtifactInstallerException, NoFileAssignedException, java.lang.IllegalArgumentExceptionThis 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; 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 theRepositoryManagerand set the path to the local repository, calledlocalRepositoryPath, as such:@Component private RepositoryManager repositoryManager; buildingRequest = repositoryManager.setLocalRepositoryBasedir( buildingRequest, localRepositoryPath );
- Specified by:
installin interfaceProjectInstaller- Parameters:
buildingRequest-ProjectBuildingRequestinstallerRequest-ProjectInstallerRequest- Throws:
java.io.IOException- In case of problems related to checksums.ArtifactInstallerException- In case of problems to install artifacts.NoFileAssignedException- If no file has been assigned to the project.java.lang.IllegalArgumentException- in case of parameterprojectBuildingRequestisnullor parameterprojectInstallerRequestisnull.
-
validateParameters
private void validateParameters(org.apache.maven.project.ProjectBuildingRequest buildingRequest, ProjectInstallerRequest installerRequest)
-
addMetaDataFilesForArtifact
private void addMetaDataFilesForArtifact(org.apache.maven.project.ProjectBuildingRequest buildingRequest, org.apache.maven.artifact.Artifact artifact, java.util.Collection<java.io.File> targetMetadataFiles)
-
getLocalRepoFile
private java.io.File getLocalRepoFile(org.apache.maven.project.ProjectBuildingRequest buildingRequest, org.apache.maven.artifact.metadata.ArtifactMetadata metadata)Gets the path of the specified artifact metadata within the local repository. Note that the returned path need not exist (yet).- Parameters:
buildingRequest- The project building request, must not benull.metadata- The artifact metadata whose local repo path should be determined, must not benull.- Returns:
- The absolute path to the artifact metadata when installed, never
null.
-
-