Package org.apache.karaf.tooling.utils
Class MojoSupport
- java.lang.Object
-
- org.apache.maven.plugin.AbstractMojo
-
- org.apache.karaf.tooling.utils.MojoSupport
-
- All Implemented Interfaces:
org.apache.maven.plugin.ContextEnabled,org.apache.maven.plugin.Mojo
- Direct Known Subclasses:
AbstractFeatureMojo,ArchiveMojo,AssemblyMojo,DeployMojo,DockerfileMojo,DockerMojo,GenerateDescriptorMojo,KarMojo,RunMojo,VerifyMojo
public abstract class MojoSupport extends org.apache.maven.plugin.AbstractMojo
-
-
Field Summary
Fields Modifier and Type Field Description protected org.apache.maven.artifact.metadata.ArtifactMetadataSourceartifactMetadataSourceprotected org.apache.maven.artifact.resolver.ArtifactResolverartifactResolverprotected org.codehaus.plexus.PlexusContainercontainerWe can't autowire strongly typed RepositorySystem from Aether because it may be Sonatype (Maven 3.0.x) or Eclipse (Maven 3.1.x/3.2.x) version, so we switch to service locator by autowiring entirePlexusContainerprotected org.apache.maven.artifact.factory.ArtifactFactoryfactoryprotected org.apache.maven.artifact.repository.ArtifactRepositorylocalRepoprotected org.apache.maven.execution.MavenSessionmavenSessionThe Maven session.protected org.apache.maven.project.MavenProjectprojectThe Maven project.protected org.apache.maven.project.MavenProjectBuilderprojectBuilderprotected org.apache.maven.project.MavenProjectHelperprojectHelperMaven ProjectHelperprotected List<org.apache.maven.artifact.repository.ArtifactRepository>remoteReposprotected FileworkDirectoryDirectory that resources are copied to during the build.
-
Constructor Summary
Constructors Constructor Description MojoSupport()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidcopy(File sourceFile, File destFile)protected MapcreateManagedVersionMap(String projectId, org.apache.maven.model.DependencyManagement dependencyManagement)protected StringgetLocalRepoUrl()protected org.apache.maven.project.MavenProjectgetProject()org.apache.maven.project.MavenProjectHelpergetProjectHelper()protected FilegetWorkDirectory()protected org.apache.maven.artifact.ArtifactresourceToArtifact(String resourceLocation, boolean skipNonMavenProtocols)Convert a feature resourceLocation (bundle or configuration file) into an artifact.voidsetMavenSession(org.apache.maven.execution.MavenSession mavenSession)protected StringtranslateFromMaven(String uri)-
Methods inherited from class org.apache.maven.plugin.AbstractMojo
getLog, getPluginContext, setLog, setPluginContext
-
-
-
-
Field Detail
-
projectHelper
@Component protected org.apache.maven.project.MavenProjectHelper projectHelper
Maven ProjectHelper
-
project
@Parameter(defaultValue="${project}", readonly=true) protected org.apache.maven.project.MavenProject projectThe Maven project.
-
workDirectory
@Parameter(defaultValue="${project.build.directory}/${project.artifactId}-${project.version}-installer") protected File workDirectoryDirectory that resources are copied to during the build.
-
projectBuilder
@Component protected org.apache.maven.project.MavenProjectBuilder projectBuilder
-
localRepo
@Parameter(defaultValue="${localRepository}") protected org.apache.maven.artifact.repository.ArtifactRepository localRepo
-
remoteRepos
@Parameter(defaultValue="${project.remoteArtifactRepositories}") protected List<org.apache.maven.artifact.repository.ArtifactRepository> remoteRepos
-
artifactMetadataSource
@Component protected org.apache.maven.artifact.metadata.ArtifactMetadataSource artifactMetadataSource
-
artifactResolver
@Component protected org.apache.maven.artifact.resolver.ArtifactResolver artifactResolver
-
factory
@Component protected org.apache.maven.artifact.factory.ArtifactFactory factory
-
mavenSession
@Parameter(defaultValue="${session}", readonly=true) protected org.apache.maven.execution.MavenSession mavenSessionThe Maven session.
-
container
@Component protected org.codehaus.plexus.PlexusContainer container
We can't autowire strongly typed RepositorySystem from Aether because it may be Sonatype (Maven 3.0.x) or Eclipse (Maven 3.1.x/3.2.x) version, so we switch to service locator by autowiring entire
PlexusContainerIt's a bit of a hack but we have not choice when we want to be usable both in Maven 3.0.x and 3.1.x/3.2.x
-
-
Method Detail
-
getProject
protected org.apache.maven.project.MavenProject getProject()
-
getWorkDirectory
protected File getWorkDirectory()
-
getProjectHelper
public org.apache.maven.project.MavenProjectHelper getProjectHelper()
-
setMavenSession
public void setMavenSession(org.apache.maven.execution.MavenSession mavenSession)
-
createManagedVersionMap
protected Map createManagedVersionMap(String projectId, org.apache.maven.model.DependencyManagement dependencyManagement) throws org.apache.maven.project.ProjectBuildingException
- Throws:
org.apache.maven.project.ProjectBuildingException
-
getLocalRepoUrl
protected String getLocalRepoUrl()
-
resourceToArtifact
protected org.apache.maven.artifact.Artifact resourceToArtifact(String resourceLocation, boolean skipNonMavenProtocols) throws org.apache.maven.plugin.MojoExecutionException
Convert a feature resourceLocation (bundle or configuration file) into an artifact.- Parameters:
resourceLocation- The feature resource location (bundle or configuration file).skipNonMavenProtocols- A flag to skip protocol different than mvn:- Returns:
- The artifact corresponding to the resource.
- Throws:
org.apache.maven.plugin.MojoExecutionException- If the plugin execution fails.
-
-