# Gradle Wrapper Basics

version 8.5

The recommended way to execute any Gradle build is with the Gradle Wrapper.

The Wrapper script invokes a declared version of Gradle, downloading it beforehand if necessary.

The Wrapper is available as a `gradlew` or `gradle.bat` file.

The Wrapper provides the following benefits:

- Standardizes a project on a given Gradle version.

- Provisions the same Gradle version for different users.

- Provisions the Gradle version for different execution environments (IDEs, CI servers…​).

## Using the Gradle Wrapper

It is always recommended to execute a build with the Wrapper to ensure a reliable, controlled, and standardized execution of the build.

Depending on the operating system, you run `gradlew` or `gradlew.bat` instead of the `gradle` command.

Typical Gradle invocation:

    $ gradle build

To run the Wrapper on a Linux or OSX machine:

    $ ./gradlew build

To run the Wrapper on Windows PowerShell:

    $ .\gradlew.bat build

The command is run in the same directory that the Wrapper is located in. If you want to run the command in a different directory, you must provide the relative path to the Wrapper:

    $ ../gradlew build

The following console output demonstrates the use of the Wrapper on a Windows machine, in the command prompt (cmd), for a Java-based project:

    $ gradlew.bat build

    Downloading https://services.gradle.org/distributions/gradle-5.0-all.zip
    .....................................................................................
    Unzipping C:\Documents and Settings\Claudia\.gradle\wrapper\dists\gradle-5.0-all\ac27o8rbd0ic8ih41or9l32mv\gradle-5.0-all.zip to C:\Documents and Settings\Claudia\.gradle\wrapper\dists\gradle-5.0-al\ac27o8rbd0ic8ih41or9l32mv
    Set executable permissions for: C:\Documents and Settings\Claudia\.gradle\wrapper\dists\gradle-5.0-all\ac27o8rbd0ic8ih41or9l32mv\gradle-5.0\bin\gradle

    BUILD SUCCESSFUL in 12s
    1 actionable task: 1 executed

Consult the Gradle Wrapper reference to learn more.

Next Step: Learn about the Gradle CLI >>