Build Tools · Lesson 6
Gradle build.gradle Deep Dive
Understanding build.gradle
A Gradle build script is executable configuration written in Groovy or Kotlin. It declares plugins, repositories, dependencies, and tasks that describe how a project should be built. Gradle evaluates the script to create a task graph for the requested command.
Declaring a Task
Tasks are units of work with inputs, outputs, and actions. A small Java example can be compiled by the Java plugin while a custom task prints project information.
public class BuildInformation {
public static void main(String[] arguments) {
String projectName = "java-academy";
String version = "1.0.0";
System.out.println(projectName + " version " + version);
}
}
A typical script applies the Java plugin, declares mavenCentral(), and adds test dependencies. Gradle then wires standard tasks such as compileJava, test, and jar.
Script Elements
| Element | Purpose | Example |
|---|---|---|
| Plugin | Adds conventions and tasks | Java plugin |
| Repository | Resolves modules | Maven Central |
| Dependency | Adds a library | Test framework |
| Task | Performs work | test, jar |
Common Mistake and Practices
Common Mistake: Putting environment secrets or machine-specific absolute paths directly in
build.gradle. The build then becomes difficult to reproduce and may leak credentials.
- Prefer the Gradle wrapper.
- Keep scripts declarative and small.
- Use properties for environment-specific values.
- Declare repositories deliberately.
- Inspect the task graph when debugging.
Real-World Use Case
A team uses one Gradle script for local development and CI, while a property selects the deployment environment. The same task graph produces a reproducible application artifact on every machine.
Quiz Check