Class SourceFeatureMojo

  • All Implemented Interfaces:
    org.apache.maven.plugin.ContextEnabled, org.apache.maven.plugin.Mojo

    @Mojo(name="source-feature",
          defaultPhase=PACKAGE)
    public class SourceFeatureMojo
    extends org.apache.maven.plugin.AbstractMojo
    Generates a source feature for projects of packaging type eclipse-feature. By default, the generated source feature
    • Declares feature id <originalFeatureId>.source
    • Declares feature label "<originalFeatureLabel> Developer Resources"
    • If present, reuses feature provider, description, copyright and license as well as respective URLs from <originalFeature>
    • Includes all plugins included by <originalFeature>, but each with .source appended to each plugin id
    • Includes all features included by <originalFeature>, but each with .source appended to each feature id
    • Includes the original feature. This ensures that binaries and corresponding sources match.
    Source feature generation can be customized by adding files under path sourceTemplateFeature/. Files added here will be added to the root of the source feature jar. Especially, if file sourceTemplateFeature/feature.properties is found, values in this file override values of respective keys in <originalFeature>/feature.properties.
    • Field Detail

      • useDefaultExcludes

        @Parameter(defaultValue="true")
        protected boolean useDefaultExcludes
    • Constructor Detail

      • SourceFeatureMojo

        public SourceFeatureMojo()
    • Method Detail

      • execute

        public void execute()
                     throws org.apache.maven.plugin.MojoExecutionException,
                            org.apache.maven.plugin.MojoFailureException
        Throws:
        org.apache.maven.plugin.MojoExecutionException
        org.apache.maven.plugin.MojoFailureException
      • toStrictVersionRange

        protected String toStrictVersionRange​(String version)
      • getOutputJarFile

        protected File getOutputJarFile()
      • setExcludes

        public void setExcludes​(org.codehaus.plexus.configuration.PlexusConfiguration excludes)
      • setPlugins

        public void setPlugins​(org.codehaus.plexus.configuration.PlexusConfiguration bundles)
      • getFileSet

        protected org.codehaus.plexus.archiver.FileSet getFileSet​(File basedir,
                                                                  List<String> includes,
                                                                  List<String> excludes)
        Returns:
        a FileSet with the given includes and excludes and the configured default excludes. An empty list of includes leads to an empty file set.