Report task execution reasons and incrementalityFor non-skipped tasks, the list of execution reasons and whether thetask was incremental is now reported to TAPI progress listeners aspart of the operation result.
Make JavaCompile result orthogonal to task outcomeWhile we currently only report rich results for successful `JavaCompile`tasks, we might change that in the future. Therefore, this commitrenames `JavaCompileTaskSuccessResult` to`JavaCompileTaskOperationResult` so we won't have to change the APIwhen we start reporting rich results for failed tasks as well.There are only implementations that also implement `TaskSuccessResult`and `InternalTaskSuccessResult`, respectively, though.
Report annotation processor details to TAPI progress listenersThis commit adds the `JavaCompileTaskSuccessResult` subinterface of`TaskSuccessResult` which is reported as part of `TaskFinishEvents`.In order to not add dependencies from :toolingApiBuilder to:languageJava a new `OperationResultDecoratorFactory` interface isintroduced. It allows to invert the control flow so that plugins canadd additional information by decorating `OperationResults`.