shouldRun method

  1. @override
FutureOr<bool> shouldRun(
  1. TaskInvocation invocation
)
override

Check if the provided task invocation should run.

Returns true if it should, false otherwise.

Implementation

@override
FutureOr<bool> shouldRun(TaskInvocation invocation) async {
  if (await cache.hasInvocationChanged(invocation)) return true;
  final inputsChanged = await cache.hasChanged(inputs, key: invocation.name);
  if (inputsChanged) {
    logger.fine('Changes detected on task inputs: $inputs');
    return true;
  }
  final outputsChanged =
      await cache.hasChanged(outputs, key: invocation.name);
  if (outputsChanged) {
    logger.fine('Changes detected on task outputs: $outputs');
    return true;
  }
  return false;
}