Improve performance test (#6122) In https://github.com/gradle/gradle/pull/5865 we made distributed performance test cacheable, which resulted in https://github.com/gradle/gradle-private/issues/1392 . The issue was that `DistributedPerformanceTest` and `performanceReport` are different tasks, and `performanceReport` task depends on some particular properties set by `DistributedPerformanceTest` at runtime. If `DistributedPerformanceTest` is not executed, `performanceReport` will be disrupted.
This PR merges `performanceReport` task into `PerformanceTest`. After this change, `PerformanceTest`'s inputs are Gradle binary distributions and a series of properties such as `baselines`/`warmups`, etc, and outputs are original outputs plus performance reports. This introduces another bonus - `PerformanceTest` can be cacheable, which means if nothing changes, we don't have to rerun it.