fix(bugcollect-plugin): always inject xuqmBuildId manifest placeholder for all variants

The placeholder was only set when minifyEnabled=true, causing debug builds
to fail with "no value for <xuqmBuildId> is provided". Moved buildId
injection before the minify guard; mapping upload task registration stays
after it.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
这个提交包含在:
XuqmGroup 2026-06-23 11:12:42 +08:00
父节点 3554cbdf31
当前提交 50effbb274

查看文件

@ -90,15 +90,14 @@ class XuqmBugCollectPlugin : Plugin<Project> {
?: return
androidComponents.onVariants { variant ->
// Always inject buildId — the AAR manifest placeholder must be resolved for every variant.
val buildId = SimpleDateFormat("yyyyMMddHHmmss", Locale.US).format(Date())
variant.manifestPlaceholders.put("xuqmBuildId", buildId)
// Mapping upload only makes sense for minified (release) builds.
val buildType = androidDsl.buildTypes.findByName(variant.buildType ?: "") ?: return@onVariants
if (!buildType.isMinifyEnabled) return@onVariants
// Generate a per-build identifier stamped at configuration time.
val buildId = SimpleDateFormat("yyyyMMddHHmmss", Locale.US).format(Date())
// Inject via manifestPlaceholders — SDK reads it from ApplicationInfo.metaData.
// This avoids the namespace vs applicationId mismatch of BuildConfig reflection.
variant.manifestPlaceholders.put("xuqmBuildId", buildId)
val configFile = findVariantConfigFile(target.projectDir, variant.flavorName, variant.buildType)
val (fileAppKey, filePlatformUrl) = when {
configFile != null -> readEncryptedConfigFile(configFile)