anchor.diff:  include::sample[dir="snippets/tutorial/projectProperties/groovy",files="build.gradle[tags=execution]"]
   include::sample[dir="snippets/tutorial/projectProperties/kotlin",files="build.gradle.kts[tags=execution]"]
   ====
  -
  -Gradle properties and properties set via the `-P` command line option are also available in project properties.
   
   [NOTE]
   ====
  
positive.code: ====
  include::sample[dir="snippets/tutorial/gradleProperties/groovy",files="build.gradle[tags=gradle-properties-task-inputs]"]
  include::sample[dir="snippets/tutorial/gradleProperties/kotlin",files="build.gradle.kts[tags=gradle-properties-task-inputs]"]
  ====
  
  .Setting Gradle properties from the command line
  ====
  ----
  $ gradle -PgradlePropertiesProp=commandLineValue
  ----
  ====
  
  Note that <<init_scripts.adoc#init_scripts, initialization scripts>> can't read Gradle properties directly.
  
negative.code: [[sec:project_properties]]
  == Project properties
  
  Project properties are available on the link:{groovyDslPath}/org.gradle.api.Project.html[Project] object.
  They can be set from the command line using the `-P` / `--project-prop` <<command_line_interface.adoc#sec:environment_options, environment option>>.
  
  .Setting a project property via the command line
  ====
  ----
  $ gradle -PgradlePropertiesProp=commandLineValue
  ----
  ====
  
  Gradle can also set project properties when it sees specially-named system properties or environment variables. If the environment variable name looks like `ORG_GRADLE_PROJECT___prop__=somevalue`, then Gradle will set a `prop` property on your project object, with the value of `somevalue`. Gradle also supports this for system properties, but with a different naming pattern, which looks like `org.gradle.project.__prop__`. Both of the following will set the `foo` property on your Project object to `"bar"`.
  
  .Setting a project property via a system property
  ----
  