Class AbstractBaselinePlugin

java.lang.Object
org.apache.maven.plugin.AbstractMojo
org.apache.felix.bundleplugin.baseline.AbstractBaselinePlugin
All Implemented Interfaces:
org.apache.maven.plugin.ContextEnabled, org.apache.maven.plugin.Mojo
Direct Known Subclasses:
BaselinePlugin, BaselineReport

abstract class AbstractBaselinePlugin extends org.apache.maven.plugin.AbstractMojo
Abstract BND Baseline check between two bundles.
  • Field Details

    • skip

      @Parameter(property="baseline.skip", defaultValue="false") protected boolean skip
      Flag to easily skip execution.
    • failOnError

      @Parameter(property="baseline.failOnError", defaultValue="true") protected boolean failOnError
      Whether to fail on errors.
    • failOnWarning

      @Parameter(property="baseline.failOnWarning", defaultValue="false") protected boolean failOnWarning
      Whether to fail on warnings.
    • project

      @Parameter(defaultValue="${project}", readonly=true, required=true) protected org.apache.maven.project.MavenProject project
    • session

      @Parameter(defaultValue="${session}", readonly=true, required=true) protected org.apache.maven.execution.MavenSession session
    • buildDirectory

      @Parameter(defaultValue="${project.build.directory}", readonly=true, required=true) private File buildDirectory
    • finalName

      @Parameter(defaultValue="${project.build.finalName}", readonly=true, required=true) private String finalName
    • resolver

      @Component protected org.apache.maven.artifact.resolver.ArtifactResolver resolver
    • factory

      @Component protected org.apache.maven.artifact.factory.ArtifactFactory factory
    • metadataSource

      @Component private org.apache.maven.artifact.metadata.ArtifactMetadataSource metadataSource
    • comparisonGroupId

      @Parameter(defaultValue="${project.groupId}", property="comparisonGroupId") protected String comparisonGroupId
      Group id to compare the current code against.
    • comparisonArtifactId

      @Parameter(defaultValue="${project.artifactId}", property="comparisonArtifactId") protected String comparisonArtifactId
      Artifact to compare the current code against.
    • comparisonVersion

      @Parameter(defaultValue="(,${project.version})", property="comparisonVersion") protected String comparisonVersion
      Version to compare the current code against.
    • comparisonPackaging

      @Parameter(defaultValue="${project.packaging}", property="comparisonPackaging") protected String comparisonPackaging
      Artifact to compare the current code against.
    • comparisonClassifier

      @Parameter(property="comparisonClassifier") protected String comparisonClassifier
      Classifier for the artifact to compare the current code against.
    • filters

      @Parameter private String[] filters
      A list of packages filter, if empty the whole bundle will be traversed. Values are specified in OSGi package instructions notation, e.g. !org.apache.felix.bundleplugin.
    • supportedProjectTypes

      @Parameter protected List<String> supportedProjectTypes
      Project types which this plugin supports.
    • buildContext

      @Component protected org.sonatype.plexus.build.incremental.BuildContext buildContext
  • Constructor Details

    • AbstractBaselinePlugin

      AbstractBaselinePlugin()
  • Method Details

    • execute

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

      protected void execute(Object context) throws org.apache.maven.plugin.MojoExecutionException, org.apache.maven.plugin.MojoFailureException
      Throws:
      org.apache.maven.plugin.MojoExecutionException
      org.apache.maven.plugin.MojoFailureException
    • doPackageDiff

      private void doPackageDiff(Object context, aQute.bnd.service.diff.Diff diff)
    • doDiff

      private void doDiff(Object context, aQute.bnd.service.diff.Diff diff, int depth)
    • init

      protected abstract Object init(Object initialContext)
    • close

      protected abstract void close(Object context)
    • startBaseline

      protected abstract void startBaseline(Object context, String generationDate, String bundleName, String currentVersion, String previousVersion)
    • startPackage

      protected abstract void startPackage(Object context, boolean mismatch, String name, String shortDelta, String delta, aQute.bnd.version.Version newerVersion, aQute.bnd.version.Version olderVersion, aQute.bnd.version.Version suggestedVersion, DiffMessage diffMessage, Map<String,String> attributes)
    • startDiff

      protected abstract void startDiff(Object context, int depth, String type, String name, String delta, String shortDelta)
    • endDiff

      protected abstract void endDiff(Object context, int depth)
    • endPackage

      protected abstract void endPackage(Object context)
    • endBaseline

      protected abstract void endBaseline(Object context)
    • getCurrentBundle

      private aQute.bnd.osgi.Jar getCurrentBundle() throws org.apache.maven.plugin.MojoExecutionException
      Throws:
      org.apache.maven.plugin.MojoExecutionException
    • getPreviousArtifact

      private org.apache.maven.artifact.Artifact getPreviousArtifact() throws org.apache.maven.plugin.MojoFailureException, org.apache.maven.plugin.MojoExecutionException
      Throws:
      org.apache.maven.plugin.MojoFailureException
      org.apache.maven.plugin.MojoExecutionException
    • filterSnapshots

      private void filterSnapshots(List<org.apache.maven.artifact.versioning.ArtifactVersion> versions)
    • openJar

      private static aQute.bnd.osgi.Jar openJar(File file) throws org.apache.maven.plugin.MojoExecutionException
      Throws:
      org.apache.maven.plugin.MojoExecutionException
    • closeJars

      private static void closeJars(aQute.bnd.osgi.Jar... jars)
    • getBundleName

      private String getBundleName()
    • getShortDelta

      private static String getShortDelta(aQute.bnd.service.diff.Delta delta)