org.apache.maven.shared.repository
Class DefaultRepositoryAssembler

java.lang.Object
  extended by org.codehaus.plexus.logging.AbstractLogEnabled
      extended by org.apache.maven.shared.repository.DefaultRepositoryAssembler
All Implemented Interfaces:
RepositoryAssembler, org.codehaus.plexus.logging.LogEnabled, org.codehaus.plexus.personality.plexus.lifecycle.phase.Contextualizable

public class DefaultRepositoryAssembler
extends org.codehaus.plexus.logging.AbstractLogEnabled
implements RepositoryAssembler, org.codehaus.plexus.personality.plexus.lifecycle.phase.Contextualizable

Author:
Jason van Zyl

Field Summary
protected  org.apache.maven.artifact.factory.ArtifactFactory artifactFactory
           
protected  org.apache.maven.artifact.repository.ArtifactRepositoryFactory artifactRepositoryFactory
           
protected  org.apache.maven.artifact.resolver.ArtifactResolver artifactResolver
           
protected  org.apache.maven.artifact.metadata.ArtifactMetadataSource metadataSource
           
private static java.lang.String[] PREFERRED_RESOLVER_HINTS
           
protected  org.apache.maven.project.MavenProjectBuilder projectBuilder
           
protected  org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout repositoryLayout
           
protected static java.util.TimeZone UTC_TIME_ZONE
           
protected static java.lang.String UTC_TIMESTAMP_PATTERN
           
 
Fields inherited from interface org.apache.maven.shared.repository.RepositoryAssembler
ROLE
 
Constructor Summary
DefaultRepositoryAssembler()
           
DefaultRepositoryAssembler(org.apache.maven.artifact.factory.ArtifactFactory artifactFactory, org.apache.maven.artifact.resolver.ArtifactResolver artifactResolver, org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout repositoryLayout, org.apache.maven.artifact.repository.ArtifactRepositoryFactory artifactRepositoryFactory, org.apache.maven.artifact.metadata.ArtifactMetadataSource metadataSource, org.apache.maven.project.MavenProjectBuilder projectBuilder)
           
 
Method Summary
private  void addPomWithAncestry(org.apache.maven.artifact.Artifact artifact, java.util.List remoteArtifactRepositories, org.apache.maven.artifact.repository.ArtifactRepository localRepository, org.apache.maven.artifact.repository.ArtifactRepository targetRepository, java.util.Map groupVersionAlignments, org.apache.maven.project.MavenProject masterProject)
           
private  void assembleRepositoryArtifacts(org.apache.maven.artifact.resolver.ArtifactResolutionResult result, org.apache.maven.artifact.resolver.filter.ArtifactFilter filter, org.apache.maven.project.MavenProject project, org.apache.maven.artifact.repository.ArtifactRepository localRepository, org.apache.maven.artifact.repository.ArtifactRepository targetRepository, java.io.File repositoryDirectory, java.util.Map groupVersionAlignments)
           
private  void assembleRepositoryMetadata(org.apache.maven.artifact.resolver.ArtifactResolutionResult result, org.apache.maven.artifact.resolver.filter.ArtifactFilter filter, org.apache.maven.artifact.repository.ArtifactRepository centralRepository, org.apache.maven.artifact.repository.ArtifactRepository targetRepository)
           
 void buildRemoteRepository(java.io.File repositoryDirectory, RepositoryInfo repository, RepositoryBuilderConfigSource configSource)
           
private  org.apache.maven.artifact.resolver.filter.ArtifactFilter buildRepositoryFilter(RepositoryInfo repository, org.apache.maven.project.MavenProject project)
           
 void contextualize(org.codehaus.plexus.context.Context context)
           
protected  java.util.Map createGroupVersionAlignments(java.util.List versionAlignments)
           
protected  org.apache.maven.artifact.repository.ArtifactRepository createLocalRepository(java.io.File directory)
           
 org.apache.maven.artifact.repository.ArtifactRepository createRepository(java.lang.String repositoryId, java.lang.String repositoryUrl, boolean offline, boolean updateSnapshots, java.lang.String globalChecksumPolicy)
           
private  org.apache.maven.artifact.repository.ArtifactRepository findCentralRepository(org.apache.maven.project.MavenProject project)
           
private  java.util.Map getManagedVersionMap(org.apache.maven.project.MavenProject project)
           
protected static java.text.DateFormat getUtcDateFormatter()
           
private  void invalidateProccessedProjectCache()
           
private  void setAlignment(org.apache.maven.artifact.Artifact artifact, java.util.Map groupVersionAlignments)
           
private  void writeChecksums(java.io.File file)
           
 
Methods inherited from class org.codehaus.plexus.logging.AbstractLogEnabled
enableLogging, getLogger, setupLogger, setupLogger, setupLogger
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PREFERRED_RESOLVER_HINTS

private static final java.lang.String[] PREFERRED_RESOLVER_HINTS

UTC_TIME_ZONE

protected static final java.util.TimeZone UTC_TIME_ZONE

UTC_TIMESTAMP_PATTERN

protected static final java.lang.String UTC_TIMESTAMP_PATTERN
See Also:
Constant Field Values

artifactFactory

protected org.apache.maven.artifact.factory.ArtifactFactory artifactFactory

artifactResolver

