Model test fixtures as a propert artifact Previously they were modeled as just a file collection, which confused the IDEA importer. They now use the more canonical way of defining an additional artifact.
In a next step they should be reimplemented using variant aware dependency resolution, so that we don't need a special DSL to declare these dependencies.
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.