anchor.diff:  | A simple input value
   
   | `@api:org.gradle.api.tasks.InputFile[]`
  -| `File`\*
  +| `File`*
   | A single input file (not directory)
   
   | `@api:org.gradle.api.tasks.InputDirectory[]`
  -| `File`\*
  +| `File`*
   | A single input directory (not file)
   
   | `@api:org.gradle.api.tasks.InputFiles[]`
  -| `Iterable&lt;File&gt;`\*
  +| `Iterable&lt;File&gt;`*
   | An iterable of input files and directories
   
   | `@api:org.gradle.api.tasks.Classpath[]`
  -| `Iterable&lt;File&gt;`\*
  -| An iterable of input files and directories that represent a Java classpath. This allows the task to ignore irrelevant changes to the property, such as different names for the same files. It is similar to annotating the property `@PathSensitive(RELATIVE)` but it will ignore the names of JAR files directly added to the classpath, and it will consider changes in the order of the files as a change in the classpath. Gradle will inspect the contents of jar files on the classpath and ignore changes that do not affect the semantics of the classpath (such as file dates and entry order). 
  +| `Iterable&lt;File&gt;`*
  +| An iterable of input files and directories that represent a Java classpath. This allows the task to ignore irrelevant changes to the property, such as different names for the same files. It is similar to annotating the property `@PathSensitive(RELATIVE)` but it will ignore the names of JAR files directly added to the classpath, and it will consider changes in the order of the files as a change in the classpath. Gradle will inspect the contents of jar files on the classpath and ignore changes that do not affect the semantics of the classpath (such as file dates and entry order).
   [NOTE]
   ====
   To stay compatible with Gradle versions before 3.2, classpath properties should also be annotated with `@InputFiles`.
  
positive.code: | Annotation
  | Description
  
  | <anchor>[[skip-when-empty]]
  </anchor>`@api:org.gradle.api.tasks.SkipWhenEmpty[]`
  | Used with `@InputFiles` or `@InputDirectory` to tell Gradle to skip the task if the corresponding files or directory are empty, along with all other input files declared with this annotation. Tasks that have been skipped due to all of their input files that were declared with this annotation being empty will result in a distinct “no source” outcome. For example, `NO-SOURCE` will be emitted in the console output.
  
  | `@api:org.gradle.api.tasks.Optional[]`
  
negative.code:         </sample>
  ++++
  
  This feature is helpful if you work with tasks provided by Gradle. It allows you to add _conditional_ execution of the built-in actions of such a task.footnote:[You might be wondering why there is neither an import for the `StopExecutionException` nor do we access it via its fully qualified name. The reason is, that Gradle adds a set of default imports to your script (see <<script-default-imports>>).]
  
  [[sec:enabling_and_disabling_tasks]]
  ==== Enabling and disabling tasks
  