Updates Gradle to 7.3. Includes a modification to the Docker builder image to use a Gradle image rather than a JDK and the Gradle wrapper, as this allows caching of the Gradle image and possibly any interim steps rather than having to use the wrapper to download the full Gradle distribution on every build.
The Gradle Wrapper has been reconfigured to use Gradle 7.1.1, and the wrapper files regenerated. Deprecated configuration for XML Jacoco reporting has been updated to the new standard for Gradle 7, and the removed scopes (compile, runtime) have been migrated to their equivalent (implementation, runtimeOnly), as well as a general cleanup of dependency definition to make the formatting consistent. To ensure the download of the Sonarqube Zip archive continues to work, the Ivy repository definition has been explicitly configured to use the target artefact as the metadata, rather than defaulting to searching for an Ivy XML metadata file that isn't present as part of the target distribution.