protected org.apache.maven.artifact.resolver.ArtifactResolver artifactResolver

repositoryLayout

protected org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout repositoryLayout

artifactRepositoryFactory

protected org.apache.maven.artifact.repository.ArtifactRepositoryFactory artifactRepositoryFactory

metadataSource

protected org.apache.maven.artifact.metadata.ArtifactMetadataSource metadataSource

projectBuilder

protected org.apache.maven.project.MavenProjectBuilder projectBuilder
Constructor Detail

DefaultRepositoryAssembler

public DefaultRepositoryAssembler()

DefaultRepositoryAssembler

public DefaultRepositoryAssembler(org.apache.maven.artifact.factory.ArtifactFactory artifactFactory,
                                  org.apache.maven.artifact.resolver.ArtifactResolver artifactResolver,
                                  org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout repositoryLayout,
                                  org.apache.maven.artifact.repository.ArtifactRepositoryFactory artifactRepositoryFactory,
                                  org.apache.maven.artifact.metadata.ArtifactMetadataSource metadataSource,
                                  org.apache.maven.project.MavenProjectBuilder projectBuilder)
Method Detail

buildRemoteRepository

public void buildRemoteRepository(java.io.File repositoryDirectory,
                                  RepositoryInfo repository,
                                  RepositoryBuilderConfigSource configSource)
                           throws RepositoryAssemblyException
Specified by:
buildRemoteRepository in interface RepositoryAssembler
Throws:
RepositoryAssemblyException

buildRepositoryFilter

private org.apache.maven.artifact.resolver.filter.ArtifactFilter buildRepositoryFilter(RepositoryInfo repository,
                                                                                       org.apache.maven.project.MavenProject project)

assembleRepositoryArtifacts

private void assembleRepositoryArtifacts(org.apache.maven.artifact.resolver.ArtifactResolutionResult result,
                                         org.apache.maven.artifact.resolver.filter.ArtifactFilter filter,
                                         org.apache.maven.project.MavenProject project,
                                         org.apache.maven.artifact.repository.ArtifactRepository localRepository,
                                         org.apache.maven.artifact.repository.ArtifactRepository targetRepository,
                                         java.io.File repositoryDirectory,
                                         java.util.Map groupVersionAlignments)
                                  throws RepositoryAssemblyException
Throws:
RepositoryAssemblyException

addPomWithAncestry

private void addPomWithAncestry(org.apache.maven.artifact.Artifact artifact,
                                java.util.List remoteArtifactRepositories,
                                org.apache.maven.artifact.repository.ArtifactRepository localRepository,
                                org.apache.maven.artifact.repository.ArtifactRepository targetRepository,
                                java.util.Map groupVersionAlignments,
                                org.apache.maven.project.MavenProject masterProject)
                         throws RepositoryAssemblyException
Parameters:
pomFileOverride - This is used to allow injection of a POM's file directly, for cases where the POM has not been installed into the repository yet.
Throws:
RepositoryAssemblyException

findCentralRepository

private org.apache.maven.artifact.repository.ArtifactRepository findCentralRepository(org.apache.maven.project.MavenProject project)

assembleRepositoryMetadata

private void assembleRepositoryMetadata(org.apache.maven.artifact.resolver.ArtifactResolutionResult result,
                                        org.apache.maven.artifact.resolver.filter.ArtifactFilter filter,
                                        org.apache.maven.artifact.repository.ArtifactRepository centralRepository,
                                        org.apache.maven.artifact.repository.ArtifactRepository targetRepository)
                                 throws RepositoryAssemblyException
Throws:
RepositoryAssemblyException

writeChecksums

private void writeChecksums(java.io.File file)
                     throws java.io.IOException,
                            RepositoryAssemblyException
Throws:
java.io.IOException
RepositoryAssemblyException

createGroupVersionAlignments

protected java.util.Map createGroupVersionAlignments(java.util.List versionAlignments)

getUtcDateFormatter

protected static java.text.DateFormat getUtcDateFormatter()

createLocalRepository

protected org.apache.maven.artifact.repository.ArtifactRepository createLocalRepository(java.io.File directory)

createRepository

public org.apache.maven.artifact.repository.ArtifactRepository createRepository(java.lang.String repositoryId,
                                                                                java.lang.String repositoryUrl,
                                                                                boolean offline,
                                                                                boolean updateSnapshots,
                                                                                java.lang.String globalChecksumPolicy)

invalidateProccessedProjectCache

private void invalidateProccessedProjectCache()
                                       throws java.lang.Exception
Throws:
java.lang.Exception

setAlignment

private void setAlignment(org.apache.maven.artifact.Artifact artifact,
                          java.util.Map groupVersionAlignments)

getManagedVersionMap

private java.util.Map getManagedVersionMap(org.apache.maven.project.MavenProject project)
                                    throws org.apache.maven.artifact.versioning.InvalidVersionSpecificationException
Throws:
org.apache.maven.artifact.versioning.InvalidVersionSpecificationException

contextualize

public void contextualize(org.codehaus.plexus.context.Context context)
                   throws org.codehaus.plexus.context.ContextException
Specified by:
contextualize in interface org.codehaus.plexus.personality.plexus.lifecycle.phase.Contextualizable
Throws:
org.codehaus.plexus.context.ContextException