diff --git a/packages/hap-packager/src/plugins/zip-plugin.js b/packages/hap-packager/src/plugins/zip-plugin.js index 0e9689ce..e72040a2 100644 --- a/packages/hap-packager/src/plugins/zip-plugin.js +++ b/packages/hap-packager/src/plugins/zip-plugin.js @@ -160,14 +160,26 @@ function getDistFilename(options, distExt) { ) } let distName + + let { PACKAGE_NAME, PACKAGE_TYPE, NODE_ENV } = + globalConfig.launchOptions?.compileOptions?.defineOptions || {} + // eg. packageName.release.production.customName.version.rpk + const distNameOption = [ + PACKAGE_NAME || options.name, + PACKAGE_TYPE || flagSign, + NODE_ENV, + // customName + undefined, + options.versionName, + distExt + ] if (options.buildNameFormat === compileOptionsMeta.buildNameFormat.ORIGINAL) { distName = `${options.name}.${flagSign}.${distExt}` } else if (options.buildNameFormat && options.buildNameFormat.startsWith('CUSTOM=')) { - const custom = options.buildNameFormat.split('=')[1] - distName = `${options.name}.${flagSign}.${custom}.${options.versionName}.${distExt}` - } else { - distName = `${options.name}.${flagSign}.${options.versionName}.${distExt}` + // customName + distNameOption[3] = options.buildNameFormat.split('=')[1] } + distName = distName || distNameOption.filter(Boolean).join('.') return distName } diff --git a/packages/hap-packager/src/router/routes.js b/packages/hap-packager/src/router/routes.js index 6ab5e0e5..6beac3cb 100644 --- a/packages/hap-packager/src/router/routes.js +++ b/packages/hap-packager/src/router/routes.js @@ -131,7 +131,10 @@ async function logger(context, next) { async function notify(context, next) { const callback = context.conf.options.callback if (typeof callback === 'function') { - const params = { action: 'runCompile' } + const params = { + action: 'runCompile', + defineOptions: globalConfig.launchOptions?.compileOptions?.defineOptions + } callback(params) } context.status = 200 diff --git a/packages/hap-toolkit/src/gen-webpack-conf/index.js b/packages/hap-toolkit/src/gen-webpack-conf/index.js index 390b7db8..f540479c 100644 --- a/packages/hap-toolkit/src/gen-webpack-conf/index.js +++ b/packages/hap-toolkit/src/gen-webpack-conf/index.js @@ -89,6 +89,7 @@ export default async function genWebpackConf(launchOptions, mode) { if (launchOptions.ideConfig && typeof launchOptions.ideConfig.cli === 'object') { launchOptions = Object.assign({}, launchOptions.ideConfig.cli, launchOptions) } + globalConfig.launchOptions = launchOptions // 源代码目录 const SRC_DIR = path.resolve(cwd, globalConfig.sourceRoot)