metadata.json 中的 "shell-versions" 变量究竟是如何工作的?
How does the "shell-versions" variable in metadata.json work, exactly?
我在 metadata.json 中看到了几种方法,有些只指定完整版本,例如“3.22”,而有些则更具体,例如“3.22.1”。我打开了一个问题,其中有“3.24”、“3.24.1”和“3.24.2”,但扩展在“3.24.3”中无法工作,直到我指定它。
有必要列出支持的所有特定 "point" 版本的 gnome-shell,或者仅当指定了至少一个 "point" 版本时 gnome-shell 才会关心?
从 GNOME 40 开始,每个稳定版本都是 1
的简单增量,奇数不再不稳定(例如 40
、41
、42
) 和次要版本将被忽略。
直到版本 3.38
,版本检查有点复杂:
/**
* versionCheck:
* @required: an array of versions we're compatible with
* @current: the version we have
*
* Check if a component is compatible for an extension.
* @required is an array, and at least one version must match.
* @current must be in the format <major>.<minor>.<point>.<micro>
* <micro> is always ignored
* <point> is ignored if <minor> is even (so you can target the
* whole stable release)
* <minor> and <major> must match
* Each target version must be at least <major> and <minor>
*/
我在 metadata.json 中看到了几种方法,有些只指定完整版本,例如“3.22”,而有些则更具体,例如“3.22.1”。我打开了一个问题,其中有“3.24”、“3.24.1”和“3.24.2”,但扩展在“3.24.3”中无法工作,直到我指定它。
有必要列出支持的所有特定 "point" 版本的 gnome-shell,或者仅当指定了至少一个 "point" 版本时 gnome-shell 才会关心?
从 GNOME 40 开始,每个稳定版本都是 1
的简单增量,奇数不再不稳定(例如 40
、41
、42
) 和次要版本将被忽略。
直到版本 3.38
,版本检查有点复杂:
/**
* versionCheck:
* @required: an array of versions we're compatible with
* @current: the version we have
*
* Check if a component is compatible for an extension.
* @required is an array, and at least one version must match.
* @current must be in the format <major>.<minor>.<point>.<micro>
* <micro> is always ignored
* <point> is ignored if <minor> is even (so you can target the
* whole stable release)
* <minor> and <major> must match
* Each target version must be at least <major> and <minor>
*/