anchor.diff:  If the source file is deleted, the generated file is deleted.
   
   ====== Aggregating annotation processors
  +
   These aggregate several source files into one ore more output files or validation messages.
   For instance, a `ServiceRegistryProcessor` could create a single `ServiceRegistry` with one method for each type annotated with `@Service`
   
  
positive.code: ==== SourceSet dependency configurations
  
  [.line-through]#`__sourceSet__Compile`#(Deprecated)::
  _Compile time dependencies for the given source set._ Superseded by `__sourceSet__Implementation`.
  
  `__sourceSet__Implementation` extends `__sourceSet__Compile`::
  _Compile time dependencies for the given source set._ Used by `__sourceSet__CompileClasspath, __sourceSet__RuntimeClasspath`.
  
  `__sourceSet__CompileOnly`::
  _Compile time only dependencies for the given source set, not used at runtime._
  
  `__sourceSet__CompileClasspath` extends `compile__SourceSet__Java`::
  _Compile classpath, used when compiling source._ Used by `__sourceSet__Compile, __sourceSet__CompileOnly, __sourceSet__Implementation`.
  
  `__sourceSet__AnnotationProcessor`::
  _Annotation processors used during compilation of this source set._
  
  [.line-through]#`__sourceSet__Runtime`#(Deprecated)::
  _Runtime dependencies for the given source set._ Used by `__sourceSet__Compile`. Superseded by `__sourceSet__RuntimeOnly`.
  
  `__sourceSet__RuntimeOnly`::
  _Runtime only dependencies for the given source set._
  
  `__sourceSet__RuntimeClasspath` extends `__sourceSet__RuntimeOnly, __sourceSet__Runtime, __sourceSet__Implementation`::
  _Runtime classpath contains elements of the implementation, as well as runtime only elements._
  
  [[sec:java_convention_properties]]
  === Convention properties
  
negative.code: ====
  
  [.line-through]#`compile`#(Deprecated)::
  Compile time dependencies. Superseded by `implementation`.
  
  `implementation` extends `compile`::
  Implementation only dependencies.
  
  `compileOnly`::
  Compile time only dependencies, not used at runtime.
  
  `compileClasspath` extends `compile, compileOnly, implementation`::
  Compile classpath, used when compiling source. Used by task `compileJava`.
  
  `annotationProcessor`::
  Annotation processors used during compilation.
  
  [.line-through]#`runtime`#(Deprecated) extends `compile`::
  Runtime dependencies. Superseded by `runtimeOnly`.
  
  `runtimeOnly`::
  Runtime only dependencies.
  
  `runtimeClasspath` extends `runtimeOnly, runtime, implementation`::
  Runtime classpath contains elements of the implementation, as well as runtime only elements.
  
  [.line-through]#`testCompile`#(Deprecated) extends `compile`::
  Additional dependencies for compiling tests. Superseded by `testImplementation`.
  
  `testImplementation` extends `testCompile, implementation`::
  Implementation only dependencies for tests.
  
  `testCompileOnly`::
  Additional dependencies only for compiling tests, not used at runtime.
  
  `testCompileClasspath` extends `testCompile, testCompileOnly, testImplementation`::
  Test compile classpath, used when compiling test sources. Used by task `compileTestJava`.
  
  [.line-through]#`testRuntime`#(Deprecated) extends `runtime, testCompile`::
  Additional dependencies for running tests only. Used by task `test`. Superseded by `testRuntimeOnly`.
  
  `testRuntimeOnly` extends `runtimeOnly`::
  Runtime only dependencies for running tests. Used by task `test`.
  
  `testRuntimeClasspath` extends `testRuntimeOnly, testRuntime, testImplementation`::
  Runtime classpath for running tests.
  
  `archives`::
  Artifacts (e.g. jars) produced by this project. Used by tasks `uploadArchives`.
  
  `default` extends `runtime`::
  The default configuration used by a project dependency on this project. Contains the artifacts and dependencies required by this project at runtime.
  
  ++++
  <figure xmlns:xi="http://www.w3.org/2001/XInclude">
  