blob: f2b72402e39c1792e45ccd5f576c7ca94eda8331 [file] [log] [blame]
Stuart McCulloch39cc9ac2012-07-16 13:43:38 +00001package aQute.bnd.osgi;
Stuart McCullochbb014372012-06-07 21:57:32 +00002
Stuart McCulloch39cc9ac2012-07-16 13:43:38 +00003import aQute.bnd.header.*;
Stuart McCullochbb014372012-06-07 21:57:32 +00004
5/**
6 * This package contains a number of classes that assists by analyzing JARs and
Stuart McCulloch2286f232012-06-15 13:27:53 +00007 * constructing bundles. The Analyzer class can be used to analyze an existing
8 * bundle and can create a manifest specification from proposed (wildcard)
9 * Export-Package, Bundle-Includes, and Import-Package headers. The Builder
10 * class can use the headers to construct a JAR from the classpath. The Verifier
11 * class can take an existing JAR and verify that all headers are correctly set.
12 * It will verify the syntax of the headers, match it against the proper
13 * contents, and verify imports and exports. A number of utility classes are
14 * available. Jar, provides an abstraction of a Jar file. It has constructors
15 * for creating a Jar from a stream, a directory, or a jar file. A Jar, keeps a
16 * collection Resource's. There are Resource implementations for File, from
17 * ZipFile, or from a stream (which copies the data). The Jar tries to minimize
18 * the work during build up so that it is cheap to use. The Resource's can be
19 * used to iterate over the names and later read the resources when needed.
Stuart McCullochbb014372012-06-07 21:57:32 +000020 * Clazz, provides a parser for the class files. This will be used to define the
Stuart McCulloch2286f232012-06-15 13:27:53 +000021 * imports and exports. Headers are translated to {@link Parameters} that
22 * contains all headers (the order is maintained). The attribute of each header
23 * are maintained in an {@link Attrs}. Each additional file in a header
24 * definition will have its own entry (only native code does not work this way).
25 * The ':' of directives is considered part of the name. This allows attributes
26 * and directives to be maintained in the Attributes map. An important aspect of
27 * the specification is to allow the use of wildcards. Wildcards select from a
28 * set and can decorate the entries with new attributes. This functionality is
29 * implemented in Instructions. Much of the information calculated is in
30 * packages. A package is identified by a PackageRef (and a type by a TypeRef).
31 * The namespace is maintained by {@link Descriptors}, which here is owned by
32 * {@link Analyzer}. A special class, {@link Packages} maintains the attributes
33 * that are found in the code.
Stuart McCullochbb014372012-06-07 21:57:32 +000034 *
35 * @version $Revision$
36 */
37public class About {
Stuart McCulloch2286f232012-06-15 13:27:53 +000038 // Empty
Stuart McCullochbb014372012-06-07 21:57:32 +000039}