Class About

java.lang.Object
aQute.bnd.osgi.About

public class About extends Object
This package contains a number of classes that assists by analyzing JARs and constructing bundles. The Analyzer class can be used to analyze an existing bundle and can create a manifest specification from proposed (wildcard) Export-Package, Bundle-Includes, and Import-Package headers. The Builder class can use the headers to construct a JAR from the classpath. The Verifier class can take an existing JAR and verify that all headers are correctly set. It will verify the syntax of the headers, match it against the proper contents, and verify imports and exports. A number of utility classes are available. Jar, provides an abstraction of a Jar file. It has constructors for creating a Jar from a stream, a directory, or a jar file. A Jar, keeps a collection Resource's. There are Resource implementations for File, from ZipFile, or from a stream (which copies the data). The Jar tries to minimize the work during build up so that it is cheap to use. The Resource's can be used to iterate over the names and later read the resources when needed. Clazz, provides a parser for the class files. This will be used to define the imports and exports. Headers are translated to Parameter that contains all headers (the order is maintained). The attribute of each header are maintained in an Attrs. Each additional file in a header definition will have its own entry (only native code does not work this way). The ':' of directives is considered part of the name. This allows attributes and directives to be maintained in the Attributes map. An important aspect of the specification is to allow the use of wildcards. Wildcards select from a set and can decorate the entries with new attributes. This functionality is implemented in Instructions. Much of the information calculated is in packages. A package is identified by a PackageRef (and a type by a TypeRef). The namespace is maintained by Descriptors, which here is owned by Analyzer. A special class, Packages maintains the attributes that are found in the code. @version $Revision: 1.2 $
Ensure you only add Major and minor versions (the 7.2.1 below was a mistake)
  • Field Details

    • _2_3

      public static final Version _2_3
    • _2_4

      public static final Version _2_4
    • _3_0

      public static final Version _3_0
    • _3_1

      public static final Version _3_1
    • _3_2

      public static final Version _3_2
    • _3_3

      public static final Version _3_3
    • _3_4

      public static final Version _3_4
    • _3_5

      public static final Version _3_5
    • _4_0

      public static final Version _4_0
    • _4_1

      public static final Version _4_1
    • _4_2

      public static final Version _4_2
    • _4_3

      public static final Version _4_3
    • _5_0

      public static final Version _5_0
    • _5_1

      public static final Version _5_1
    • _5_2

      public static final Version _5_2
    • _5_3

      public static final Version _5_3
    • _6_0

      public static final Version _6_0
    • _6_1

      public static final Version _6_1
    • _6_2

      public static final Version _6_2
    • _6_3

      public static final Version _6_3
    • _6_4

      public static final Version _6_4
    • _7_0

      public static final Version _7_0
    • _7_1

      public static final Version _7_1
    • _7_2

      public static final Version _7_2
    • _7_2_1

      public static final Version _7_2_1
    • _7_2_2

      public static final Version _7_2_2
    • _7_2_3

      public static final Version _7_2_3
    • _7_3

      public static final Version _7_3
    • _7_4

      public static final Version _7_4
    • CURRENT

      public static final Version CURRENT
    • CHANGES_7_4

      public static final String[] CHANGES_7_4
    • CHANGES_7_3

      public static final String[] CHANGES_7_3
    • CHANGES_7_2_1

      public static final String[] CHANGES_7_2_1
    • CHANGES_7_2

      public static final String[] CHANGES_7_2
    • CHANGES_7_1

      public static final String[] CHANGES_7_1
    • CHANGES_7_0

      public static final String[] CHANGES_7_0
    • CHANGES_6_4

      public static final String[] CHANGES_6_4
    • CHANGES_6_3

      public static final String[] CHANGES_6_3
    • CHANGES_6_2

      public static final String[] CHANGES_6_2
    • CHANGES_6_1

      public static final String[] CHANGES_6_1
    • CHANGES_6_0

      public static final String[] CHANGES_6_0
    • CHANGES_5_3

      public static final String[] CHANGES_5_3
    • CHANGES_5_2

      public static final String[] CHANGES_5_2
    • CHANGES_5_1

      public static final String[] CHANGES_5_1
    • CHANGES_5_0

      public static final String[] CHANGES_5_0
    • CHANGES_4_3

      public static final String[] CHANGES_4_3
    • CHANGES_4_2

      public static final String[] CHANGES_4_2
    • CHANGES_4_1

      public static final String[] CHANGES_4_1
    • CHANGES_4_0

      public static final String[] CHANGES_4_0
    • CHANGES_3_5

      public static final String[] CHANGES_3_5
    • CHANGES_3_4

      public static final String[] CHANGES_3_4
    • CHANGES_3_3

      public static final String[] CHANGES_3_3
    • CHANGES_3_2

      public static final String[] CHANGES_3_2
    • CHANGES_3_1

      public static final String[] CHANGES_3_1
    • CHANGES_3_0

      public static final String[] CHANGES_3_0
    • CHANGES_2_4

      public static final String[] CHANGES_2_4
    • CHANGES_2_3

      public static final String[] CHANGES_2_3
    • CHANGES

      public static final Map<Version,String[]> CHANGES
    • versionDefaults

      public static Properties versionDefaults
      bnd version specific defaults. Unfortunately the defaults ended up in the build package instead of here.
  • Constructor Details

    • About

      public About()
  • Method Details

    • getBndInfo

      public static String getBndInfo(String key, Supplier<String> defaultValue)
    • getBndVersion

      public static String getBndVersion()
    • fixup

      public static <T extends Processor> T fixup(T p)
      Fixup a Processor to include the version defaults. If the Constants.VERSIONDEFAULTS is set, nothing will happen. Otherwise any property in the versionDefaults that is not set in p will be set with the value from the defaults.
      Type Parameters:
      T - the type of the Processor
      Parameters:
      p - the processor
      Returns:
      the same processor as given.