Skip to content
This repository has been archived by the owner on Apr 17, 2023. It is now read-only.

Commit

Permalink
Merge pull request #134 from pcsantana/master
Browse files Browse the repository at this point in the history
Cordova 9 support
  • Loading branch information
danielpassos authored May 27, 2019
2 parents d14e02e + 7cb4cb7 commit a77ef61
Showing 1 changed file with 29 additions and 30 deletions.
59 changes: 29 additions & 30 deletions scripts/androidBeforeInstall.js
Original file line number Diff line number Diff line change
@@ -1,43 +1,42 @@
module.exports = function(ctx) {
var fs = ctx.requireCordovaModule('fs'),
path = ctx.requireCordovaModule('path'),
var fs = require('fs'),
path = require('path'),
os = require("os"),
readline = require("readline"),
deferral = ctx.requireCordovaModule('q').defer();
readline = require("readline");

var platformRoot = path.join(ctx.opts.projectRoot, 'www');
var settingsFile = path.join(platformRoot, 'google-services.json');

var platformAndroid = 'platforms/android';

if (fs.existsSync('platforms/android/app')) {
if (fs.existsSync('platforms/android/app/src/main')) {
// cordova-android >= 7.0.0
platformAndroid = 'platforms/android/app';
}

fs.stat(settingsFile, function(err,stats) {
if (err) {
deferral.reject("To use this plugin on android you'll need to add a google-services.json file with the FCM project_info and place that into your www folder");
} else {

fs.createReadStream(settingsFile).pipe(fs.createWriteStream(platformAndroid + '/google-services.json'));

var lineReader = readline.createInterface({
terminal: false,
input : fs.createReadStream(platformAndroid + '/build.gradle')
});
lineReader.on("line", function(line) {
fs.appendFileSync('./build.gradle', line.toString() + os.EOL);
if (/.*\ dependencies \{.*/.test(line)) {
fs.appendFileSync('./build.gradle', '\t\tclasspath "com.google.gms:google-services:3.0.0"' + os.EOL);
fs.appendFileSync('./build.gradle', '\t\tclasspath "com.android.tools.build:gradle:1.2.3+"' + os.EOL);
}
}).on("close", function () {
fs.rename('./build.gradle', platformAndroid + '/build.gradle', deferral.resolve);
});

}
});

return deferral.promise;
return new Promise(function(resolve, reject) {
fs.stat(settingsFile, function(err,stats) {
if (err) {
reject("To use this plugin on android you'll need to add a google-services.json file with the FCM project_info and place that into your www folder");
} else {

fs.createReadStream(settingsFile).pipe(fs.createWriteStream(platformAndroid + '/google-services.json'));

var lineReader = readline.createInterface({
terminal: false,
input : fs.createReadStream(platformAndroid + '/build.gradle')
});
lineReader.on("line", function(line) {
fs.appendFileSync('./build.gradle', line.toString() + os.EOL);
if (/.*\ dependencies \{.*/.test(line)) {
fs.appendFileSync('./build.gradle', '\t\tclasspath "com.google.gms:google-services:3.0.0"' + os.EOL);
fs.appendFileSync('./build.gradle', '\t\tclasspath "com.android.tools.build:gradle:1.2.3+"' + os.EOL);
}
}).on("close", function () {
fs.rename('./build.gradle', platformAndroid + '/build.gradle', resolve);
});

}
});
})
};

0 comments on commit a77ef61

Please sign in to comment.