task1
and task2
are both background tasks that simulate a watcher. They both exit after approximately 10 seconds.
task1
has a matching endsPattern
; whereas task2
has a non-matching endsPattern
.
Launch w/task1
and Launch w/task2
are both launch confiruations, each configured with its respective preLaunchTask
.
As expected, when debugging Launch w/task1
, the application is launched as soon as task1
's endsPattern
is matched.
As expected, when debugging Launch w/task2
, the application is launched only whentask2
exits (since it has no match for its endsPattern
).
When running compoundtask1
, it doesn't start untils its dependent task1
exits. This is unexpected, since its endsPattern
matches 10 seconds before the task exits.
When running compoundtask2
, it doesn't start untils its dependent task2
exits. This is expected, since its endsPattern
does not match.
Besides the inconsistent behavior, the observed behavior makes it impossible to debug a launch configuration that is dependent on 2 or more background tasks.
The reason is that the only way to do this is to define a launch configuration with a preLaunchTask
that references a compound task.
However, as demonstrated above, the compound task runs only when its dependent tasks exit, which means that the launch configuration never starts.