Class DefaultMaven2OsgiConverter

java.lang.Object
org.apache.maven.shared.osgi.DefaultMaven2OsgiConverter
All Implemented Interfaces:
Maven2OsgiConverter

public class DefaultMaven2OsgiConverter extends Object implements Maven2OsgiConverter
Default implementation of Maven2OsgiConverter
Version:
$Id$
  • Field Details

    • OSGI_VERSION_PATTERN

      private static final Pattern OSGI_VERSION_PATTERN
      Bundle-Version must match this pattern
    • ONLY_NUMBERS

      private static final Pattern ONLY_NUMBERS
      pattern that matches strings that contain only numbers
    • DATED_SNAPSHOT

      private static final Pattern DATED_SNAPSHOT
    • DOTS_IN_QUALIFIER

      private static final Pattern DOTS_IN_QUALIFIER
    • NEED_TO_FILL_ZEROS

      private static final Pattern NEED_TO_FILL_ZEROS
    • FILE_SEPARATOR

      private static final String FILE_SEPARATOR
  • Constructor Details

    • DefaultMaven2OsgiConverter

      public DefaultMaven2OsgiConverter()
  • Method Details

    • getBundleSymbolicName

      private String getBundleSymbolicName(String groupId, String artifactId)
    • getBundleSymbolicName

      public String getBundleSymbolicName(org.apache.maven.artifact.Artifact artifact)
      Get the symbolic name as groupId + "." + artifactId, with the following exceptions
      • if artifact.getFile is not null and the jar contains a OSGi Manifest with Bundle-SymbolicName property then that value is returned
      • if groupId has only one section (no dots) and artifact.getFile is not null then the first package name with classes is returned. eg. commons-logging:commons-logging -> org.apache.commons.logging
      • if artifactId is equal to last section of groupId then groupId is returned. eg. org.apache.maven:maven -> org.apache.maven
      • if artifactId starts with last section of groupId that portion is removed. eg. org.apache.maven:maven-core -> org.apache.maven.core
      Specified by:
      getBundleSymbolicName in interface Maven2OsgiConverter
      Parameters:
      artifact -
      Returns:
      the Bundle-SymbolicName manifest property
    • getGroupIdFromPackage

      private String getGroupIdFromPackage(File artifactFile)
    • getBundleFileName

      public String getBundleFileName(org.apache.maven.artifact.Artifact artifact)
      Specified by:
      getBundleFileName in interface Maven2OsgiConverter
    • getVersion

      public String getVersion(org.apache.maven.artifact.Artifact artifact)
      Description copied from interface: Maven2OsgiConverter
      Convert a Maven version into an OSGi compliant version
      Specified by:
      getVersion in interface Maven2OsgiConverter
      Parameters:
      artifact - Maven artifact
      Returns:
      the OSGi version
    • getVersion

      public String getVersion(String version)
      Description copied from interface: Maven2OsgiConverter
      Convert a Maven version into an OSGi compliant version
      Specified by:
      getVersion in interface Maven2OsgiConverter
      Parameters:
      version - Maven version
      Returns:
      the OSGi version
    • getVersion

      private String getVersion(String major, String minor, String service, String qualifier)