Gradle Commands Cheat Sheet

Introduction

Gradle is a popular build automation tool used primarily for Java, Android, and other JVM-based projects. It offers a powerful and flexible way to manage project builds, dependencies, and other tasks through a Groovy or Kotlin DSL. Understanding the essential Gradle commands can help you streamline your development workflow. This cheat sheet provides a quick reference to the most commonly used Gradle commands.

What is Gradle?

Gradle is a build automation tool that supports multi-project builds, dependency management, and task automation. It is designed to be highly customizable and scalable, making it suitable for projects of all sizes.

Gradle uses a domain-specific language (DSL) based on Groovy or Kotlin to describe builds, providing a powerful alternative to traditional XML-based build scripts.

Gradle Commands Cheat Sheet

Here is a handy cheat sheet of the most commonly used Gradle commands, ordered by their usage and popularity:

Gradle Command Description
gradle init Initializes a new Gradle project.
gradle build Compiles, tests, and assembles the project.
gradle clean Deletes the build directory.
gradle assemble Assembles the outputs of the project without running tests.
gradle check Runs all checks, including tests.
gradle test Runs the unit tests.
gradle buildDependents Assembles and tests this project and all projects that depend on it.
gradle dependencies Displays the dependencies of the project.
gradle dependencyInsight Provides insight into a specific dependency in the project.
gradle help Displays help information about available tasks and options.
gradle projects Displays the sub-projects of the project.
gradle properties Displays the properties of the project.
gradle tasks Displays the tasks available in the project.
gradle wrapper Generates Gradle wrapper files.
gradle jar Assembles a JAR archive containing the main classes.
gradle war Assembles a WAR archive containing the web application.
gradle bootRun Runs a Spring Boot application.
gradle bootJar Assembles an executable JAR archive for a Spring Boot application.
gradle bootWar Assembles an executable WAR archive for a Spring Boot application.
gradle publish Publishes all publications produced by this project to the specified repository.
gradle uploadArchives Uploads the project's artifacts to the specified repository.
gradle eclipse Generates Eclipse project files.
gradle idea Generates IntelliJ IDEA project files.
gradle --stop Stops the Gradle Daemon if it is running.
gradle --status Displays the status of the Gradle Daemon.
gradle --refresh-dependencies Refreshes the dependency cache, forcing a check for updated dependencies.

Gradle Commands Cheat Sheet Demonstrated with a Sample Project

Let's use a sample Java project to demonstrate the important Gradle commands. This project will have a simple structure with a few Java classes and dependencies.

Sample Project Structure

my-sample-project
├── build.gradle
├── settings.gradle
├── src
│   ├── main
│   │   ├── java
│   │   │   └── com
│   │   │       └── example
│   │   │           └── App.java
│   │   └── resources
│   └── test
│       ├── java
│       │   └── com
│       │       └── example
│       │           └── AppTest.java
│       └── resources
└── gradle
    └── wrapper
        └── gradle-wrapper.properties

build.gradle File

plugins {
    id 'java'
    id 'application'
}

group = 'com.example'
version = '1.0-SNAPSHOT'

sourceCompatibility = '11'

repositories {
    mavenCentral()
}

dependencies {
    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.7.1'
    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.7.1'
}

test {
    useJUnitPlatform()
}

application {
    mainClassName = 'com.example.App'
}

settings.gradle File

rootProject.name = 'my-sample-project'

Important Gradle Commands with Examples

Gradle Init Command

Initializes a new Gradle project.

Syntax:

gradle init

Example: Navigate to the desired directory and run:

cd /path/to/your/project
gradle init

This command initializes a new Gradle project in the current directory, setting up the basic project structure and necessary files.

Gradle Build Command

Compiles, tests, and assembles the project.

Syntax:

gradle build

Example: Navigate to the project directory and run:

cd /path/to/your/project
gradle build

This command compiles the source code, runs the tests, and assembles the final artifacts of the project.

Gradle Clean Command

Deletes the build directory.

Syntax:

gradle clean

Example: Navigate to the project directory and run:

cd /path/to/your/project
gradle clean

This command removes the build directory, cleaning up all files generated by previous builds.

Gradle Assemble Command

Assembles the outputs of the project without running tests.

Syntax:

gradle assemble

Example: Navigate to the project directory and run:

cd /path/to/your/project
gradle assemble

This command compiles the source code and packages the application, but skips the testing phase.

Gradle Check Command

Runs all checks, including tests.

Syntax:

gradle check

Example: Navigate to the project directory and run:

cd /path/to/your/project
gradle check

This command runs all verification tasks in the project, including unit tests and code quality checks.

Gradle Test Command

Runs the unit tests.

Syntax:

gradle test

Example: Navigate to the project directory and run:

cd /path/to/your/project
gradle test

This command executes the unit tests for the project, as defined in src/test/java.

Gradle Dependencies Command

Displays the dependencies of the project.

Syntax:

gradle dependencies

Example: Navigate to the project directory and run:

cd /path/to/your/project
gradle dependencies

This command provides a detailed list of all the dependencies used in the project.

Gradle DependencyInsight Command

Provides insight into a specific dependency in the project.

Syntax:

gradle dependencyInsight --dependency <dependency-name>

Example: Navigate to the project directory and run:

cd /path/to/your/project
gradle dependencyInsight --dependency junit

This command gives detailed information about the specified dependency (junit in this case), including where it is used and any conflicts.

Gradle Tasks Command

Displays the tasks available in the project.

Syntax:

gradle tasks

Example: Navigate to the project directory and run:

cd /path/to/your/project
gradle tasks

This command lists all the tasks that can be executed in the project, providing a quick overview of available operations.

Gradle Wrapper Command

Generates Gradle wrapper files.

Syntax:

gradle wrapper

Example: Navigate to the project directory and run:

cd /path/to/your/project
gradle wrapper

This command creates the Gradle wrapper files (gradlew and gradlew.bat), allowing the project to be built with a specific Gradle version without requiring Gradle to be installed globally.

Gradle Jar Command

Assembles a JAR archive containing the main classes.

Syntax:

gradle jar

Example: Navigate to the project directory and run:

cd /path/to/your/project
gradle jar

This command creates a JAR file containing the compiled classes of the project, located in the build/libs directory.

Gradle BootRun Command

Runs a Spring Boot application.

Syntax:

gradle bootRun

Example: Navigate to the project directory and run:

cd /path/to/your/project
gradle bootRun

This command runs the Spring Boot application directly from the source code. (Ensure you have the Spring Boot plugin and dependencies configured in your build.gradle.)

Example Output

After running these commands, your project directory will have the following additional content:

my-sample-project
├── build
│   ├── classes
│   ├── distributions
│   ├── libs
│   ├── reports
│   ├── scripts
│   └── tmp
├── gradlew
├── gradlew.bat
└── gradle
    └── wrapper
        └── gradle-wrapper.properties
        └── gradle-wrapper.jar

Conclusion

Mastering Gradle commands is essential for managing your builds and dependencies efficiently. This cheat sheet, demonstrated with a sample project, provides a quick reference to the most commonly used Gradle commands, helping you streamline your build process and improve your development workflow. 

By understanding and using these commands, you can simplify your project builds, enhance your productivity, and ensure your applications are well-structured and maintainable. 

Keep this guide handy to make the most of Gradle. Happy coding!

Comments