mirror of
https://github.com/apache/cordova-android.git
synced 2025-02-22 08:53:24 +08:00
Merge branch 'master' into 4.0.x (gradle fixes)
This commit is contained in:
commit
e671ffdab1
35
bin/templates/cordova/lib/build.js
vendored
35
bin/templates/cordova/lib/build.js
vendored
@ -69,11 +69,13 @@ function findOutputApksHelper(dir, build_type, arch) {
|
|||||||
if (ret.length === 0) {
|
if (ret.length === 0) {
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
// Assume arch-specific build if newest api has -x86 or -arm.
|
||||||
var archSpecific = !!/-x86|-arm/.exec(ret[0]);
|
var archSpecific = !!/-x86|-arm/.exec(ret[0]);
|
||||||
|
// And show only arch-specific ones (or non-arch-specific)
|
||||||
ret = ret.filter(function(p) {
|
ret = ret.filter(function(p) {
|
||||||
return !!/-x86|-arm/.exec(p) == archSpecific;
|
return !!/-x86|-arm/.exec(p) == archSpecific;
|
||||||
});
|
});
|
||||||
if (arch) {
|
if (arch && ret.length > 1) {
|
||||||
ret = ret.filter(function(p) {
|
ret = ret.filter(function(p) {
|
||||||
return p.indexOf('-' + arch) != -1;
|
return p.indexOf('-' + arch) != -1;
|
||||||
});
|
});
|
||||||
@ -175,20 +177,16 @@ var builders = {
|
|||||||
},
|
},
|
||||||
gradle: {
|
gradle: {
|
||||||
getArgs: function(cmd, arch, extraArgs) {
|
getArgs: function(cmd, arch, extraArgs) {
|
||||||
if (arch == 'arm' && cmd == 'debug') {
|
if (cmd == 'release') {
|
||||||
cmd = 'assembleArmv7Debug';
|
cmd = 'cdvBuildRelease';
|
||||||
} else if (arch == 'arm' && cmd == 'release') {
|
|
||||||
cmd = 'assembleArmv7Release';
|
|
||||||
} else if (arch == 'x86' && cmd == 'debug') {
|
|
||||||
cmd = 'assembleX86Debug';
|
|
||||||
} else if (arch == 'x86' && cmd == 'release') {
|
|
||||||
cmd = 'assembleX86Release';
|
|
||||||
} else if (cmd == 'debug') {
|
} else if (cmd == 'debug') {
|
||||||
cmd = 'assembleDebug';
|
cmd = 'cdvBuildDebug';
|
||||||
} else if (cmd == 'release') {
|
|
||||||
cmd = 'assembleRelease';
|
|
||||||
}
|
}
|
||||||
var args = [cmd, '-b', path.join(ROOT, 'build.gradle')];
|
var args = [cmd, '-b', path.join(ROOT, 'build.gradle')];
|
||||||
|
if (arch) {
|
||||||
|
args.push('-PcdvBuildArch=' + arch);
|
||||||
|
}
|
||||||
|
|
||||||
// 10 seconds -> 6 seconds
|
// 10 seconds -> 6 seconds
|
||||||
args.push('-Dorg.gradle.daemon=true');
|
args.push('-Dorg.gradle.daemon=true');
|
||||||
args.push.apply(args, extraArgs);
|
args.push.apply(args, extraArgs);
|
||||||
@ -260,7 +258,7 @@ var builders = {
|
|||||||
var wrapper = path.join(ROOT, 'gradlew');
|
var wrapper = path.join(ROOT, 'gradlew');
|
||||||
var args = this.getArgs(build_type == 'debug' ? 'debug' : 'release', arch, extraArgs);
|
var args = this.getArgs(build_type == 'debug' ? 'debug' : 'release', arch, extraArgs);
|
||||||
return Q().then(function() {
|
return Q().then(function() {
|
||||||
console.log('Running: ' + wrapper + ' ' + extraArgs.join(' '));
|
console.log('Running: ' + wrapper + ' ' + args.concat(extraArgs).join(' '));
|
||||||
return spawn(wrapper, args);
|
return spawn(wrapper, args);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
@ -270,7 +268,7 @@ var builders = {
|
|||||||
var wrapper = path.join(ROOT, 'gradlew');
|
var wrapper = path.join(ROOT, 'gradlew');
|
||||||
var args = builder.getArgs('clean', null, extraArgs);
|
var args = builder.getArgs('clean', null, extraArgs);
|
||||||
return Q().then(function() {
|
return Q().then(function() {
|
||||||
console.log('Running: ' + wrapper + ' ' + extraArgs.join(' '));
|
console.log('Running: ' + wrapper + ' ' + args.concat(extraArgs).join(' '));
|
||||||
return spawn(wrapper, args);
|
return spawn(wrapper, args);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
@ -319,8 +317,8 @@ function parseOpts(options, resolvedTarget) {
|
|||||||
for (var i=0; options && (i < options.length); ++i) {
|
for (var i=0; options && (i < options.length); ++i) {
|
||||||
if (/^--/.exec(options[i])) {
|
if (/^--/.exec(options[i])) {
|
||||||
var keyValue = options[i].substring(2).split('=');
|
var keyValue = options[i].substring(2).split('=');
|
||||||
var flagName = keyValue[0];
|
var flagName = keyValue.shift();
|
||||||
var flagValue = keyValue[1];
|
var flagValue = keyValue.join('=');
|
||||||
if (multiValueArgs[flagName] && !flagValue) {
|
if (multiValueArgs[flagName] && !flagValue) {
|
||||||
flagValue = options[i + 1];
|
flagValue = options[i + 1];
|
||||||
++i;
|
++i;
|
||||||
@ -359,10 +357,7 @@ function parseOpts(options, resolvedTarget) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var multiApk = ret.buildMethod == 'gradle' && process.env['BUILD_MULTIPLE_APKS'];
|
ret.arch = resolvedTarget && resolvedTarget.arch;
|
||||||
if (multiApk && !/0|false|no/i.exec(multiApk)) {
|
|
||||||
ret.arch = resolvedTarget && resolvedTarget.arch;
|
|
||||||
}
|
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
4
bin/templates/cordova/lib/run.js
vendored
4
bin/templates/cordova/lib/run.js
vendored
@ -39,7 +39,7 @@ var path = require('path'),
|
|||||||
var list = false;
|
var list = false;
|
||||||
|
|
||||||
for (var i=2; i<args.length; i++) {
|
for (var i=2; i<args.length; i++) {
|
||||||
if (/^--(debug|release|nobuild|versionCode=|minSdkVersion=|gradleArg=)/.exec(args[i])) {
|
if (/^--(debug|release|ant|gradle|nobuild|versionCode=|minSdkVersion=|gradleArg=)/.exec(args[i])) {
|
||||||
buildFlags.push(args[i]);
|
buildFlags.push(args[i]);
|
||||||
} else if (args[i] == '--device') {
|
} else if (args[i] == '--device') {
|
||||||
install_target = '--device';
|
install_target = '--device';
|
||||||
@ -50,7 +50,7 @@ var path = require('path'),
|
|||||||
} else if (args[i] == '--list') {
|
} else if (args[i] == '--list') {
|
||||||
list = true;
|
list = true;
|
||||||
} else {
|
} else {
|
||||||
console.warn('Option \'' + options[i] + '\' not recognized (ignoring).');
|
console.warn('Option \'' + args[i] + '\' not recognized (ignoring).');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -86,6 +86,10 @@ ext {
|
|||||||
if (!project.hasProperty('cdvDebugSigningPropertiesFile')) {
|
if (!project.hasProperty('cdvDebugSigningPropertiesFile')) {
|
||||||
cdvDebugSigningPropertiesFile = null
|
cdvDebugSigningPropertiesFile = null
|
||||||
}
|
}
|
||||||
|
// Set by build.js script.
|
||||||
|
if (!project.hasProperty('cdvBuildArch')) {
|
||||||
|
cdvBuildArch = null
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
def hasBuildExtras = file('build-extras.gradle').exists()
|
def hasBuildExtras = file('build-extras.gradle').exists()
|
||||||
@ -93,6 +97,44 @@ if (hasBuildExtras) {
|
|||||||
apply from: 'build-extras.gradle'
|
apply from: 'build-extras.gradle'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
def computeBuildTargetName(debugBuild) {
|
||||||
|
def ret = 'assemble'
|
||||||
|
if (cdvBuildMultipleApks && cdvBuildArch) {
|
||||||
|
def arch = cdvBuildArch == 'arm' ? 'armv7' : cdvBuildArch
|
||||||
|
ret += '' + arch.toUpperCase().charAt(0) + arch.substring(1);
|
||||||
|
}
|
||||||
|
return ret + (debugBuild ? 'Debug' : 'Release')
|
||||||
|
}
|
||||||
|
|
||||||
|
// Make cdvBuild a task that depends on the debug/arch-sepecific task.
|
||||||
|
task cdvBuildDebug
|
||||||
|
cdvBuildDebug.dependsOn {
|
||||||
|
return computeBuildTargetName(true)
|
||||||
|
}
|
||||||
|
|
||||||
|
task cdvBuildRelease
|
||||||
|
cdvBuildRelease.dependsOn {
|
||||||
|
return computeBuildTargetName(false)
|
||||||
|
}
|
||||||
|
|
||||||
|
task cdvPrintProps << {
|
||||||
|
println('cdvCompileSdkVersion=' + cdvCompileSdkVersion)
|
||||||
|
println('cdvBuildToolsVersion=' + cdvBuildToolsVersion)
|
||||||
|
println('cdvVersionCode=' + cdvVersionCode)
|
||||||
|
println('cdvMinSdkVersion=' + cdvMinSdkVersion)
|
||||||
|
println('cdvBuildMultipleApks=' + cdvBuildMultipleApks)
|
||||||
|
println('cdvReleaseSigningPropertiesFile=' + cdvReleaseSigningPropertiesFile)
|
||||||
|
println('cdvDebugSigningPropertiesFile=' + cdvDebugSigningPropertiesFile)
|
||||||
|
println('cdvBuildArch=' + cdvBuildArch)
|
||||||
|
println('computedVersionCode=' + android.defaultConfig.versionCode)
|
||||||
|
if (android.productFlavors.has('armv7')) {
|
||||||
|
println('computedArmv7VersionCode=' + android.productFlavors.armv7.versionCode)
|
||||||
|
}
|
||||||
|
if (android.productFlavors.has('x86')) {
|
||||||
|
println('computedx86VersionCode=' + android.productFlavors.x86.versionCode)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// PLUGIN GRADLE EXTENSIONS START
|
// PLUGIN GRADLE EXTENSIONS START
|
||||||
// PLUGIN GRADLE EXTENSIONS END
|
// PLUGIN GRADLE EXTENSIONS END
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user