Problem: The dockerized test plugin includes modified copies of internal Gradle code. This code depends on internal Gradle classes and method signatures as defined in Gradle 5.8. These dependencies prevent us from updating Gradle.
Solution: Update the dockerized test plugin code to be compatible with the latest Gradle, and to take advantage of recent Gradle features (such as the "worker lease" mechanism) that make some plugin details unnecessary.
Where possible, change the plugin code to use public Gradle APIs.
Where the plugin must depend on internal Gradle implementation details, comment the code to indicate:
- Which internal Gradle implementation details the code depends on
- The latest version of Gradle known to satisfy these dependencies
Where the plugin must use modified copies of internal Gradle code, comment the code to indicate:
- Which Gradle class was copied
- Which version of Gradle the class was copied from
- What modifications were made in the copy, and why
These comments will help identify implementation details in the plugin that risk incompatibility with future versions of Gradle.