
This auto-formats all *.dart files in the repository outside of the `engine` subdirectory and enforces that these files stay formatted with a presubmit check. **Reviewers:** Please carefully review all the commits except for the one titled "formatted". The "formatted" commit was auto-generated by running `dev/tools/format.sh -a -f`. The other commits were hand-crafted to prepare the repo for the formatting change. I recommend reviewing the commits one-by-one via the "Commits" tab and avoiding Github's "Files changed" tab as it will likely slow down your browser because of the size of this PR. --------- Co-authored-by: Kate Lovett <katelovett@google.com> Co-authored-by: LongCatIsLooong <31859944+LongCatIsLooong@users.noreply.github.com>
54 lines
1.7 KiB
Dart
54 lines
1.7 KiB
Dart
// 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:process/process.dart';
|
|
|
|
import '../base/io.dart';
|
|
import '../base/logger.dart';
|
|
import '../base/process.dart';
|
|
|
|
/// Wraps iproxy command line tool port forwarding.
|
|
///
|
|
/// See https://github.com/libimobiledevice/libusbmuxd.
|
|
class IProxy {
|
|
IProxy({
|
|
required String iproxyPath,
|
|
required Logger logger,
|
|
required ProcessManager processManager,
|
|
required MapEntry<String, String> dyLdLibEntry,
|
|
}) : _dyLdLibEntry = dyLdLibEntry,
|
|
_processUtils = ProcessUtils(processManager: processManager, logger: logger),
|
|
_logger = logger,
|
|
_iproxyPath = iproxyPath;
|
|
|
|
/// Create a [IProxy] for testing.
|
|
///
|
|
/// This specifies the path to iproxy as 'iproxy` and the dyLdLibEntry as
|
|
/// 'DYLD_LIBRARY_PATH: /path/to/libs'.
|
|
factory IProxy.test({required Logger logger, required ProcessManager processManager}) {
|
|
return IProxy(
|
|
iproxyPath: 'iproxy',
|
|
logger: logger,
|
|
processManager: processManager,
|
|
dyLdLibEntry: const MapEntry<String, String>('DYLD_LIBRARY_PATH', '/path/to/libs'),
|
|
);
|
|
}
|
|
|
|
final String _iproxyPath;
|
|
final ProcessUtils _processUtils;
|
|
final Logger _logger;
|
|
final MapEntry<String, String> _dyLdLibEntry;
|
|
|
|
Future<Process> forward(int devicePort, int hostPort, String deviceId) {
|
|
// Usage: iproxy LOCAL_PORT:DEVICE_PORT --udid UDID
|
|
return _processUtils.start(<String>[
|
|
_iproxyPath,
|
|
'$hostPort:$devicePort',
|
|
'--udid',
|
|
deviceId,
|
|
if (_logger.isVerbose) '--debug',
|
|
], environment: Map<String, String>.fromEntries(<MapEntry<String, String>>[_dyLdLibEntry]));
|
|
}
|
|
}
|