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