Make encoding parameter nullable (#65)
This aligns the interface with the upstream `dart:io` API.
The `covariant` keyword is used for backward compatibility. It should be
removed in the next major release.
cc #64
diff --git a/CHANGELOG.md b/CHANGELOG.md
index d469337..bf69b55 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+#### 4.2.2
+
+* Mark `stderrEncoding` and `stdoutEncoding` parameters as nullable.
+
#### 4.2.1
* Added custom exception types `ProcessPackageException` and
diff --git a/lib/src/interface/local_process_manager.dart b/lib/src/interface/local_process_manager.dart
index 72e513a..7de97a3 100644
--- a/lib/src/interface/local_process_manager.dart
+++ b/lib/src/interface/local_process_manager.dart
@@ -67,8 +67,8 @@
Map<String, String>? environment,
bool includeParentEnvironment = true,
bool runInShell = false,
- Encoding stdoutEncoding = systemEncoding,
- Encoding stderrEncoding = systemEncoding,
+ Encoding? stdoutEncoding = systemEncoding,
+ Encoding? stderrEncoding = systemEncoding,
}) {
try {
return Process.run(
@@ -98,8 +98,8 @@
Map<String, String>? environment,
bool includeParentEnvironment = true,
bool runInShell = false,
- Encoding stdoutEncoding = systemEncoding,
- Encoding stderrEncoding = systemEncoding,
+ Encoding? stdoutEncoding = systemEncoding,
+ Encoding? stderrEncoding = systemEncoding,
}) {
try {
return Process.runSync(
diff --git a/lib/src/interface/process_manager.dart b/lib/src/interface/process_manager.dart
index 8862a14..d99a874 100644
--- a/lib/src/interface/process_manager.dart
+++ b/lib/src/interface/process_manager.dart
@@ -141,8 +141,9 @@
Map<String, String>? environment,
bool includeParentEnvironment = true,
bool runInShell = false,
- Encoding stdoutEncoding = systemEncoding,
- Encoding stderrEncoding = systemEncoding,
+ // TODO(#64): Remove the `covariant` keyword.
+ covariant Encoding? stdoutEncoding = systemEncoding,
+ covariant Encoding? stderrEncoding = systemEncoding,
});
/// Starts a process and runs it to completion. This is a synchronous
@@ -158,8 +159,9 @@
Map<String, String>? environment,
bool includeParentEnvironment = true,
bool runInShell = false,
- Encoding stdoutEncoding = systemEncoding,
- Encoding stderrEncoding = systemEncoding,
+ // TODO(#64): Remove the `covariant` keyword.
+ covariant Encoding? stdoutEncoding = systemEncoding,
+ covariant Encoding? stderrEncoding = systemEncoding,
});
/// Returns `true` if the [executable] exists and if it can be executed.
diff --git a/pubspec.yaml b/pubspec.yaml
index 685a754..7cb3e93 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,5 +1,5 @@
name: process
-version: 4.2.1
+version: 4.2.2
description: A pluggable, mockable process invocation abstraction for Dart.
homepage: https://github.com/google/process.dart