mirror of
https://github.com/flutter/flutter
synced 2024-10-13 11:42:54 +00:00
[flutter_tools] add flutterRoot field to JSON machine output (#62053)
This commit is contained in:
parent
d053a4d00a
commit
f707f6f6ea
|
@ -317,7 +317,11 @@ class FlutterCommandRunner extends CommandRunner<void> {
|
|||
globals.flutterVersion.fetchTagsAndUpdate();
|
||||
String status;
|
||||
if (machineFlag) {
|
||||
status = const JsonEncoder.withIndent(' ').convert(globals.flutterVersion.toJson());
|
||||
final Map<String, Object> jsonOut = globals.flutterVersion.toJson();
|
||||
if (jsonOut != null) {
|
||||
jsonOut['flutterRoot'] = Cache.flutterRoot;
|
||||
}
|
||||
status = const JsonEncoder.withIndent(' ').convert(jsonOut);
|
||||
} else {
|
||||
status = globals.flutterVersion.toString();
|
||||
}
|
||||
|
|
|
@ -2,6 +2,8 @@
|
|||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
import 'dart:convert';
|
||||
|
||||
import 'package:flutter_tools/src/base/file_system.dart';
|
||||
import 'package:flutter_tools/src/base/io.dart';
|
||||
import 'package:flutter_tools/src/features.dart';
|
||||
|
@ -128,4 +130,21 @@ void main() {
|
|||
// Only printed by verbose tool.
|
||||
expect(result.stdout, isNot(contains('exiting with code 0')));
|
||||
});
|
||||
|
||||
test('flutter --version --machine outputs JSON with flutterRoot', () async {
|
||||
final String flutterBin = globals.fs.path.join(getFlutterRoot(), 'bin', 'flutter');
|
||||
final ProcessResult result = await const LocalProcessManager().run(<String>[
|
||||
flutterBin,
|
||||
'--version',
|
||||
'--machine',
|
||||
]);
|
||||
|
||||
final Map<String, Object> versionInfo = json.decode(result.stdout
|
||||
.toString()
|
||||
.replaceAll('Building flutter tool...', '')
|
||||
.replaceAll('Waiting for another flutter command to release the startup lock...', '')
|
||||
.trim()) as Map<String, Object>;
|
||||
|
||||
expect(versionInfo, containsPair('flutterRoot', isNotNull));
|
||||
});
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue