From a21fbb851f78563292d628e91b4d817227468394 Mon Sep 17 00:00:00 2001 From: Nikita Dudin Date: Sat, 18 Dec 2021 11:42:13 +0300 Subject: [PATCH 1/4] Handle symlink error when copiyng files from cpp to android/cpp --- package/scripts/install-npm.js | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/package/scripts/install-npm.js b/package/scripts/install-npm.js index 97a21022fe..8a48b039b2 100644 --- a/package/scripts/install-npm.js +++ b/package/scripts/install-npm.js @@ -4,12 +4,21 @@ const path = require("path"); console.log("Updating symlinks for Android build..."); const createSymlink = (p) => { - console.log(`Creating symlink to ${p}`, __dirname, process.cwd()); - fs.symlinkSync( - path.resolve(`./cpp/${p}`), - path.resolve(`./android/cpp/${p}`), - "dir" - ); + const srcDir = path.resolve(`./cpp/${p}`); + const dstDir = path.resolve(`./android/cpp/${p}`); + + try { + console.log(`Creating symlink to ${p}`, __dirname, process.cwd()); + + fs.symlinkSync(srcDir, dstDir, "dir"); + } catch (err) { + if (err && err.code === "EEXIST") { + console.log("Directory already exists:", dstDir); + return; + } + + throw err; + } }; // Copy common cpp files from the package root to the android folder From 373d381c8155810621ea1a94548e7cbb32d519e5 Mon Sep 17 00:00:00 2001 From: Nikita Dudin Date: Sun, 19 Dec 2021 16:00:26 +0300 Subject: [PATCH 2/4] Remove the error handler, check if the link exists and unlink it before create a new symlink --- package/scripts/install-npm.js | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/package/scripts/install-npm.js b/package/scripts/install-npm.js index 8a48b039b2..1f107d8806 100644 --- a/package/scripts/install-npm.js +++ b/package/scripts/install-npm.js @@ -3,22 +3,20 @@ const path = require("path"); console.log("Updating symlinks for Android build..."); +const isExists = (path) => { + return fs.existsSync(path) +} + const createSymlink = (p) => { + console.log(`Creating symlink to ${p}`, __dirname, process.cwd()); const srcDir = path.resolve(`./cpp/${p}`); const dstDir = path.resolve(`./android/cpp/${p}`); - try { - console.log(`Creating symlink to ${p}`, __dirname, process.cwd()); - - fs.symlinkSync(srcDir, dstDir, "dir"); - } catch (err) { - if (err && err.code === "EEXIST") { - console.log("Directory already exists:", dstDir); - return; - } - - throw err; + if (isExists(dstDir)) { + fs.unlinkSync(dstDir); } + + fs.symlinkSync(srcDir, dstDir, "dir"); }; // Copy common cpp files from the package root to the android folder From 954ba73742e0a8450cde1317edc2d0a8f45f2106 Mon Sep 17 00:00:00 2001 From: Nikita Dudin Date: Sun, 19 Dec 2021 16:02:25 +0300 Subject: [PATCH 3/4] Add missing semicolon --- package/scripts/install-npm.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/scripts/install-npm.js b/package/scripts/install-npm.js index 1f107d8806..2cc0edb330 100644 --- a/package/scripts/install-npm.js +++ b/package/scripts/install-npm.js @@ -4,7 +4,7 @@ const path = require("path"); console.log("Updating symlinks for Android build..."); const isExists = (path) => { - return fs.existsSync(path) + return fs.existsSync(path); } const createSymlink = (p) => { From a55671b85b7561c59b5f5969385bf8f933208f5e Mon Sep 17 00:00:00 2001 From: Nikita Dudin Date: Mon, 20 Dec 2021 01:56:16 +0300 Subject: [PATCH 4/4] Remove redundant isExists function --- package/scripts/install-npm.js | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/package/scripts/install-npm.js b/package/scripts/install-npm.js index 2cc0edb330..92d77b2bf7 100644 --- a/package/scripts/install-npm.js +++ b/package/scripts/install-npm.js @@ -3,16 +3,12 @@ const path = require("path"); console.log("Updating symlinks for Android build..."); -const isExists = (path) => { - return fs.existsSync(path); -} - const createSymlink = (p) => { console.log(`Creating symlink to ${p}`, __dirname, process.cwd()); const srcDir = path.resolve(`./cpp/${p}`); const dstDir = path.resolve(`./android/cpp/${p}`); - if (isExists(dstDir)) { + if (fs.existsSync(dstDir)) { fs.unlinkSync(dstDir); }