| // Copyright 2014 The Flutter Authors. All rights reserved. | |
| // Use of this source code is governed by a BSD-style license that can be | |
| // found in the LICENSE file. | |
| import 'package:flutter_tools/src/base/file_system.dart'; | |
| import 'package:flutter_tools/src/convert.dart'; | |
| import 'package:flutter_tools/src/custom_devices/custom_device_config.dart'; | |
| void writeCustomDevicesConfigFile( | |
| Directory dir, { | |
| List<CustomDeviceConfig>? configs, | |
| dynamic json, | |
| }) { | |
| dir.createSync(recursive: true); | |
| final File file = dir.childFile('.flutter_custom_devices.json'); | |
| file.writeAsStringSync( | |
| jsonEncode(<String, dynamic>{ | |
| 'custom-devices': configs != null | |
| ? configs.map<dynamic>((CustomDeviceConfig c) => c.toJson()).toList() | |
| : json, | |
| }), | |
| ); | |
| } | |
| final testConfig = CustomDeviceConfig( | |
| id: 'testid', | |
| label: 'testlabel', | |
| sdkNameAndVersion: 'testsdknameandversion', | |
| enabled: true, | |
| pingCommand: const <String>['testping'], | |
| pingSuccessRegex: RegExp('testpingsuccess'), | |
| postBuildCommand: const <String>['testpostbuild'], | |
| installCommand: const <String>['testinstall'], | |
| uninstallCommand: const <String>['testuninstall'], | |
| runDebugCommand: const <String>['testrundebug'], | |
| forwardPortCommand: const <String>['testforwardport'], | |
| forwardPortSuccessRegex: RegExp('testforwardportsuccess'), | |
| ); | |
| const testConfigJson = <String, dynamic>{ | |
| 'id': 'testid', | |
| 'label': 'testlabel', | |
| 'sdkNameAndVersion': 'testsdknameandversion', | |
| 'enabled': true, | |
| 'ping': <String>['testping'], | |
| 'pingSuccessRegex': 'testpingsuccess', | |
| 'postBuild': <String>['testpostbuild'], | |
| 'install': <String>['testinstall'], | |
| 'uninstall': <String>['testuninstall'], | |
| 'runDebug': <String>['testrundebug'], | |
| 'forwardPort': <String>['testforwardport'], | |
| 'forwardPortSuccessRegex': 'testforwardportsuccess', | |
| }; |