Fix subtasks-external lookup to not fail when preloaded from another file
Before this change, plugin failed to lookup a subtasks-external when
a task with this subtasks-external was preloaded using a task
reference [1]. While preloading a task, all the subtasks are copied
to the current task. Since the subtasks-external property was a String,
it does not maintain the information regarding the location of the
subtasks-external. Thus, fix this issue by using ConfigSourcedValue as
the type for subtasks-external property, which helps in tracking the
location of the subtasks-external. Add tests for the same.
[1]
file: `All-Projects:refs/meta/config:task.config`
```
[root "root task"]
applicable = status:open
preload-task = //common.config^simple task with subtasks
```
file: `All-Projects:refs/meta/config:task/common.config`
```
[task "simple task with subtasks"]
applicable = is:open
subtasks-external = user special tasks
[external "user special tasks"]
user = testuser
file = special.config
```
Change-Id: I1aff32ae5885c3969ef8fdce7c019d3b448109f5
3 files changed