Allow specifying the list of baselines from command lineThis commit introduces the ability to set the list of baseline versions for performance tests through a command-lineflag (`--baselines`) or a system property (`org.gradle.performance.baselines`). The list must be specified as acomma-separated list of versions or as a semicolon separated list of versions.Two versions are handled particularly:* `last` corresponds to the last release of Gradle* `nightly` corresponds to the latest build of Gradle (`master` branch)This commit also removes the "ad-hoc" mode for executing tests. The idea is to replace it with this flag, whichcan be set to `nightly`. However, the "ad-hoc" mode skipped writing results to the database, in order to avoidpolluting the performance results DB with tests. If you want to do this, you need to set the `gradle.performance.db.url`to a local, temporary database:```./gradlew cleanSmallOldJava smallOldJava cleanPerformanceTest performanceTest --scenarios 'clean Java build smallOldJava (daemon)' -x prepareSamples --baselines nightly -Porg.gradle.performance.db.url=jdbc:h2:./build/database```
Exclude Gradle vs. Maven tests from regression suiteAny regressions will already be detected by our cross-version tests.These comparisons only have informational value now and only slow downour regression test suite. Moving the to the experiment category.
Execute performance test scenarios on a fresh working copyReusing whatever state the last test left behind can make performanceseem better (because of preexisting caches) or worse (because of lots of output).This makes the results dependent on the order in which the tests are executed.It also prevented us from using incremental build for the project templates.We now create a fresh copy of the template project for each test run,fixing both of these problems at once.