Class AbstractSourceJarMojo

  • All Implemented Interfaces:
    org.apache.maven.plugin.ContextEnabled, org.apache.maven.plugin.Mojo
    Direct Known Subclasses:
    OsgiSourceMojo

    public abstract class AbstractSourceJarMojo
    extends org.apache.maven.plugin.AbstractMojo
    Base class for bundling sources into a jar archive.
    Since:
    2.0.3
    Version:
    $Id: AbstractSourceJarMojo.java 763422 2009-04-08 21:59:54Z pgier $
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected boolean excludeResources
      Specifies whether or not to exclude resources from the sources-jar.
      protected String finalName
      The filename to be used for the generated archive file.
      protected boolean includePom
      Specifies whether or not to include the POM file in the sources-jar.
      protected File outputDirectory
      The directory where the generated archive file will be put.
      protected org.apache.maven.project.MavenProject project
      The Maven Project Object
      protected List reactorProjects
      Contains the full list of projects in the reactor.
      protected org.apache.maven.execution.MavenSession session
      The Maven Session Object
      • Fields inherited from interface org.apache.maven.plugin.Mojo

        ROLE
    • Field Detail

      • project

        @Parameter(property="project",
                   readonly=true,
                   required=true)
        protected org.apache.maven.project.MavenProject project
        The Maven Project Object
      • session

        @Parameter(property="session",
                   readonly=true)
        protected org.apache.maven.execution.MavenSession session
        The Maven Session Object
      • excludeResources

        @Parameter(property="source.excludeResources",
                   defaultValue="false")
        protected boolean excludeResources
        Specifies whether or not to exclude resources from the sources-jar. This can be convenient if your project includes large resources, such as images, and you don't want to include them in the sources-jar.
        Since:
        2.0.4
      • includePom

        @Parameter(property="source.includePom",
                   defaultValue="false")
        protected boolean includePom
        Specifies whether or not to include the POM file in the sources-jar.
        Since:
        2.1
      • outputDirectory

        @Parameter(property="project.build.directory")
        protected File outputDirectory
        The directory where the generated archive file will be put.
      • finalName

        @Parameter(property="project.build.finalName")
        protected String finalName
        The filename to be used for the generated archive file. For the source:jar goal, "-sources" is appended to this filename. For the source:test-jar goal, "-test-sources" is appended.
      • reactorProjects

        @Parameter(property="reactorProjects",
                   readonly=true)
        protected List reactorProjects
        Contains the full list of projects in the reactor.
    • Constructor Detail

      • AbstractSourceJarMojo

        public AbstractSourceJarMojo()
    • Method Detail

      • execute

        public void execute()
                     throws org.apache.maven.plugin.MojoExecutionException
        Throws:
        org.apache.maven.plugin.MojoExecutionException
      • getClassifier

        protected abstract String getClassifier()
        Returns:
        the wanted classifier, ie sources or test-sources
      • getSources

        protected abstract List<org.apache.maven.model.Resource> getSources​(org.apache.maven.project.MavenProject p)
                                                                     throws org.apache.maven.plugin.MojoExecutionException
        Parameters:
        p - not null
        Returns:
        the compile or test sources
        Throws:
        org.apache.maven.plugin.MojoExecutionException
      • getResources

        protected abstract List<org.apache.maven.model.Resource> getResources​(org.apache.maven.project.MavenProject p)
                                                                       throws org.apache.maven.plugin.MojoExecutionException
        Parameters:
        p - not null
        Returns:
        the compile or test resources
        Throws:
        org.apache.maven.plugin.MojoExecutionException
      • packageSources

        protected void packageSources​(org.apache.maven.project.MavenProject p)
                               throws org.apache.maven.plugin.MojoExecutionException
        Throws:
        org.apache.maven.plugin.MojoExecutionException
      • isRelevantProject

        protected abstract boolean isRelevantProject​(org.apache.maven.project.MavenProject p)
      • packageSources

        protected void packageSources​(List<org.apache.maven.project.MavenProject> projects)
                               throws org.apache.maven.plugin.MojoExecutionException
        Throws:
        org.apache.maven.plugin.MojoExecutionException
      • updateSourceManifest

        protected void updateSourceManifest​(org.apache.maven.archiver.MavenArchiveConfiguration mavenArchiveConfiguration)
      • archiveProjectContent

        protected void archiveProjectContent​(org.apache.maven.project.MavenProject p,
                                             org.codehaus.plexus.archiver.Archiver archiver)
                                      throws org.apache.maven.plugin.MojoExecutionException
        Throws:
        org.apache.maven.plugin.MojoExecutionException
      • createArchiver

        protected org.apache.maven.archiver.MavenArchiver createArchiver()
                                                                  throws org.apache.maven.plugin.MojoExecutionException
        Throws:
        org.apache.maven.plugin.MojoExecutionException
      • addDirectory

        protected void addDirectory​(org.codehaus.plexus.archiver.Archiver archiver,
                                    File sourceDirectory,
                                    String[] includes,
                                    String[] excludes)
                             throws org.apache.maven.plugin.MojoExecutionException
        Throws:
        org.apache.maven.plugin.MojoExecutionException
      • addDirectory

        protected void addDirectory​(org.codehaus.plexus.archiver.Archiver archiver,
                                    File sourceDirectory,
                                    String prefix,
                                    String[] includes,
                                    String[] excludes)
                             throws org.apache.maven.plugin.MojoExecutionException
        Throws:
        org.apache.maven.plugin.MojoExecutionException
      • getExtension

        protected String getExtension()
      • getProject

        protected org.apache.maven.project.MavenProject getProject​(org.apache.maven.project.MavenProject p)
      • getType

        protected String getType()