public class MavenProjectRepository extends AbstractRepositoryImpl
Repository implementation that loads modules
from the transitive dependencies set in a MavenProject.| Modifier and Type | Field and Description |
|---|---|
private org.apache.maven.artifact.factory.ArtifactFactory |
artifactFactory |
private org.apache.maven.artifact.resolver.ArtifactResolver |
artifactResolver |
private java.util.Map<java.lang.String,org.apache.maven.artifact.Artifact> |
artifacts
All
Artifacts in the transitive dependency list
keyed by their id. |
private static java.util.regex.Pattern |
ID_PATTERN |
private org.apache.maven.artifact.repository.ArtifactRepository |
localRepository |
private static java.util.logging.Logger |
logger |
private org.apache.maven.project.MavenProject |
project |
private static java.lang.String |
TOKEN |
listeners| Constructor and Description |
|---|
MavenProjectRepository(org.apache.maven.project.MavenProject project,
org.apache.maven.artifact.resolver.ArtifactResolver artifactResolver,
org.apache.maven.artifact.repository.ArtifactRepository localRepository,
org.apache.maven.artifact.factory.ArtifactFactory artifactFactory) |
| Modifier and Type | Method and Description |
|---|---|
private MavenModuleDefinition |
buildModule(org.apache.maven.artifact.Artifact a,
java.util.Map<ModuleId,ModuleDefinition> moduleDefs,
java.util.List<java.net.URI> libraries) |
protected MavenModuleDefinition |
loadJar(java.io.File jar)
Loads a jar file and builds a
ModuleDefinition. |
protected void |
loadModuleDefs(java.util.Map<ModuleId,ModuleDefinition> moduleDefs,
java.util.List<java.net.URI> libraries)
Called from
AbstractRepositoryImpl.initialize() to load all ModuleDefinitions and libraries defintions |
static void |
prepareProject(org.apache.maven.project.MavenProject project)
When creating
MavenProjectRepository from the current project (which is used
to launch mvn), and if the compile phase has run yet, then the main artifact is
still null. |
(package private) java.io.File |
resolveArtifact(java.lang.String id) |
add, addLibrary, addListener, find, findAll, findAll, getJarLocations, getLocation, getName, initialize, newModuleDefinition, remove, removeLibrary, removeListener, shutdown, toStringprivate final org.apache.maven.project.MavenProject project
private final org.apache.maven.artifact.resolver.ArtifactResolver artifactResolver
private final org.apache.maven.artifact.repository.ArtifactRepository localRepository
private final org.apache.maven.artifact.factory.ArtifactFactory artifactFactory
private final java.util.Map<java.lang.String,org.apache.maven.artifact.Artifact> artifacts
Artifacts in the transitive dependency list
keyed by their id.private static final java.lang.String TOKEN
private static final java.util.regex.Pattern ID_PATTERN
private static final java.util.logging.Logger logger
public MavenProjectRepository(org.apache.maven.project.MavenProject project,
org.apache.maven.artifact.resolver.ArtifactResolver artifactResolver,
org.apache.maven.artifact.repository.ArtifactRepository localRepository,
org.apache.maven.artifact.factory.ArtifactFactory artifactFactory)
public static void prepareProject(org.apache.maven.project.MavenProject project)
throws java.io.IOException
MavenProjectRepository from the current project (which is used
to launch mvn), and if the compile phase has run yet, then the main artifact is
still null.
However, it's often convenient to pick up the files that were left in the file system
from the previous execution. This method checks this situation and updates MavenProject
accordingly, so that it can be then passed to the constructor of MavenProjectRepository.
Think of this as a pre-processing phase to compensate for the lack of the compile phase invocation.
java.io.IOExceptionprotected void loadModuleDefs(java.util.Map<ModuleId,ModuleDefinition> moduleDefs, java.util.List<java.net.URI> libraries) throws java.io.IOException
AbstractRepositoryImplAbstractRepositoryImpl.initialize() to load all ModuleDefinitions and libraries defintionsloadModuleDefs in class AbstractRepositoryImpljava.io.IOExceptionprivate MavenModuleDefinition buildModule(org.apache.maven.artifact.Artifact a, java.util.Map<ModuleId,ModuleDefinition> moduleDefs, java.util.List<java.net.URI> libraries) throws java.io.IOException
java.io.IOExceptionjava.io.File resolveArtifact(java.lang.String id)
throws java.io.IOException
java.io.IOExceptionprotected MavenModuleDefinition loadJar(java.io.File jar) throws java.io.IOException
AbstractRepositoryImplModuleDefinition.
The system allows ModuleDefinitions to be built in any way,
but in practice module jars need to be built in a way agnostic
to Repository implementations (so that same module could
be used in different Repositorys), so it makes sense
to try to stick to the "common" loading scheme.
loadJar in class AbstractRepositoryImpljar - Either a jar file or a directory that has the same structure as a jar file.java.io.IOException