mirror of
https://github.com/apache/cordova-android.git
synced 2025-02-26 03:53:09 +08:00
CB-11083: Reading files to check for CordovaLib dependency, if so, we exclude CordovaLib to be safe
This commit is contained in:
parent
263968e019
commit
304cbef5ed
@ -71,16 +71,17 @@ GradleBuilder.prototype.prepBuildFiles = function() {
|
|||||||
var pluginBuildGradle = path.join(this.root, 'cordova', 'lib', 'plugin-build.gradle');
|
var pluginBuildGradle = path.join(this.root, 'cordova', 'lib', 'plugin-build.gradle');
|
||||||
var propertiesObj = this.readProjectProperties();
|
var propertiesObj = this.readProjectProperties();
|
||||||
var subProjects = propertiesObj.libs;
|
var subProjects = propertiesObj.libs;
|
||||||
|
var checkAndCopy = function(subProject, root) {
|
||||||
|
var subProjectGradle = path.join(root, subProject, 'build.gradle');
|
||||||
|
fs.exists(subProject, function(exists) {
|
||||||
|
if (!exists) {
|
||||||
|
shell.cp('-f', pluginBuildGradle, subProjectGradle);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
||||||
for (var i = 0; i < subProjects.length; ++i) {
|
for (var i = 0; i < subProjects.length; ++i) {
|
||||||
if (subProjects[i] !== 'CordovaLib') {
|
if (subProjects[i] !== 'CordovaLib') {
|
||||||
var subProjectGradle = path.join(this.root, subProjects[i], 'build.gradle');
|
checkAndCopy(subProjects[i], this.root);
|
||||||
// Only copy the gradle if it doesn't exist for the library
|
|
||||||
fs.exists(subProjectGradle, function(exists) {
|
|
||||||
if (!exists)
|
|
||||||
{
|
|
||||||
shell.cp('-f', pluginBuildGradle, path.join(this.root, subProjects[i], 'build.gradle'));
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
var name = this.extractRealProjectNameFromManifest();
|
var name = this.extractRealProjectNameFromManifest();
|
||||||
@ -101,20 +102,24 @@ GradleBuilder.prototype.prepBuildFiles = function() {
|
|||||||
// Update dependencies within build.gradle.
|
// Update dependencies within build.gradle.
|
||||||
var buildGradle = fs.readFileSync(path.join(this.root, 'build.gradle'), 'utf8');
|
var buildGradle = fs.readFileSync(path.join(this.root, 'build.gradle'), 'utf8');
|
||||||
var depsList = '';
|
var depsList = '';
|
||||||
var insertExclude = function(libName) {
|
var root = this.root;
|
||||||
if(libName.indexOf("cordova-plugin") != -1) {
|
var insertExclude = function(p) {
|
||||||
depsList += '{\n exclude module:("CordovaLib")\n }\n';
|
var gradlePath = path.join(root, p, 'build.gradle');
|
||||||
}
|
var projectGradleFile = fs.readFileSync(gradlePath, 'utf-8');
|
||||||
else {
|
if(projectGradleFile.indexOf('CordovaLib') != -1) {
|
||||||
depsList += "\n";
|
depsList += '{\n exclude module:("CordovaLib")\n }\n';
|
||||||
}
|
}
|
||||||
}
|
else {
|
||||||
|
depsList +='\n';
|
||||||
|
}
|
||||||
|
};
|
||||||
subProjects.forEach(function(p) {
|
subProjects.forEach(function(p) {
|
||||||
|
console.log('Subproject Path: ' + p);
|
||||||
var libName=p.replace(/[/\\]/g, ':').replace(name+'-','');
|
var libName=p.replace(/[/\\]/g, ':').replace(name+'-','');
|
||||||
depsList += ' debugCompile(project(path: "' + libName + '", configuration: "debug"))';
|
depsList += ' debugCompile(project(path: "' + libName + '", configuration: "debug"))';
|
||||||
insertExclude(libName);
|
insertExclude(p);
|
||||||
depsList += ' releaseCompile(project(path: "' + libName + '", configuration: "release"))';
|
depsList += ' releaseCompile(project(path: "' + libName + '", configuration: "release"))';
|
||||||
insertExclude(libName);
|
insertExclude(p);
|
||||||
});
|
});
|
||||||
// For why we do this mapping: https://issues.apache.org/jira/browse/CB-8390
|
// For why we do this mapping: https://issues.apache.org/jira/browse/CB-8390
|
||||||
var SYSTEM_LIBRARY_MAPPINGS = [
|
var SYSTEM_LIBRARY_MAPPINGS = [
|
||||||
|
Loading…
Reference in New Issue
Block a user