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: