Manifest [[extras]] Section
The [[extras]]
section contains key-value pairs to describe custom meta-data associated with the package or a component in the package. Extras are optional.
[[extras]]
# custom meta-data defined for the package
Fields
key
(string, required): Define the key that can be used by application component to retrieve the value.component-id
(string, optional): Define the applicationcomponent-id
that this key-value pair should be associated with. By adding this association, the key-value pair is available along with the component information throughIComponent
. If not defined, then the key-value pair is treated as a global value for the package and made available along with the package information throughIPackage
.value
can be defined in either of the two ways:value
(string, required): Define a string value.value
(table, required): The content of thevalue
table, including any sub-tables or sub-arrays of table, makes up the content of the value for the key-value pair. A sub-table can be declared asvalue.<subtablename>
using inline table syntax or[[extras.value.<subtablename>]]
using regular table syntax. This value gets transformed to[[<subtablename>]]
in the resulting value throughIPackage
orIComponent
. The reader of this value is expected to parse TOML value from the string.
# global key value
[[extras]]
key = "foo"
value = "bar"
# component specific key value
[[extras]]
key = "foo2"
value = "bar2"
component-id = "com.foo.bar.interactive"
# value containing an inline table
[[extras]]
key = "sample.metadata"
value.mysection = { rev = "1.5", name = "Doe" }
The above results in the following key-value pair:
"sample.metadata" => "[mysection] name = 'Doe' rev = '1.5'"
Last updated: Sep 30, 2025