call abstract method
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);