中间件发布规范

更新时间:
2024-12-27

中间件发布规范

中间件发布时应遵循以下标准,包含制品的结构及内容,以及 armory.json 中需要注意的配置项。

制品组织

中间件制品应发布到 Armory@sylixos-middleware 组织下。

版本号

所有中间件制品的版本号都应遵守 SemVeropen in new window 的语义规范进行编写。

标签

中间件制品应至少包含以下一项标准标签,其他标签可自行定义。

标签说明
target设备制品包
develop开发制品包
source源码制品包

依赖信息

制品发布时应添加其依赖的其他中间件,在 armory.json 配置中如下,其中 name@namespace/package-nameversion 遵循 SemVer 格式,可支持范围依赖:

"dependencies":[{
    "name": "@sylixos-middleware/zlib",
    "version": "1.0.0"
}],

制品构成

下面对各类制品的构成及形态的规范进行说明。

设备包

名称

设备包制品名称不包含任何前后缀,例 zlib

结构

设备制品包发布时需将不同的架构分别打包,从 Armory 直接获取后的结果如下:

$ tree .
.
|-- README.md                                               制品说明文档
|-- armory.json                                             armory 资源描述文件
|-- zlib-sylixos-arm64-generic-v1.2.11+20241224.tar.gz      arm64 架构包
`-- zlib-sylixos-x86-64-v1.2.11+20241224.tar.gz             x86-64 架构包

内容

设备制品包内容展开后应当与操作系统根目录形式一致。

以 zlib 为例,其制品包展开的结构如下:

$ tree .
.
`-- lib
    `-- libz.so

其他配置

如需支持 armory install 功能,需要在 armory.json 中,将 installable 字段配置为 true

开发包

名称

开发制品名称后添加 -devel 后缀,例 zlib-devel

结构

开发制品包将全部架构包打包在一起,从 Armory 直接获取后的结果如下:

$ tree .
.
|-- README.md                                               制品说明文档
|-- armory.json                                             armory 资源描述文档
`-- zlib-sylixos-v1.2.11+20241224-devel.tar.gz              开发制品包

内容

开发制品包顶层目录为产品名称,二级目录为 install-sylixos,三级目录为各类架构的文件夹名,在各架构文件夹展开后是与操作系统根目录相同的结构。

以 zlib-devel 包为例,其制品包展开的结构如下:

$ tree .
.
`-- zlib                                                    顶层目录
    `-- install-sylixos                                     二级目录
        |-- ARM64_GENERIC                                   arm64 架构包
        |   |-- include
        |   |   |-- zconf.h
        |   |   `-- zlib.h
        |   `-- lib
        |       `-- libz.so
        `-- X86_64                                          x86-64 架构包
            |-- include
            |   |-- zconf.h
            |   `-- zlib.h
            `-- lib
                `-- libz.so

源码包

名称

源码制品名称后添加 -src 后缀,例 zlib-src

结构

源码制品包将原工程打包,从 Armory 直接获取后的结果如下:

$ tree .
.
|-- README.md                                               制品说明文档
|-- armory.json                                             armory 资源描述文档
`-- zlib-sylixos-v1.2.11+20241224-src.tar.gz                源码制品包

内容

源码制品包顶层目录为工程文件夹,其中内容不包含构建产物,仅包含原工程本身。

以 zlib-src 包为例,其源码包展开的结构如下:

$ tree . -L 3
.
`-- zlib                                                    顶层目录
    |-- Makefile
    |-- README.md
    |-- config.mk
    |-- libz.mk
    `-- zlib
        |-- CMakeLists.txt
        |-- CMakeLists.txt.user
        |-- ChangeLog
        |-- FAQ
        |-- INDEX
        |-- Makefile
        |-- Makefile.in
        |-- README
        |-- adler32.c
        |-- amiga
        |-- compress.c
        |-- configure
        |-- contrib
        |-- crc32.c
        |-- crc32.h
        |-- deflate.c
        |-- deflate.h
        |-- doc
        |-- examples
        |-- gzclose.c
        |-- gzguts.h
        |-- gzlib.c
        |-- gzread.c
        |-- gzwrite.c
        |-- infback.c
        |-- inffast.c
        |-- inffast.h
        |-- inffixed.h
        |-- inflate.c
        |-- inflate.h
        |-- inftrees.c
        |-- inftrees.h
        |-- make_vms.com
        |-- msdos
        |-- nintendods
        |-- old
        |-- os400
        |-- qnx
        |-- test
        |-- treebuild.xml
        |-- trees.c
        |-- trees.h
        |-- uncompr.c
        |-- watcom
        |-- win32
        |-- zconf.h
        |-- zconf.h.cmakein
        |-- zconf.h.in
        |-- zconf.h.included
        |-- zlib.3
        |-- zlib.3.pdf
        |-- zlib.h
        |-- zlib.map
        |-- zlib.pc.cmakein
        |-- zlib.pc.in
        |-- zlib2ansi
        |-- zutil.c
        `-- zutil.h
文档内容是否对您有所帮助?
有帮助
没帮助