jeyroik / extas-installer-import
此包最新版本(0.1.1)的许可证信息不可用。
允许导出/导入定义的extas兼容实体
0.1.1
2020-10-02 14:50 UTC
Requires
Requires (Dev)
This package is auto-updated.
Last update: 2024-09-29 05:49:34 UTC
README
描述
该包允许从extas兼容包中仅导入所需实体。
注意:捐赠包必须支持导出(详细信息见下文)。
导出配置
如果包希望按需组织安装某些实体,则需要描述导出部分。
extas.json
{ "name": "my/package", "export": { } }
导出内容与extas.json
的内容相同,例如,如果包中假定需要安装的插件和可按需安装的插件,则描述将大致如下
extas.json
{ "name": "my/package", "plugins": [ { "class": "plugin/First", "stage": "some.stage" } ], "export": { "plugins": [ { "class": "plugin/Second", "stage": "any.stage", "install_on": "install" } ] } }
注意:
对于插件和扩展,需要考虑导入机制是在安装阶段连接的(即初始化之后)。因此,对于导出的插件和扩展,必须明确指定安装阶段(install_on: install
)。
导入配置
extas.json
{ "name": "my/package2", "import": { "from": { "my/package": { "plugins": "plugin/Second" } }, "parameters": { "on_miss_package": { "name": "on_miss_package", "value": "continue" }, "on_miss_section": { "name": "on_miss_section", "value": "throw" } } } }
- 本节中的
from
指定了需要从中进行导入的包。 parameters
参数定义了在找不到导入包或请求的包内的部分时行为。可能的值:continue
- 简单地转到下一个包/下一个部分,throw
- 抛出错误,整个导入中断。
包提供了两个阶段(它们按以下顺序启动)
extas.package.export.build.<section.name>
- 例如,extas.package.export.build.plugins
用于插件。extas.package.export.build
阶段接口相同,可以在src/interfaces/stages/IStagePackageExportBuild
中找到。
这些阶段用于解释from
部分中的部分值。因此,可以组织自己的格式。
内置导入描述格式
内置机制通过字段搜索实体 - extas\components\plugins\export\PluginExportByField
。
该机制允许在插件参数中指定字段并按该字段过滤实体
{ "name": "my/package2", "import": { "from": { "my/package": { "plugins": "plugin/Second" } } } }
内置插件处理plugins
和extensions
部分。根据上述示例,将从my/package
包中导入只有类plugin/Second
的插件。
还可以指定多个实体
{ "name": "my/package2", "import": { "from": { "my/package": { "plugins": ["plugin/Second", "plugin/Third"] } } } }
有关指定字段的插件描述示例,请参阅该包的extas.json
。