43 lines
1.3 KiB
JavaScript
43 lines
1.3 KiB
JavaScript
|
/*
|
||
|
* This is a simple routine that checks if project is an Android Studio Project
|
||
|
*
|
||
|
* @param {String} root Root folder of the project
|
||
|
*/
|
||
|
|
||
|
/* jshint esnext: false */
|
||
|
|
||
|
var path = require('path');
|
||
|
var fs = require('fs');
|
||
|
var CordovaError = require('cordova-common').CordovaError;
|
||
|
|
||
|
module.exports.isAndroidStudioProject = function isAndroidStudioProject (root) {
|
||
|
var eclipseFiles = ['AndroidManifest.xml', 'libs', 'res'];
|
||
|
var androidStudioFiles = ['app', 'app/src/main'];
|
||
|
|
||
|
// assume it is an AS project and not an Eclipse project
|
||
|
var isEclipse = false;
|
||
|
var isAS = true;
|
||
|
|
||
|
if (!fs.existsSync(root)) {
|
||
|
throw new CordovaError('AndroidStudio.js:inAndroidStudioProject root does not exist: ' + root);
|
||
|
}
|
||
|
|
||
|
// if any of the following exists, then we are not an ASProj
|
||
|
eclipseFiles.forEach(function (file) {
|
||
|
if (fs.existsSync(path.join(root, file))) {
|
||
|
isEclipse = true;
|
||
|
}
|
||
|
});
|
||
|
|
||
|
// if it is NOT an eclipse project, check that all required files exist
|
||
|
if (!isEclipse) {
|
||
|
androidStudioFiles.forEach(function (file) {
|
||
|
if (!fs.existsSync(path.join(root, file))) {
|
||
|
console.log('missing file :: ' + file);
|
||
|
isAS = false;
|
||
|
}
|
||
|
});
|
||
|
}
|
||
|
return (!isEclipse && isAS);
|
||
|
};
|