.. _pages/application_structure/manifest#manifest.json: 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 :ref:`pages/tool/generator/generator_config_ref#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 :ref:`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``].