Commit 99114cd4 authored by Devon Carew's avatar Devon Carew

show more errors on missing jarsigner (#3626)

parent 055c919f
......@@ -66,8 +66,6 @@ class AndroidWorkflow extends DoctorValidator implements Workflow {
}
if (javaVersion != null) {
type = ValidationType.installed;
messages.add(new ValidationMessage(javaVersion));
if (os.which('jarsigner') == null) {
......@@ -75,6 +73,8 @@ class AndroidWorkflow extends DoctorValidator implements Workflow {
'The jarsigner utility was not found; this is used to build Android APKs. You may need to install\n'
'or re-install the Java JDK: $_kJdkDownload.'
));
} else {
type = ValidationType.installed;
}
} else {
messages.add(new ValidationMessage.error(
......
......@@ -20,7 +20,7 @@ abstract class Logger {
/// Display normal output of the command. This should be used for things like
/// progress messages, success messages, or just normal command output.
void printStatus(String message);
void printStatus(String message, { bool emphasis: false });
/// Use this for verbose tracing output. Users can turn this output on in order
/// to help diagnose issues with the toolchain or with their setup.
......@@ -55,11 +55,11 @@ class StdoutLogger extends Logger {
}
@override
void printStatus(String message) {
void printStatus(String message, { bool emphasis: false }) {
_status?.cancel();
_status = null;
print(message);
print(emphasis ? _terminal.writeBold(message) : message);
}
@override
......@@ -99,7 +99,7 @@ class BufferLogger extends Logger {
void printError(String message, [StackTrace stackTrace]) => _error.writeln(message);
@override
void printStatus(String message) => _status.writeln(message);
void printStatus(String message, { bool emphasis: false }) => _status.writeln(message);
@override
void printTrace(String message) => _trace.writeln(message);
......@@ -127,7 +127,7 @@ class VerboseLogger extends Logger {
}
@override
void printStatus(String message) {
void printStatus(String message, { bool emphasis: false }) {
_emit();
lastMessage = new _LogMessage(_LogType.status, message);
}
......
......@@ -401,7 +401,7 @@ class NotifyingLogger extends Logger {
}
@override
void printStatus(String message) {
void printStatus(String message, { bool emphasis: false }) {
_messageController.add(new LogMessage('status', message));
}
......
......@@ -113,7 +113,7 @@ class Doctor {
for (ValidationMessage message in result.messages) {
if (message.isError) {
printStatus(' x ${message.message.replaceAll('\n', '\n ')}');
printStatus(' x ${message.message.replaceAll('\n', '\n ')}', emphasis: true);
} else {
printStatus(' $separator ${message.message.replaceAll('\n', '\n ')}');
}
......@@ -160,6 +160,8 @@ class ValidationResult {
final String statusInfo;
final List<ValidationMessage> messages;
bool get isInstalled => type == ValidationType.installed;
String get leadingBox {
if (type == ValidationType.missing)
return '[x]';
......
......@@ -25,7 +25,7 @@ void printError(String message, [StackTrace stackTrace]) => logger.printError(me
/// Display normal output of the command. This should be used for things like
/// progress messages, success messages, or just normal command output.
void printStatus(String message) => logger.printStatus(message);
void printStatus(String message, { bool emphasis: false }) => logger.printStatus(message, emphasis: emphasis);
/// Use this for verbose tracing output. Users can turn this output on in order
/// to help diagnose issues with the toolchain or with their setup.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment