anchor.diff:  Setting up a consistent environment for your build is as simple as placing these settings into a `gradle.properties` file. The configuration is applied in following order (if an option is configured in multiple locations the _last one wins_):
   
   * `gradle.properties` in project root directory.
  -* `gradle.properties` in `$GRADLE_USER_HOME` directory.
  +* `gradle.properties` in `GRADLE_USER_HOME` directory.
   * system properties, e.g. when `-Dgradle.user.home` is set on the command line.
   
  -For multi-project builds you can place `gradle.properties` files in any subproject directory.
  +For multi-project builds you can place `gradle.properties` files in any subproject directory; however, it is recommended to place one `gradle.properties` file in the project root.
   
   The following properties can be used to configure the Gradle build environment:
   
  
positive.code: 
  * <<command_line_interface, Command-line flags>> such as `--build-cache`. These have precedence over properties and environment variables.
  * <<sec:gradle_system_properties, System properties>> such as `systemProp.http.proxyHost=somehost.org` stored in a `gradle.properties` file.
  * <<sec:gradle_configuration_properties, Gradle properties>> such as `org.gradle.caching=true` that are typically stored in a `gradle.properties` file in a project root directory or `$GRADLE_USER_HOME`.
  * <<sec:gradle_environment_variables, Environment variables>> such as `$GRADLE_OPTS` sourced by the environment that executes Gradle.
  
  Aside from configuring the build environment, you can configure a given project build using <<sec:project_properties, Project properties>> such as `-PreleaseType=final`.
  
  
negative.code: You should check for existence of optional project properties before you access them using the api:org.gradle.api.Project#hasProperty(java.lang.String)[] method.
  ====
  
  [[sec:configuring_task_using_project_properties]]
  === Configuring a task using project properties
  
  It's possible to change the behavior of a task based on project properties specified at invocation time.
  
  Suppose you'd like to ensure release builds are only triggered by CI. A simple way to handle this is through an `isCI` project property.
  
  ++++
  <sample id="configureTaskUsingProjectProperty" dir="userguide/tutorial/configureTaskUsingProjectProperty" title="Prevent releasing outside of CI">
      <sourcefile file="build.gradle"/>
      <output args="performRelease -PisCI=true --quiet"/>
  </sample>
  ++++
  
  Here, the value of `isCI` is stored in an extra property so that it can be accessed by other parts of the Gradle build. You can read more about extra properties and how they compare to project properties in <<sec:extra_properties>> or in the api:org.gradle.api.plugins.ExtraPropertiesExtension[] API documentation.
  
  [[sec:accessing_the_web_via_a_proxy]]
  === Accessing the web through a HTTP proxy
  
  