构建参数配置(Swan-Prop)
1 简介
小程序编译配置文件,用于参数化控制 Nest 插件的编译逻辑。
支持配置合并优先级和影子文件:
- 配置合并优先级:配置项优先级按文件的读取顺序文件依次提高,后加载的配置文件优先级更高,同一配置文件中的相同配置项,后者优先级更高。
- 影子文件:每个配置文件都支持一个以”.local.”为前缀的影子文件,如:swan.properties 的影子文件 “.local.swan.properties”,当配置文件的存在影子文件时,影子文件优先级相当于自身,但高于自身
2 配置定义
目前主要有三类配置文件:
- 主要配置文件,如:swan.properties
- 源码集配置文件,如:home.properties、version.properties
- 模块集配置文件,如:modules.properties
下面介绍各类配置文件定义。
2.1 主要配置文件
所有主要配置文件的配置项将按照优先级合并,共同用于控制小程序框架以及 Nest 插件自身的编译逻辑,如:组件仓库认证信息、组件发布控制等。
常见文件名:
- swan.properties
- versions.properties
约定读取位置及优先级(优先级随序号递增):
- Nest 插件 buildin 资源文件 - 组件版本配置,既:Nest 工程下 shared 目录中的 versions.properties 文件
- Nest 插件 buildin 资源文件 - 一般编译配置,既:Nest 工程下 shared 目录中的 swan.properties 文件
- 工程根目录配置文件,既:宿主工程根目录下的 swan.properties 文件,例如:Demo 和 Nest 根目录
- 此上述配置文件中,“SWAN_EXTRA_PROPS”字段配置的自定义文件路径
- 系统全局配置文件,既:操作系统 home 目录下 .swan 隐藏目录中的 swan.properties 文件(~/.swan/swan.properties)
- 参与编译的源码集、模块集根目录下的 swan.properties 配置文件,如:小程序代码仓库根目录下的 swan.properties 文件
支持的配置项如下:
注意:带有【本地保护】字样的配置项,切勿提交到版本库,可以写在被 git ignore 的影子文件或者全局配置文件,例如:”.local.swan.properties” 或 “~/.swan/swan.properties”
SWAN_REPO_USER【本地保护】
- 定义:小程序组件仓库认证信息 - 用户名
- 取值:String 型
- 例如:SWAN_REPO_USER=username
SWAN_REPO_PASS【本地保护】
- 定义:小程序组件仓库认证信息 - 密码
- 取值:String 型
- 例如:SWAN_REPO_PASS=password
SWAN_EXTRA_PROPS
- 定义:自定义额外的配置文件地址
- 取值:String 型,默认:空
- 例如:SWAN_EXTRA_PROPS=path/to/extra.properties
SWAN_NO_SRC_COMPILE
- 定义:强制忽略源码,仅依赖maven组件编译,用于模拟宿主以组件方式介入
- 取值:Bool 型,默认:false
- 例如:SWAN_NO_SRC_COMPILE=true
SWAN_REPO_CHANNEL
- 定义:参与编译及发布的小程序仓库渠道
- 取值:String 型,默认:release
- 取值范围:release, preview, snapshots
- 例如:SWAN_REPO_CHANNEL=preview
2.2 源码集配置文件
用于配置当前代码集下所有模块共同的编译选项,源码集是指小程序的分仓库源码,配置文件位于仓库的根目录,支持以下一种配置文件:
home.properties
:一般配置,目前无可用配置 version.properties:用于配置仓库组件的发布版本,为了兼容 easybox 仅支持 publishVersion 配置项,用于配置组件的发布版本 注:Nest
插件的版本号与小程序框架一一对应,同样取自于 publishVersion 字段配置的版本号
2.3 模块集配置文件
用于配置当前模块集下所有模块通用的编译选项,模块集通常是指具有相同开源可见性的一组模块的父目录,包括以下一种配置文件:
modules.properties
:模块集配置文件,用于配置模块集中各个模块共同的的编译属性,目前无可用配置