Class MojoSupport

    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected org.apache.maven.artifact.metadata.ArtifactMetadataSource artifactMetadataSource  
      protected org.apache.maven.artifact.resolver.ArtifactResolver artifactResolver  
      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 PlexusContainer
      protected org.apache.maven.artifact.factory.ArtifactFactory factory  
      protected org.apache.maven.artifact.repository.ArtifactRepository localRepo  
      protected org.apache.maven.execution.MavenSession mavenSession
      The Maven session.
      protected org.apache.maven.project.MavenProject project
      The Maven project.
      protected org.apache.maven.project.MavenProjectBuilder projectBuilder  
      protected org.apache.maven.project.MavenProjectHelper projectHelper
      Maven ProjectHelper
      protected List<org.apache.maven.artifact.repository.ArtifactRepository> remoteRepos  
      protected File workDirectory
      Directory that resources are copied to during the build.
      • Fields inherited from interface org.apache.maven.plugin.Mojo

        ROLE
    • Constructor Summary

      Constructors 
      Constructor Description
      MojoSupport()  
    • 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 project
        The Maven project.
      • workDirectory

        @Parameter(defaultValue="${project.build.directory}/${project.artifactId}-${project.version}-installer")
        protected File workDirectory
        Directory 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 mavenSession
        The 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 PlexusContainer

        It'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

    • Constructor Detail

      • MojoSupport

        public MojoSupport()
    • 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
      • translateFromMaven

        protected String translateFromMaven​(String uri)
      • 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.
      • copy

        protected void copy​(File sourceFile,
                            File destFile)