com-artemisoftnian-plugins-unityads3
Version:
Monetize your cordova application using the UnityAds 4 API
73 lines (58 loc) • 2.38 kB
JavaScript
const child_process = require("child_process");
const fs = require("fs");
const path = require("path");
const platformPath = "/platforms/ios/";
function podUpdate (ctx) {
if (!ctx.opts.platforms.includes('ios'))
return;
console.log(" MOVING TO: ", path.join(ctx.opts.projectRoot, platformPath) )
return new Promise((resolve, reject) => {
console.log("Running manual pod update");
child_process.exec("pod update --verbose", { cwd: path.join(ctx.opts.projectRoot, platformPath) }, (err, stdout, stderr) => {
if (err)
{
console.log("Pod update failed");
if (stdout)
console.log(stdout);
if (stderr)
console.log(stderr);
reject();
}
else {
if (stdout)
console.log(stdout);
console.log("Pod update sucess - lets get ready to rumble!");
resolve();
}
});
});
}
function androidXUpgrade (ctx) {
if (!ctx.opts.platforms.includes('android'))
return;
const enableAndroidX = "android.useAndroidX=true";
const enableJetifier = "android.enableJetifier=true";
//For Cordova
const gradlePropertiesPath = "./platforms/android/gradle.properties";
//For PhoneGap
const gradlePropertiesPathPG = "./platforms/android/project.properties";
let gradleProperties = fs.existsSync(gradlePropertiesPath)?
fs.readFileSync(gradlePropertiesPath, "utf8"):
fs.readFileSync(gradlePropertiesPathPG, "utf8");
if (gradleProperties)
{
const isAndroidXEnabled = gradleProperties.includes(enableAndroidX);
const isJetifierEnabled = gradleProperties.includes(enableJetifier);
if (isAndroidXEnabled && isJetifierEnabled)
return;
if (isAndroidXEnabled === false)
gradleProperties += "\n" + enableAndroidX;
if (isJetifierEnabled === false)
gradleProperties += "\n" + enableJetifier;
fs.writeFileSync(gradlePropertiesPath, gradleProperties);
}
}
module.exports = function (ctx) {
androidXUpgrade(ctx);
return podUpdate(ctx);
};