Skip to content

Commit

Permalink
refactor(check_reqs): drop originalError param from check_android_target
Browse files Browse the repository at this point in the history
  • Loading branch information
raphinesse committed Jul 6, 2021
1 parent 334d02d commit 09e3aae
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 18 deletions.
24 changes: 13 additions & 11 deletions bin/templates/cordova/lib/builders/ProjectBuilder.js
Original file line number Diff line number Diff line change
Expand Up @@ -300,21 +300,23 @@ class ProjectBuilder {
* Builds the project with gradle.
* Returns a promise.
*/
build (opts) {
async build (opts) {
var wrapper = path.join(this.root, 'gradlew');
var args = this.getArgs(opts.buildType === 'debug' ? 'debug' : 'release', opts);

return execa(wrapper, args, { stdio: 'inherit', cwd: path.resolve(this.root) })
.catch(function (error) {
if (error.toString().indexOf('failed to find target with hash string') >= 0) {
return check_reqs.check_android_target(error).then(function () {
// If due to some odd reason - check_android_target succeeds
// we should still fail here.
throw error;
});
try {
return await execa(wrapper, args, { stdio: 'inherit', cwd: path.resolve(this.root) });
} catch (error) {
if (error.toString().includes('failed to find target with hash string')) {
// Add hint from check_android_target to error message
try {
await check_reqs.check_android_target();
} catch (checkAndroidTargetError) {
error.message += '\n' + checkAndroidTargetError.message;
}
throw error;
});
}
throw error;
}
}

clean (opts) {
Expand Down
8 changes: 2 additions & 6 deletions bin/templates/cordova/lib/check_reqs.js
Original file line number Diff line number Diff line change
Expand Up @@ -246,7 +246,7 @@ module.exports.check_android = function () {
});
};

module.exports.check_android_target = function (originalError) {
module.exports.check_android_target = function () {
// valid_target can look like:
// android-19
// android-L
Expand All @@ -257,11 +257,7 @@ module.exports.check_android_target = function (originalError) {
if (targets.indexOf(desired_api_level) >= 0) {
return targets;
}
var msg = `Please install the Android SDK Platform "platforms;${desired_api_level}"`;
if (originalError) {
msg = originalError + '\n' + msg;
}
throw new CordovaError(msg);
throw new CordovaError(`Please install the Android SDK Platform "platforms;${desired_api_level}"`);
});
};

Expand Down
2 changes: 1 addition & 1 deletion spec/unit/builders/ProjectBuilder.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -224,7 +224,7 @@ describe('ProjectBuilder', () => {
return builder.build({}).then(
() => fail('Unexpectedly resolved'),
error => {
expect(checkReqsSpy.check_android_target).toHaveBeenCalledWith(testError);
expect(checkReqsSpy.check_android_target).toHaveBeenCalled();
expect(error).toBe(testError);
}
);
Expand Down

0 comments on commit 09e3aae

Please sign in to comment.