org.apache.maven.embedder
Class MavenEmbedder
java.lang.Object
org.apache.maven.embedder.MavenEmbedder
public class MavenEmbedder
- extends java.lang.Object
Class intended to be used by clients who wish to embed Maven into their applications
- Author:
- Jason van Zyl
Method Summary |
java.util.List |
collectProjects(java.io.File basedir,
java.lang.String[] includes,
java.lang.String[] excludes)
|
org.apache.maven.artifact.Artifact |
createArtifact(java.lang.String groupId,
java.lang.String artifactId,
java.lang.String version,
java.lang.String scope,
java.lang.String type)
|
org.apache.maven.artifact.Artifact |
createArtifactWithClassifier(java.lang.String groupId,
java.lang.String artifactId,
java.lang.String version,
java.lang.String type,
java.lang.String classifier)
|
org.apache.maven.artifact.repository.ArtifactRepository |
createLocalRepository(java.io.File localRepository)
|
org.apache.maven.artifact.repository.ArtifactRepository |
createLocalRepository(org.apache.maven.settings.Settings settings)
|
org.apache.maven.artifact.repository.ArtifactRepository |
createLocalRepository(java.lang.String url,
java.lang.String repositoryId)
|
private void |
createMavenSettings()
Create the Settings that will be used with the embedder. |
org.apache.maven.artifact.repository.ArtifactRepository |
createRepository(java.lang.String url,
java.lang.String repositoryId)
|
private org.apache.maven.settings.RuntimeInfo |
createRuntimeInfo(org.apache.maven.settings.Settings settings)
|
private void |
detectUserInstallation()
|
void |
execute(java.util.List projects,
java.util.List goals,
org.apache.maven.monitor.event.EventMonitor eventMonitor,
org.apache.maven.wagon.events.TransferListener transferListener,
java.util.Properties properties,
java.io.File executionRootDirectory)
|
void |
execute(org.apache.maven.project.MavenProject project,
java.util.List goals,
org.apache.maven.monitor.event.EventMonitor eventMonitor,
org.apache.maven.wagon.events.TransferListener transferListener,
java.util.Properties properties,
java.io.File executionRootDirectory)
|
java.util.List |
getAvailablePlugins()
|
java.lang.ClassLoader |
getClassLoader()
|
java.lang.String |
getGlobalChecksumPolicy()
|
java.util.List |
getLifecyclePhases()
|
org.apache.maven.artifact.repository.ArtifactRepository |
getLocalRepository()
|
java.io.File |
getLocalRepositoryDirectory()
|
MavenEmbedderLogger |
getLogger()
|
org.apache.maven.plugin.descriptor.PluginDescriptor |
getPluginDescriptor(SummaryPluginDescriptor summaryPluginDescriptor)
|
private java.util.List |
getPomFiles(java.io.File basedir,
java.lang.String[] includes,
java.lang.String[] excludes)
|
boolean |
isAlignWithUserInstallation()
|
boolean |
isInteractiveMode()
|
boolean |
isOffline()
|
private SummaryPluginDescriptor |
makeMockPlugin(java.lang.String groupId,
java.lang.String artifactId,
java.lang.String name)
|
org.apache.maven.model.Model |
readModel(java.io.File model)
|
org.apache.maven.project.MavenProject |
readProject(java.io.File mavenProject)
|
org.apache.maven.project.MavenProject |
readProjectWithDependencies(java.io.File mavenProject)
|
org.apache.maven.project.MavenProject |
readProjectWithDependencies(java.io.File mavenProject,
org.apache.maven.wagon.events.TransferListener transferListener)
|
void |
resolve(org.apache.maven.artifact.Artifact artifact,
java.util.List remoteRepositories,
org.apache.maven.artifact.repository.ArtifactRepository localRepository)
|
void |
setAlignWithUserInstallation(boolean alignWithUserInstallation)
|
void |
setClassLoader(java.lang.ClassLoader classLoader)
Set the classloader to use with the maven embedder. |
void |
setGlobalChecksumPolicy(java.lang.String globalChecksumPolicy)
|
void |
setInteractiveMode(boolean interactiveMode)
|
void |
setLocalRepositoryDirectory(java.io.File localRepositoryDirectory)
|
void |
setLogger(MavenEmbedderLogger logger)
|
void |
setOffline(boolean offline)
|
void |
start()
|
void |
stop()
|
void |
writeModel(java.io.Writer writer,
org.apache.maven.model.Model model)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
userHome
public static final java.lang.String userHome
embedder
private org.codehaus.plexus.embed.Embedder embedder
mavenProjectBuilder
private org.apache.maven.project.MavenProjectBuilder mavenProjectBuilder
artifactRepositoryFactory
private org.apache.maven.artifact.repository.ArtifactRepositoryFactory artifactRepositoryFactory
settingsBuilder
private org.apache.maven.settings.MavenSettingsBuilder settingsBuilder
lifecycleExecutor
private org.apache.maven.lifecycle.LifecycleExecutor lifecycleExecutor
wagonManager
private org.apache.maven.artifact.manager.WagonManager wagonManager
modelReader
private org.apache.maven.model.io.xpp3.MavenXpp3Reader modelReader
modelWriter
private org.apache.maven.model.io.xpp3.MavenXpp3Writer modelWriter
profileManager
private org.apache.maven.profiles.ProfileManager profileManager
pluginDescriptorBuilder
private org.apache.maven.plugin.descriptor.PluginDescriptorBuilder pluginDescriptorBuilder
artifactFactory
private org.apache.maven.artifact.factory.ArtifactFactory artifactFactory
artifactResolver
private org.apache.maven.artifact.resolver.ArtifactResolver artifactResolver
defaultArtifactRepositoryLayout
private org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout defaultArtifactRepositoryLayout
settings
private org.apache.maven.settings.Settings settings
localRepository
private org.apache.maven.artifact.repository.ArtifactRepository localRepository
localRepositoryDirectory
private java.io.File localRepositoryDirectory
classLoader
private java.lang.ClassLoader classLoader
logger
private MavenEmbedderLogger logger
interactiveMode
private boolean interactiveMode
offline
private boolean offline
globalChecksumPolicy
private java.lang.String globalChecksumPolicy
alignWithUserInstallation
private boolean alignWithUserInstallation
- This option determines whether the embedder is to be aligned to the user
installation.
DEFAULT_LOCAL_REPO_ID
public static final java.lang.String DEFAULT_LOCAL_REPO_ID
- See Also:
- Constant Field Values
DEFAULT_LAYOUT_ID
public static final java.lang.String DEFAULT_LAYOUT_ID
- See Also:
- Constant Field Values
MavenEmbedder
public MavenEmbedder()
setInteractiveMode
public void setInteractiveMode(boolean interactiveMode)
isInteractiveMode
public boolean isInteractiveMode()
setOffline
public void setOffline(boolean offline)
isOffline
public boolean isOffline()
setGlobalChecksumPolicy
public void setGlobalChecksumPolicy(java.lang.String globalChecksumPolicy)
getGlobalChecksumPolicy
public java.lang.String getGlobalChecksumPolicy()
isAlignWithUserInstallation
public boolean isAlignWithUserInstallation()
setAlignWithUserInstallation
public void setAlignWithUserInstallation(boolean alignWithUserInstallation)
setClassLoader
public void setClassLoader(java.lang.ClassLoader classLoader)
- Set the classloader to use with the maven embedder.
- Parameters:
classLoader
-
getClassLoader
public java.lang.ClassLoader getClassLoader()
setLocalRepositoryDirectory
public void setLocalRepositoryDirectory(java.io.File localRepositoryDirectory)
getLocalRepositoryDirectory
public java.io.File getLocalRepositoryDirectory()
getLocalRepository
public org.apache.maven.artifact.repository.ArtifactRepository getLocalRepository()
getLogger
public MavenEmbedderLogger getLogger()
setLogger
public void setLogger(MavenEmbedderLogger logger)
readModel
public org.apache.maven.model.Model readModel(java.io.File model)
throws org.codehaus.plexus.util.xml.pull.XmlPullParserException,
java.io.FileNotFoundException,
java.io.IOException
- Throws:
org.codehaus.plexus.util.xml.pull.XmlPullParserException
java.io.FileNotFoundException
java.io.IOException
writeModel
public void writeModel(java.io.Writer writer,
org.apache.maven.model.Model model)
throws java.io.IOException
- Throws:
java.io.IOException
readProject
public org.apache.maven.project.MavenProject readProject(java.io.File mavenProject)
throws org.apache.maven.project.ProjectBuildingException
- Throws:
org.apache.maven.project.ProjectBuildingException
readProjectWithDependencies
public org.apache.maven.project.MavenProject readProjectWithDependencies(java.io.File mavenProject,
org.apache.maven.wagon.events.TransferListener transferListener)
throws org.apache.maven.project.ProjectBuildingException,
org.apache.maven.artifact.resolver.ArtifactResolutionException,
org.apache.maven.artifact.resolver.ArtifactNotFoundException
- Throws:
org.apache.maven.project.ProjectBuildingException
org.apache.maven.artifact.resolver.ArtifactResolutionException
org.apache.maven.artifact.resolver.ArtifactNotFoundException
readProjectWithDependencies
public org.apache.maven.project.MavenProject readProjectWithDependencies(java.io.File mavenProject)
throws org.apache.maven.project.ProjectBuildingException,
org.apache.maven.artifact.resolver.ArtifactResolutionException,
org.apache.maven.artifact.resolver.ArtifactNotFoundException
- Throws:
org.apache.maven.project.ProjectBuildingException
org.apache.maven.artifact.resolver.ArtifactResolutionException
org.apache.maven.artifact.resolver.ArtifactNotFoundException
collectProjects
public java.util.List collectProjects(java.io.File basedir,
java.lang.String[] includes,
java.lang.String[] excludes)
throws org.apache.maven.plugin.MojoExecutionException
- Throws:
org.apache.maven.plugin.MojoExecutionException
createArtifact
public org.apache.maven.artifact.Artifact createArtifact(java.lang.String groupId,
java.lang.String artifactId,
java.lang.String version,
java.lang.String scope,
java.lang.String type)
createArtifactWithClassifier
public org.apache.maven.artifact.Artifact createArtifactWithClassifier(java.lang.String groupId,
java.lang.String artifactId,
java.lang.String version,
java.lang.String type,
java.lang.String classifier)
resolve
public void resolve(org.apache.maven.artifact.Artifact artifact,
java.util.List remoteRepositories,
org.apache.maven.artifact.repository.ArtifactRepository localRepository)
throws org.apache.maven.artifact.resolver.ArtifactResolutionException,
org.apache.maven.artifact.resolver.ArtifactNotFoundException
- Throws:
org.apache.maven.artifact.resolver.ArtifactResolutionException
org.apache.maven.artifact.resolver.ArtifactNotFoundException
getAvailablePlugins
public java.util.List getAvailablePlugins()
getPluginDescriptor
public org.apache.maven.plugin.descriptor.PluginDescriptor getPluginDescriptor(SummaryPluginDescriptor summaryPluginDescriptor)
throws MavenEmbedderException
- Throws:
MavenEmbedderException
makeMockPlugin
private SummaryPluginDescriptor makeMockPlugin(java.lang.String groupId,
java.lang.String artifactId,
java.lang.String name)
execute
public void execute(org.apache.maven.project.MavenProject project,
java.util.List goals,
org.apache.maven.monitor.event.EventMonitor eventMonitor,
org.apache.maven.wagon.events.TransferListener transferListener,
java.util.Properties properties,
java.io.File executionRootDirectory)
throws org.codehaus.plexus.util.dag.CycleDetectedException,
org.apache.maven.lifecycle.LifecycleExecutionException,
org.apache.maven.BuildFailureException,
org.apache.maven.project.DuplicateProjectException
- Throws:
org.codehaus.plexus.util.dag.CycleDetectedException
org.apache.maven.lifecycle.LifecycleExecutionException
org.apache.maven.BuildFailureException
org.apache.maven.project.DuplicateProjectException
execute
public void execute(java.util.List projects,
java.util.List goals,
org.apache.maven.monitor.event.EventMonitor eventMonitor,
org.apache.maven.wagon.events.TransferListener transferListener,
java.util.Properties properties,
java.io.File executionRootDirectory)
throws org.codehaus.plexus.util.dag.CycleDetectedException,
org.apache.maven.lifecycle.LifecycleExecutionException,
org.apache.maven.BuildFailureException,
org.apache.maven.project.DuplicateProjectException
- Throws:
org.codehaus.plexus.util.dag.CycleDetectedException
org.apache.maven.lifecycle.LifecycleExecutionException
org.apache.maven.BuildFailureException
org.apache.maven.project.DuplicateProjectException
getLifecyclePhases
public java.util.List getLifecyclePhases()
throws MavenEmbedderException
- Throws:
MavenEmbedderException
createLocalRepository
public org.apache.maven.artifact.repository.ArtifactRepository createLocalRepository(java.io.File localRepository)
throws org.codehaus.plexus.component.repository.exception.ComponentLookupException
- Throws:
org.codehaus.plexus.component.repository.exception.ComponentLookupException
createLocalRepository
public org.apache.maven.artifact.repository.ArtifactRepository createLocalRepository(org.apache.maven.settings.Settings settings)
throws org.codehaus.plexus.component.repository.exception.ComponentLookupException
- Throws:
org.codehaus.plexus.component.repository.exception.ComponentLookupException
createLocalRepository
public org.apache.maven.artifact.repository.ArtifactRepository createLocalRepository(java.lang.String url,
java.lang.String repositoryId)
throws org.codehaus.plexus.component.repository.exception.ComponentLookupException
- Throws:
org.codehaus.plexus.component.repository.exception.ComponentLookupException
createRepository
public org.apache.maven.artifact.repository.ArtifactRepository createRepository(java.lang.String url,
java.lang.String repositoryId)
throws org.codehaus.plexus.component.repository.exception.ComponentLookupException
- Throws:
org.codehaus.plexus.component.repository.exception.ComponentLookupException
createRuntimeInfo
private org.apache.maven.settings.RuntimeInfo createRuntimeInfo(org.apache.maven.settings.Settings settings)
getPomFiles
private java.util.List getPomFiles(java.io.File basedir,
java.lang.String[] includes,
java.lang.String[] excludes)
start
public void start()
throws MavenEmbedderException
- Throws:
MavenEmbedderException
detectUserInstallation
private void detectUserInstallation()
createMavenSettings
private void createMavenSettings()
throws MavenEmbedderException,
org.codehaus.plexus.component.repository.exception.ComponentLookupException
- Create the Settings that will be used with the embedder. If we are aligning with the user
installation then we lookup the standard settings builder and use that to create our
settings. Otherwise we constructs a settings object and populate the information
ourselves.
- Throws:
MavenEmbedderException
org.codehaus.plexus.component.repository.exception.ComponentLookupException
stop
public void stop()
throws MavenEmbedderException
- Throws:
MavenEmbedderException