Stuart McCulloch | 39cc9ac | 2012-07-16 13:43:38 +0000 | [diff] [blame] | 1 | package aQute.bnd.osgi; |
Stuart McCulloch | bb01437 | 2012-06-07 21:57:32 +0000 | [diff] [blame] | 2 | |
Stuart McCulloch | 39cc9ac | 2012-07-16 13:43:38 +0000 | [diff] [blame] | 3 | import aQute.bnd.header.*; |
Stuart McCulloch | bb01437 | 2012-06-07 21:57:32 +0000 | [diff] [blame] | 4 | |
| 5 | /** |
| 6 | * This package contains a number of classes that assists by analyzing JARs and |
Stuart McCulloch | 2286f23 | 2012-06-15 13:27:53 +0000 | [diff] [blame] | 7 | * 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 McCulloch | bb01437 | 2012-06-07 21:57:32 +0000 | [diff] [blame] | 20 | * Clazz, provides a parser for the class files. This will be used to define the |
Stuart McCulloch | 2286f23 | 2012-06-15 13:27:53 +0000 | [diff] [blame] | 21 | * 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 McCulloch | bb01437 | 2012-06-07 21:57:32 +0000 | [diff] [blame] | 34 | * |
| 35 | * @version $Revision$ |
| 36 | */ |
| 37 | public class About { |
Stuart McCulloch | 2286f23 | 2012-06-15 13:27:53 +0000 | [diff] [blame] | 38 | // Empty |
Stuart McCulloch | bb01437 | 2012-06-07 21:57:32 +0000 | [diff] [blame] | 39 | } |