Manifest.json¶
qooxdoo's Manifest files serve to provide meta information for a library in a structured way. Their syntax is in JSON. They have a more informational part (keyed info), which is more interesting for human readers, and a technical part (named provides) that is used in the processing of generator configurations. Here is a brief sample with all the possible keys:
Manifest files are referenced in application's config.json files (in the library key), to identify the library they stand for.
Reference¶
This is a sample file:
{
"info" :
{
"name" : "Custom Application",
"summary" : "Custom Application",
"description" : "This is a skeleton for a custom application with qooxdoo.",
"keywords" : ["custom"],
"homepage" : "http://some.homepage.url/",
"license" : "SomeLicense",
"authors" :
[
{
"name" : "First Author (uid)",
"email" : "first.author@some.domain"
}
],
"version" : "trunk",
"qooxdoo-versions": ["trunk"],
"sourceViewUri" : "https://github.com/someuser/custom/blob/master/source/class/%{classFilePath}#L%{lineNumber}"
},
"provides" :
{
"namespace" : "custom",
"encoding" : "utf-8",
"class" : "source/class",
"resource" : "source/resource",
"translation" : "source/translation",
"type" : "application"
}
}
Description of Keys:¶
- info: All entries in this section are optional.
- name: Name of the library.
- summary: Short summary of its purpose.
- description: Descriptive text.
- keywords: List of keywords, tags.
- homepage: Homepage URL of the library.
- license: License name(s) of the library.
- authors: Author(s) of the library. A list of maps, each map containing the following fields:
- name : Author name.
- email : Author email address.
- version: Version of the library.
- qooxdoo-versions: List of versions of the qooxdoo framework this library is compatible with.
- sourceViewUri: URL to view the library's class code online. This URL will be used in generated API documentation. It has a special syntax and allows for placeholders (e.g. for the class name and the source line number). See the Apiviewer documentation for details.
- provides: Entries in this section are mandatory.
- namespace: Library namespace (i.e. the namespace elements all class names in this library are prefixed with, e.g. foo for a main application class with name foo.Application).
- encoding: File encoding of source code files (should be utf-8).
- class: Path to the library's class code relative to the Manifest.json file, up to but not including the root namespace folder (e.g. source/class).
- resource: Path to the library's resources relative to the Manifest.json file, up to but not including the root namespace folder (e.g. source/resource).
- translation: Path to the library's translation files relative to the Manifest.json file (e.g. source/translation).
- type: One of [library, application].