commit | 7ca653431a5cf43a32abecaceae218b99ed3f627 | [log] [tgz] |
---|---|---|
author | James D. Lin <jamesderlin@users.noreply.github.com> | Fri Feb 12 11:01:33 2021 -0800 |
committer | GitHub <noreply@github.com> | Fri Feb 12 11:01:33 2021 -0800 |
tree | 880106ba779c69e6996617b5c710161b9c7d2eb0 | |
parent | 56ece43b53b64c63ae51ec184b76bd5360c28d0b [diff] |
Fix ProcessManager signatures to be consistent with LocalProcessManager (#58) When `LocalProcessManager.run`, `.runSync`, and `.start` were migrated for null-safety, the base `ProcessManager` interface was not updated. This led to an inconsistency where the interface unnecessarily required non-null versions of `workingDirectory` and `environment`, which creates extra headache for clients. This change should be safe since it makes the base interface less restrictive. Additionally, `LocalProcessManager` takes a covariant `List<Object>` where the base interface takes `List<dynamic>`. I don't see a need for the interface to take `List<dynamic>` (which could accept `null`) so change that too. This change is less safe, although in practice anything that attempted to pass `null` would already crash if using the `LocalProcessManager` implementation anyway. Fixes https://github.com/google/process.dart/issues/56.
A generic process invocation abstraction for Dart.
Like dart:io
, package:process
supplies a rich, Dart-idiomatic API for spawning OS processes.
Unlike dart:io
, package:process
: