From 64702e021cfcc820b2f52e9568d99d18eaf23f67 Mon Sep 17 00:00:00 2001 From: Kudo Chien Date: Mon, 23 May 2022 16:35:09 +0800 Subject: [PATCH] Fix mkcodecache issue --- android/mkcodecache.gradle | 35 ++++++++++++++++++++--------------- 1 file changed, 20 insertions(+), 15 deletions(-) diff --git a/android/mkcodecache.gradle b/android/mkcodecache.gradle index 78ffaa0..996015f 100644 --- a/android/mkcodecache.gradle +++ b/android/mkcodecache.gradle @@ -11,23 +11,12 @@ import java.nio.file.Paths import org.apache.tools.ant.taskdefs.condition.Os -def appProject = rootProject.allprojects.find { it.plugins.hasPlugin('com.android.application') } +def appProjectName = findProperty('v8.appProject') +def appProject = appProjectName ? project(":${appProjectName}") : rootProject.allprojects.find { it.plugins.hasPlugin('com.android.application') } if (!appProject) { return; } -def appConfig = appProject.hasProperty("react") ? appProject.react : [:]; -def bundleAssetName = appConfig.bundleAssetName ?: "index.android.bundle" - -// Set bundleForVariant to a function to configure per variant, -// defaults to `bundleIn${targetName}` or True for Release variants and False for debug variants -def bundleForVariant = appConfig.bundleForVariant ?: { - def variant -> - appConfig."bundleIn${variant.name.capitalize()}" || - appConfig."bundleIn${variant.buildType.name.capitalize()}" || - variant.name.toLowerCase().contains("release") -} - File findNodePackageDir(String packageName, boolean absolute = true) { def nodeCommand = ["node", "--print", "require.resolve('${packageName}/package.json')"] def proc = nodeCommand.execute(null, rootDir) @@ -64,6 +53,18 @@ def getV8ToolsDir() { } def setupClosure = { + def appConfig = appProject.hasProperty("react") ? appProject.react : [:]; + def bundleAssetName = appConfig.bundleAssetName ?: "index.android.bundle" + + // Set bundleForVariant to a function to configure per variant, + // defaults to `bundleIn${targetName}` or True for Release variants and False for debug variants + def bundleForVariant = appConfig.bundleForVariant ?: { + def variant -> + appConfig."bundleIn${variant.name.capitalize()}" || + appConfig."bundleIn${variant.buildType.name.capitalize()}" || + variant.name.toLowerCase().contains("release") + } + def variants = appProject.android.applicationVariants variants.all { def variant -> def targetName = variant.name.capitalize() @@ -96,8 +97,12 @@ def setupClosure = { } } - dependsOn(variant.ext.bundleJsAndAssets) - enabled bundleForVariant(variant) + if (variant.ext.has('bundleJsAndAssets')) { + dependsOn(variant.ext.bundleJsAndAssets) + enabled bundleForVariant(variant) + } else { + enabled false + } } def currentWipeBundleTask = tasks.create(name: "wipe${targetName}BundledJs") {