blob: ade84973a87a42a4365bb046cbd9e75fb7aec08c [file] [log] [blame]
Stuart McCulloch26e7a5a2011-10-17 10:31:43 +00001package aQute.lib.osgi;
2
3/**
4 * This package contains a number of classes that assists by analyzing JARs and
5 * constructing bundles.
6 *
7 * The Analyzer class can be used to analyze an existing bundle and can create a
8 * manifest specification from proposed (wildcard) Export-Package,
9 * Bundle-Includes, and Import-Package headers.
10 *
11 * The Builder class can use the headers to construct a JAR from the classpath.
12 *
13 * The Verifier class can take an existing JAR and verify that all headers are
14 * correctly set. It will verify the syntax of the headers, match it against the
15 * proper contents, and verify imports and exports.
16 *
17 * A number of utility classes are available.
18 *
19 * Jar, provides an abstraction of a Jar file. It has constructors for creating
20 * a Jar from a stream, a directory, or a jar file. A Jar, keeps a collection
21 * Resource's. There are Resource implementations for File, from ZipFile, or from
22 * a stream (which copies the data). The Jar tries to minimize the work during
23 * build up so that it is cheap to use. The Resource's can be used to iterate
24 * over the names and later read the resources when needed.
25 *
26 * Clazz, provides a parser for the class files. This will be used to define the
27 * imports and exports.
28 *
29 * A key component in this library is the Map. Headers are translated to Maps of Maps. OSGi
30 * header syntax is like:
31 * <pre>
32 * header = clause ( ',' clause ) *
33 * clause = file ( ';' file ) * ( parameter ) *
34 * param = attr '=' value | directive ':=' value
35 * </pre>
36 * These headers are translated to a Map that contains all headers (the order is
37 * maintained). Each additional file in a header definition will have its own
38 * entry (only native code does not work this way). The clause is represented
39 * as another map. The ':' of directives is considered part of the name. This
40 * allows attributes and directives to be maintained in the clause map.
41 *
42 * @version $Revision$
43 */
44public class About {
45
46}