ProcessTool class

A utility class designed to make it simple to create a DevTool that runs a process, waits for it to complete, and forwards its exit code.

To create a ProcessTool, all that is needed is an executable and args: import 'package:dart_dev/dart_dev.dart';

final config = {
  'github': ProcessTool(
    'open', ['https://github.com/Workiva/dart_dev']),
};

It is also possible to run this tool directly in a dart script: ProcessTool(exe, args).run();

Inheritance

Constructors

ProcessTool(String executable, List<String> args, {ProcessStartMode? mode, String? workingDirectory})

Properties

argParser → ArgParser?
The argument parser for this tool, if needed.
no setterinherited
description String?
This tool's description (which is included in the help/usage output) can be overridden by setting this field to a non-null value.
getter/setter pairinherited
hashCode int
The hash code for this object.
no setterinherited
hidden bool
This field determines whether or not this tool is hidden from the help/usage output when running as a part of a command-line app.
getter/setter pairinherited
process Process?
no setter
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
run([DevToolExecutionContext? context]) FutureOr<int?>
Runs this tool and returns (either synchronously or asynchronously) an int which will be treated as the exit code (i.e. non-zero means failure).
override
toCommand(String name) → Command<int>
Converts this tool to a Command that can be added directly to a CommandRunner, therefore making it executable from the command-line.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited