MMT uses a META-INF
directory containing a MANIFEST.MF
file.MMT archives are inspired by Java jar archives (which are directory trees zipped into jar files), from where the file name and location is taken.
It corresponds to the project definition or project settings file in software projects.
Directories containing such a file with a key id
are recognized as archives by MMT.
The manifest contains a list of key-value pairs.
The syntax is one <key> : <value>
instance per line.
Archive and application developers are free to introduce keys as they see fit as long as the key contains a .
character. (It is recommended to use URIs, e.g., org.mytool.mykey
for user-defined keys.
The following keys are predefined by MMT:
Key(s) | Meaning |
---|---|
id | unique identifier of the archive, used to refer to the archive in shell commands |
content-base | the default namespace in place when entering a source file; this only affects the MMT URIs of the modules in these source files |
narration-base | the URI prefix prepended to the file paths inside the archives to form document URIs |
source, content, narration, relational | custom folder names for specific dimensions (see the build tool for details) |
ns | the default namespace of the archive used for all files that do not declare a namespace |
ns-PREFIX | a namespace binding for PREFIX that is in effect for all files in the archives (unless a file redefines the prefix) |
dependencies | comma-seperated dependencies for the archive in question. Every archive implicitly has an additional dependency on the ‘meta-inf’ archive of its group even if it is not listed. For example on MathHub (to which the concepts also apply to), the archive MitM/Foundation has the implicit dependency MitM/meta-inf. |
foundation | the (assumed to be common) meta theory for all modules in the archive. |