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