From c2f6631f910abd69a81c9abffeab46ee4e981ccf Mon Sep 17 00:00:00 2001 From: "Christopher J. Brody" Date: Sun, 11 Nov 2018 15:07:01 -0500 Subject: [PATCH] GH-539 fix destination path fallback Fallback to old path mapping if no Android Studio path mapping exists Co-authored-by: Christopher J. Brody Co-authored-by: Kyle Kirbatski --- bin/templates/cordova/lib/pluginHandlers.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/bin/templates/cordova/lib/pluginHandlers.js b/bin/templates/cordova/lib/pluginHandlers.js index bee2841f..8e2155ea 100644 --- a/bin/templates/cordova/lib/pluginHandlers.js +++ b/bin/templates/cordova/lib/pluginHandlers.js @@ -26,7 +26,7 @@ var handlers = { if (!obj.src) throw new CordovaError(generateAttributeError('src', 'source-file', plugin.id)); if (!obj.targetDir) throw new CordovaError(generateAttributeError('target-dir', 'source-file', plugin.id)); - var dest = studioPathRemap(obj); + var dest = getInstallDestination(obj); if (options && options.force) { copyFile(plugin.dir, obj.src, project.projectDir, dest, !!(options && options.link)); @@ -35,7 +35,7 @@ var handlers = { } }, uninstall: function (obj, plugin, project, options) { - var dest = studioPathRemap(obj); + var dest = getInstallDestination(obj); // TODO: Add Koltin extension to uninstall, since they are handled like Java files if (obj.src.endsWith('java')) { @@ -292,6 +292,11 @@ function generateAttributeError (attribute, element, id) { return 'Required attribute "' + attribute + '" not specified in <' + element + '> element from plugin: ' + id; } +function getInstallDestination (obj) { + return studioPathRemap(obj) || + path.join(obj.targetDir, path.basename(obj.src)); +} + function studioPathRemap (obj) { // If a Java file is using the new directory structure, don't penalize it if (!obj.targetDir.includes('app/src/main')) {