# Gradle User Guide

### A

Artifact

  ??

### B

Build Script

  ??

### C

Configuration

  See Dependency Configuration.

Configuration Injection

  ??

### D

DAG

  See Directed Acyclic Graph.

Dependency

  See External Dependency.

  See Project Dependency.

  ??

Dependency Configuration

  ??

Dependency Resolution

  ??

Directed Acyclic Graph

  A directed acyclic graph is a directed graph that contains no cycles. In Gradle each task to execute represents a node in the graph. A dependsOn relation to another task will add this other task as a node (if it is not in the graph already) and create a directed edge between those two nodes. Any dependsOn relation will be validated for cycles. There must be no way to start at certain node, follow a sequence of edges and end up at the original node.

Domain Specific Language

  A domain-specific language is a programming language or specification language dedicated to a particular problem domain, a particular problem representation technique, and/or a particular solution technique. The concept isn't new—special-purpose programming languages and all kinds of modeling/specification languages have always existed, but the term has become more popular due to the rise of domain-specific modeling.

DSL

  See Domain Specific Language.

### E

External Dependency

  ??

Extension Object

  ??

### I

Init Script

  A script that is run before the build itself starts, to allow customization of Gradle and the build.

Initialization Script

  See Init Script.

### P

Plugin

  ??

Project

  ??

Project Dependency

  ??

Publication

  ??

### R

Repository

  ??

### S

Source Set

  ??

### T

Task

  ??

Transitive Dependency

  ??