call abstract method

Future<TaskResult> call(
  1. RepoEntry entry
)

Executes the task on the given entry.

Important: This function should run without side effects, i.e. the following two examples should yield the exact same results, no matter what entries are passed to them:

// example 1
final task = MyFileTask();
await task(entry1);
await task(entry2);
await task(entry3);

// example 2
await MyFileTask()(entry1);
await MyFileTask()(entry2);
await MyFileTask()(entry2);

This does not mean, you cannot cache data between multiple calls of a file task, but that should not modify the public behavior of subsequent calls. The only thing you must never cache is information about the given entry or any other local file in the repo, as those could be modified between different calls to you task by other tasks.

Implementation

Future<TaskResult> call(RepoEntry entry);