From e2fdf307d5f2c04d48caaee937f1c7b247fc11d5 Mon Sep 17 00:00:00 2001 From: Adrian Marquez Date: Mon, 28 Sep 2020 22:08:38 -0500 Subject: [PATCH 1/2] Add platforms hooks to copy/include branch.json to assets --- src/scripts/android/updateAssets.js | 28 ++++++++++++++++++++++++++++ src/scripts/hooks/beforePrepare.js | 8 ++++++++ src/scripts/ios/updatePbxproj.js | 26 ++++++++++++++++++++++++++ src/scripts/npm/processConfigXml.js | 20 ++++++++++++++++++++ 4 files changed, 82 insertions(+) create mode 100644 src/scripts/android/updateAssets.js create mode 100644 src/scripts/ios/updatePbxproj.js diff --git a/src/scripts/android/updateAssets.js b/src/scripts/android/updateAssets.js new file mode 100644 index 00000000..5b230ee7 --- /dev/null +++ b/src/scripts/android/updateAssets.js @@ -0,0 +1,28 @@ +(function() { + // properties + + const fs = require("fs"); + const path = require("path"); + + // entry + module.exports = { + addBranchJson: addBranchJson + }; + + // updates the platforms/ios/*.xcodeproj/project.pbxproj file and adds branch.json file + function addBranchJson(context, preferences) { + if (preferences.branchJson.exists) { + const destination = path.join( + context.opts.projectRoot, + "platforms", + "android", + "app", + "src", + "main", + "assets", + "branch.json" + ); + fs.copyFileSync(preferences.branchJson.path, destination); + } + } +})(); diff --git a/src/scripts/hooks/beforePrepare.js b/src/scripts/hooks/beforePrepare.js index 76c2453f..0776d032 100644 --- a/src/scripts/hooks/beforePrepare.js +++ b/src/scripts/hooks/beforePrepare.js @@ -5,7 +5,10 @@ const iosPlist = require("../ios/updatePlist.js"); const iosAssociatedDomains = require("../ios/updateAssociatedDomains.js"); const iosHeaderPaths = require("../ios/updateHeaderPaths.js"); + const iosPbxproj = require("../ios/updatePbxproj.js"); + const androidAssets = require("../android/updateAssets.js"); const IOS = "ios"; + const ANDROID = "android"; // entry module.exports = run; @@ -16,10 +19,15 @@ const platforms = context.opts.cordova.platforms; platforms.forEach(platform => { + if (platform === ANDROID) { + androidAssets.addBranchJson(context, preferences); + } + if (platform === IOS) { iosPlist.addBranchSettings(preferences); iosAssociatedDomains.addAssociatedDomains(preferences); iosHeaderPaths.addHeaderPaths(); + iosPbxproj.addBranchJson(context, preferences); } }); } diff --git a/src/scripts/ios/updatePbxproj.js b/src/scripts/ios/updatePbxproj.js new file mode 100644 index 00000000..cfe12860 --- /dev/null +++ b/src/scripts/ios/updatePbxproj.js @@ -0,0 +1,26 @@ +(function() { + // properties + + const fs = require("fs"); + const path = require("path"); + + // entry + module.exports = { + addBranchJson: addBranchJson + }; + + // updates the platforms/ios/*.xcodeproj/project.pbxproj file and adds branch.json file + function addBranchJson(context, preferences) { + if (preferences.branchJson.exists && preferences.iosProjectModule.xcode) { + const destination = path.join( + context.opts.projectRoot, + "platforms", + "ios", + "branch.json" + ); + fs.copyFileSync(preferences.branchJson.path, destination); + preferences.iosProjectModule.xcode.addResourceFile(destination); + preferences.iosProjectModule.write(); + } + } +})(); diff --git a/src/scripts/npm/processConfigXml.js b/src/scripts/npm/processConfigXml.js index b16372c8..0f208cd8 100644 --- a/src/scripts/npm/processConfigXml.js +++ b/src/scripts/npm/processConfigXml.js @@ -1,6 +1,7 @@ (function() { // properties + const fs = require("fs"); const path = require("path"); const xmlHelper = require("../lib/xmlHelper.js"); @@ -57,6 +58,7 @@ return { projectRoot: getProjectRoot(context), projectName: getProjectName(configXml), + branchJson: getBranchJson(context), branchKey: getBranchKey(branchXml, "branch-key-live"), branchKeyTest: getBranchValue(branchXml, "branch-key-test"), branchTestMode: getBranchValue(branchXml, "branch-test-mode"), @@ -96,6 +98,24 @@ return output; } + // Checks if branch.json exists in projectRoot and returns its path + function getBranchJson(context) { + const pathToBranchJson = path.join(context.opts.projectRoot, "branch.json"); + let exists; + + try { + fs.existsSync(pathToBranchJson); + exists = true; + } catch(err) { + exists = false; + } + + return { + exists: exists, + path: pathToBranchJson + }; + } + // read branch value from function getBranchValue(branchXml, key) { return branchXml.hasOwnProperty(key) ? branchXml[key][0].$.value : null; From 499d82e069e0a6ff1205708321e2aecb434d18e0 Mon Sep 17 00:00:00 2001 From: Adrian Marquez Date: Mon, 26 Apr 2021 10:59:26 -0500 Subject: [PATCH 2/2] bump android and ios SDKs --- package.json | 2 +- plugin.xml | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 0a8c9048..7e8a2790 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "branch-cordova-sdk", "description": "Branch Metrics Cordova SDK", "main": "src/index.js", - "version": "4.2.1", + "version": "4.2.2", "homepage": "https://github.com/BranchMetrics/cordova-ionic-phonegap-branch-deep-linking", "repository": { "type": "git", diff --git a/plugin.xml b/plugin.xml index 76adc2b3..87a6f95b 100644 --- a/plugin.xml +++ b/plugin.xml @@ -24,7 +24,7 @@ SOFTWARE. + version="4.2.2"> branch-cordova-sdk @@ -63,7 +63,7 @@ SOFTWARE. - + @@ -87,7 +87,7 @@ SOFTWARE. - +