diff --git a/Jenkinsfile b/Jenkinsfile index 5e133f3..a50a9f0 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -27,9 +27,13 @@ pipeline { string(name: 'XWEBVIEW_VERSION',defaultValue: '', description: '@xuqm/rn-xwebview 自定义版本号') string(name: 'LICENSE_VERSION', defaultValue: '', description: '@xuqm/rn-license 自定义版本号') - // ── 模块选择(每行一个)────────────────────────────────────────── - text(name: 'MODULES', defaultValue: 'common\nim\npush\nupdate\nxwebview\nlicense', - description: '要发布的模块,每行一个。可选: common im push update xwebview license') + // ── 模块选择(勾选即发布)────────────────────────────────────────── + booleanParam(name: 'MOD_COMMON', defaultValue: true, description: '发布 @xuqm/rn-common') + booleanParam(name: 'MOD_IM', defaultValue: true, description: '发布 @xuqm/rn-im') + booleanParam(name: 'MOD_PUSH', defaultValue: true, description: '发布 @xuqm/rn-push') + booleanParam(name: 'MOD_UPDATE', defaultValue: true, description: '发布 @xuqm/rn-update') + booleanParam(name: 'MOD_XWEBVIEW', defaultValue: true, description: '发布 @xuqm/rn-xwebview') + booleanParam(name: 'MOD_LICENSE', defaultValue: true, description: '发布 @xuqm/rn-license') } stages { @@ -49,8 +53,7 @@ pipeline { returnStdout: true ).trim() - // ── 解析选中的模块 ────────────────────────────────────────── - // 映射:参数名 → [目录, npm包名, 版本参数值] + // ── 根据复选框收集选中的模块 ────────────────────────────── def moduleMap = [ common: ['packages/common', '@xuqm/rn-common', params.COMMON_VERSION], im: ['packages/im', '@xuqm/rn-im', params.IM_VERSION], @@ -60,13 +63,18 @@ pipeline { license: ['packages/license', '@xuqm/rn-license', params.LICENSE_VERSION], ] - def requestedModules = params.MODULES - .split(/\r?\n/) - .collect { it.trim() } - .findAll { it && moduleMap.containsKey(it) } + def moduleChecks = [ + 'common': params.MOD_COMMON, + 'im': params.MOD_IM, + 'push': params.MOD_PUSH, + 'update': params.MOD_UPDATE, + 'xwebview': params.MOD_XWEBVIEW, + 'license': params.MOD_LICENSE, + ] + def requestedModules = moduleChecks.findAll { k, v -> v }.collect { k, v -> k } if (requestedModules.isEmpty()) { - error "MODULES param is empty or contains no valid module names." + error "没有选择任何模块,请至少勾选一个" } // 保存为逗号分隔的环境变量供后续阶段使用