From 6ab804f41d4a7ee2d897776e632fdf763587c1c9 Mon Sep 17 00:00:00 2001 From: blavenie <benoit.lavenier@e-is.pro> Date: Tue, 8 May 2018 19:12:25 +0200 Subject: [PATCH] Fix compilation. see https://stackoverflow.com/questions/49162538/running-cordova-build-android-unable-to-find-attribute-androidfontvariation --- build-extras.gradle | 5 +++ hooks/after_prepare/061_copy_build_extras.js | 38 ++++++++++++++++++++ 2 files changed, 43 insertions(+) create mode 100644 build-extras.gradle create mode 100755 hooks/after_prepare/061_copy_build_extras.js diff --git a/build-extras.gradle b/build-extras.gradle new file mode 100644 index 00000000..d3275a49 --- /dev/null +++ b/build-extras.gradle @@ -0,0 +1,5 @@ +configurations.all { + resolutionStrategy { + force 'com.android.support:support-v4:27.1.0' + } +} diff --git a/hooks/after_prepare/061_copy_build_extras.js b/hooks/after_prepare/061_copy_build_extras.js new file mode 100755 index 00000000..66be5f3d --- /dev/null +++ b/hooks/after_prepare/061_copy_build_extras.js @@ -0,0 +1,38 @@ +#!/usr/bin/env node +"use strict"; +var fs = require('fs'); + +// See: https://stackoverflow.com/questions/49162538/running-cordova-build-android-unable-to-find-attribute-androidfontvariation + +var rootdir = process.argv[2]; + +if (rootdir) { +// go through each of the platform directories that have been prepared + var platforms = (process.env.CORDOVA_PLATFORMS ? process.env.CORDOVA_PLATFORMS.split(',') : []); + + for (var x = 0; x < platforms.length; x++) { + try { + var platform = platforms[x].trim().toLowerCase(); + + if (platform == 'android') { + var android_dir = rootdir + '/platforms/android'; + var gradle_file = rootdir + '/build-extras.gradle'; + var dest_gradle_file = android_dir + '/build-extras.gradle'; + + if (fs.existsSync(android_dir) && fs.existsSync(gradle_file)) { + console.log('-----------------------------------------'); + console.log(' Copy ' + gradle_file + ' to ' + android_dir); + console.log('-----------------------------------------'); + fs.createReadStream(gradle_file).pipe(fs.createWriteStream(dest_gradle_file)); + } else { + console.log('-----------------------------------------'); + console.log( ' File ' + gradle_file + ' not found. Skipping copy to /platforms/android'); + console.log('-----------------------------------------'); + } + } + } catch (e) { + process.stdout.write(e); + } + } +} + -- GitLab