In our local build system we added a after_platform_add hook
module.exports = function(ctx) {
'use strict';
var fs = ctx.requireCordovaModule('fs'),
path = ctx.requireCordovaModule('path'),
deferral = ctx.requireCordovaModule('q').defer(),
replaceStream = require('replacestream'),
async = require('async');
var platformRoot = path.join(ctx.opts.projectRoot, 'platforms/android');
var gradleFiles = [path.join(platformRoot, 'build.gradle'), path.join(platformRoot, 'CordovaLib', 'build.gradle')];
async.each(gradleFiles, function(f, cb) {
fs.readFile(f, 'utf8', function(err, data) {
if (err) {
cb(err);
return;
}
var result = data.replace(/repositories {(?:\n\s*)?jcenter\(\)(?:\n\s*)?maven {(?:\n\s*)?url "https:\/\/maven\.google\.com"(?:\n\s*)?}(?:\n\s*)?}/g, 'repositories { maven { url "https://maven.google.com" }; jcenter() }');
fs.writeFile(f, result, 'utf8', cb);
});
}, function(err) {
if (err) {
deferral.reject();
} else {
deferral.resolve();
}
});
return deferral.promise;
}
it requires “replacestream”: “^4.0.3” to be installed