anchor.diff:  A task must not use any `Project` objects at execution time.
   This includes calling `Task.getProject()` while the task is running.
   
  -to fix: some cases can be fixed in the same way as the previous constraint.
  -
  -to fix: use <<custom_gradle_types#service_injection,injected services>> instead of the methods of `Project`.
  -
  -* `project.file()` -> `ProjectLayout`
  -* `project.files()` / `project.fileTree()` -> `ObjectFactory`
  -* `project.exec {}` / `project.javaexec {}` -> `ExecOperations`
  -* `project.copy {}` / `project.sync {}` / `project.delete {}` -> `FileSystemOperations`
  -
  -TODO - examples, more details
  +Some cases can be fixed in the same way as the previous constraint.
  +
  +Otherwise, to fix, use <<custom_gradle_types#service_injection,injected services>> instead of the methods of `Project`:
  +
  +* `project.file(path)` -> `ProjectLayout.projectDirectory.file(path)` or `ProjectLayout.buildDirectory.file(path)
  +* `project.files(paths)` -> `ObjectFactory.fileCollection().from(paths)`
  +* `project.fileTree(dir)` -> `ObjectFactory.fileTree().from(dir)`
  +* `project.exec {}`  -> `ExecOperations.exec {}`
  +* `project.javaexec {}` -> `ExecOperations.javaexec {}`
  +* `project.copy {}` -> `FileSystemOperations.copy {}`
  +* `project.sync {}` -> `FileSystemOperations.sync {}`
  +* `project.delete {}` -> `FileSystemOperations.delete {}`
  +
  +// TODO - examples, more details
   
   [[task_access]]
   === Accessing a task instance from another instance
  
positive.code: [[undeclared_env_var_read]]
  === Undeclared reading of environment variables
  
  Plugins and build scripts should not read environment variables directly using the Java APIs.
  Instead, declare environment variables as potential build inputs using the value supplier APIs.
  
  This problem is caused by build logic similar to this:
  
negative.code: There are a number of types that task instances must not reference from their fields.
  Usually these types are used to carry some task input that should be explicitly declared instead.
  
  To fix, you can often replace such a field with a `Property` or `Provider` typed field that exposes the exact information that the task will need at execution time.
  
  // TODO - examples, more details
  
  [[use_project_during_execution]]
  === Using the `Project` object
  