Allow the services required by a given class to be queried prior to creating any instances of that class. Use this to allow `ArtifactTransformDependencies` to be injected into artifact transforms using any of the service injection patterns (that is, via a constructor or a getter).
Externalize samples testing infrastructure This change replaces UserGuideSamplesRunner with an external library called sample-check. Sample discovery, execution, and normalization is delegated to this library, with some custom normalizers remaining in the Gradle codebase.
Samples output has become co-located with the sample code. Samples tests must be run with Java 8+.