From 2a5292ef2d8ebe5b8919e14f8c22ce4728d76dcb Mon Sep 17 00:00:00 2001 From: bmaluff Date: Tue, 28 Mar 2023 13:28:40 -0400 Subject: [PATCH 1/2] Update codepush.gradle config was receiving an ArrayList as a false case, but ArrayLists don't support get() method, so it should receive a Map instance. --- android/codepush.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/android/codepush.gradle b/android/codepush.gradle index a0f9d2748..d24bc873b 100644 --- a/android/codepush.gradle +++ b/android/codepush.gradle @@ -2,7 +2,7 @@ import java.nio.file.Paths; -def config = project.extensions.findByName("react") ?: [] +def config = project.extensions.findByName("react") ?: [:] def bundleAssetName = config.bundleAssetName.get() ?: "index.android.bundle" // because elvis operator From dbbc0df43351ebee9eff7a7ae05bb3443a65304d Mon Sep 17 00:00:00 2001 From: bmaluff Date: Mon, 3 Apr 2023 11:47:24 -0400 Subject: [PATCH 2/2] Fix get on null object Add more verifications for config variable --- android/codepush.gradle | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/android/codepush.gradle b/android/codepush.gradle index d24bc873b..e4011d781 100644 --- a/android/codepush.gradle +++ b/android/codepush.gradle @@ -3,7 +3,7 @@ import java.nio.file.Paths; def config = project.extensions.findByName("react") ?: [:] -def bundleAssetName = config.bundleAssetName.get() ?: "index.android.bundle" +def bundleAssetName = config.bundleAssetName ? config.bundleAssetName.get() : "index.android.bundle" // because elvis operator def elvisFile(thing) { @@ -24,7 +24,7 @@ android.buildTypes.each { buildType -> } gradle.projectsEvaluated { - def debuggableVariants = config.debuggableVariants.get() ?: ['debug'] + def debuggableVariants = config.debuggableVariants ? config.debuggableVariants.get() : ['debug'] android.applicationVariants.all { variant -> // No code push for debuggable variants @@ -49,8 +49,8 @@ gradle.projectsEvaluated { def jsBundleFile; // Additional node commandline arguments - def nodeExecutableAndArgs = config.nodeExecutableAndArgs.get() ?: ["node"] - def extraPackagerArgs = config.extraPackagerArgs.get() ?: [] + def nodeExecutableAndArgs = config.nodeExecutableAndArgs ? config.nodeExecutableAndArgs.get(): ["node"] + def extraPackagerArgs = config.extraPackagerArgs ? config.extraPackagerArgs.get() : [] // Make this task run right after the bundle task def generateBundledResourcesHash; @@ -73,11 +73,11 @@ gradle.projectsEvaluated { runBefore("merge${targetName}Assets", generateBundledResourcesHash) } else { def jsBundleDirConfigName = "jsBundleDir${targetName}" - jsBundleDir = elvisFile(config."$jsBundleDirConfigName").get() ?: + jsBundleDir = elvisFile(config."$jsBundleDirConfigName") ? elvisFile(config."$jsBundleDirConfigName").get(): file("$buildDir/intermediates/assets/${targetPath}") def resourcesDirConfigName = "resourcesDir${targetName}" - resourcesDir = elvisFile(config."${resourcesDirConfigName}").get() ?: + resourcesDir = elvisFile(config."${resourcesDirConfigName}") ? elvisFile(config."${resourcesDirConfigName}").get(): file("$buildDir/intermediates/res/merged/${targetPath}") // In case version of 'Android Plugin for Gradle'' is lower than 1.3.0