anchor.diff:  
   Otherwise, you can use <<custom_gradle_types#service_injection,injected services>> instead of the methods of `Project`.
   
  +// TODO snippet with a task type
  +// TODO snippet with a doLast closure
  +
   The following table shows what APIs or injected service should be used as a replacement for each of the `Project` methods.
   
  -// TODO fully qualified javadoc links
   [cols="a,a",options="header"]
   |===
   | Instead of:
  
positive.code: | <<configuration_cache#undeclared_gradle_prop_read, Value providers for Gradle properties>>
  
  | `project.logger`
  | `link:{javadocPath}/org/gradle/api/Task.html[Task].logger`
  
  | `project.provider {}`
  | `link:{javadocPath}/org/gradle/api/provider/ProviderFactory.html[ProviderFactory].provider {}`
  
  | `project.file(path)`
  | `link:{javadocPath}/org/gradle/api/file/ProjectLayout.html[ProjectLayout].projectDirectory.file(path)` or `link:{javadocPath}/org/gradle/api/file/ProjectLayout.html[ProjectLayout].buildDirectory.file(path)`
  
  | `project.uri(path)`
  | [.red]#✖# Not supported yet
  
  | `project.relativePath(path)`
  | `ProjectLayout.projectDirectory.file(path)`
  
  | `project.files(paths)`
  | `link:{javadocPath}/org/gradle/api/model/ObjectFactory.html[ObjectFactory].fileCollection().from(paths)`
  
  | `project.fileTree(paths)`
  | `link:{javadocPath}/org/gradle/api/model/ObjectFactory.html[ObjectFactory].fileTree().from(dir)`
  
  | `project.zipTree(path)`
  | `link:{javadocPath}/org/gradle/api/file/ArchiveOperations.html[ArchiveOperations].zipTree(path)`
  
  | `project.tarTree(path)`
  | `link:{javadocPath}/org/gradle/api/file/ArchiveOperations.html[ArchiveOperations].tarTree(path)`
  
  | `project.resources`
  | [.red]#✖# Not supported yet
  
negative.code: | A task property or script variable to capture the root directory.
  
  | `project.projectDir`
  | link:{javadocPath}/org/gradle/api/file/ProjectLayout.html#getProjectDirectory--[ProjectLayout.projectDirectory]
  
  | `project.buildDir`
  | link:{javadocPath}/org/gradle/api/file/ProjectLayout.html#getBuildDirectory--[ProjectLayout.buildDirectory]
  
  | `project.name`
  | A task property or script variable to capture the project name.
  