addonscript-spec/docs/schema/manifest.md

71 lines
2.1 KiB
Markdown
Raw Normal View History

2022-08-31 16:11:10 +02:00
# Addon Manifest Object
2021-06-23 22:06:21 +02:00
2021-11-14 00:37:29 +01:00
```json
2021-06-23 22:06:21 +02:00
{
2021-07-18 12:32:57 +02:00
"addonscript": {},
"id": "myaddon",
2021-11-13 20:47:21 +01:00
"namespace": "com.example",
"version": "1.0.0",
2021-11-13 20:47:21 +01:00
"files": [],
"relations": [],
2022-09-03 21:23:53 +02:00
"flags": {},
2021-07-18 12:32:57 +02:00
"repositories": [],
2022-09-10 16:56:51 +02:00
"env_api": "https://example.com",
2021-07-18 12:32:57 +02:00
"meta": {}
2021-06-23 22:06:21 +02:00
}
```
## Required properties
### addonscript
This is an [AddonScript object](addonscript.md) containing information about the version of AddonScript used in this file.
### id
2021-11-14 00:17:32 +01:00
This is the ID of the addon.
It MUST only contains lowercase alphanumeric characters and hyphens and SHOULD be written in the `kebab-case` format.
2021-11-13 20:47:21 +01:00
### version
2022-02-26 16:45:28 +01:00
This is the [version number](../concepts/versioning.md) of this version. Versions are compared by
[Maven version order rules](../concepts/versioning.md#version-order-specification).
If this version number is valid semver, this version of the addon is semver compatible and implies
all semantics according to the [semver specifications](https://semver.org/spec/v2.0.0.html).
AddonScript implementations MAY provide specific behavior based on the semver semantics, for example
warning the user before updating to a next major version.
2021-06-23 22:06:21 +02:00
2022-08-04 16:53:33 +02:00
### namespace
This is the [canonical namespace](../concepts/namespaces.md#canonical-namespaces) of the addon.
2022-06-08 19:44:19 +02:00
### flags
2022-09-03 21:23:53 +02:00
This is an [flags object](flags.md) which contains [manifest flags](../concepts/flags.md#manifest-flags) for both sides for this manifest.
2022-06-08 19:44:19 +02:00
2021-06-23 22:06:21 +02:00
## Optional properties
2021-11-13 20:47:21 +01:00
### files
2021-06-23 22:06:21 +02:00
2021-11-14 00:17:32 +01:00
This is an array of [file objects](file.md) including the files belonging to this addon.
2021-06-23 22:06:21 +02:00
2021-11-13 20:47:21 +01:00
### relations
2021-11-14 00:17:32 +01:00
This is an array of [relation objects](relation.md) which represent addons in relation to this one.
2021-06-23 22:06:21 +02:00
2021-11-13 20:47:21 +01:00
### repositories
This is an array of [repository objects](repository.md). Each repository object defines one repository from which files or
addons can be retrieved.
2021-06-23 22:06:21 +02:00
2022-09-10 16:56:51 +02:00
### env_api
This is the base URL of an [AddonScript API](../api) instance, which has the `env` feature and will be used to
build the launch environment for this addon. This property will only be used if this addon has the `env`
[manifest flag](../concepts/flags.md#manifest-flags).
2021-06-23 22:06:21 +02:00
### meta
2021-11-14 00:17:32 +01:00
This is a [meta object](meta.md) containing metadata about the addon.