Gradle
   HOME

TheInfoList



OR:

Gradle is a build automation tool for multi-language software development. It controls the development process in the tasks of compilation and packaging to testing, deployment, and publishing. Supported languages include Java (as well as Kotlin, Groovy, Scala), C/ C++, and
JavaScript JavaScript (), often abbreviated as JS, is a programming language that is one of the core technologies of the World Wide Web, alongside HTML and CSS. As of 2022, 98% of websites use JavaScript on the client side for webpage behavior, of ...
. It also collects statistical data about the usage of software libraries around the globe. Gradle builds on the concepts of Apache Ant and
Apache Maven Maven is a build automation tool used primarily for Java projects. Maven can also be used to build and manage projects written in C#, Ruby, Scala, and other languages. The Maven project is hosted by the Apache Software Foundation, where it wa ...
, and introduces a Groovy- and Kotlin-based domain-specific language contrasted with the
XML Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. T ...
-based project configuration used by Maven. Gradle uses a
directed acyclic graph In mathematics, particularly graph theory, and computer science, a directed acyclic graph (DAG) is a directed graph with no directed cycles. That is, it consists of vertices and edges (also called ''arcs''), with each edge directed from one ...
to determine the order in which tasks can be run, through providing dependency management. It runs on the Java Virtual Machine. Gradle was designed for multi-project builds, which can grow to be large. It operates based on a series of build tasks that can run serially or in parallel. Incremental builds are supported by determining the parts of the build tree that are already up to date; any task dependent only on those parts does not need to be re-executed. It also supports caching of build components, potentially across a shared network using the Gradle Build Cache. It produces web-based build visualization called Gradle Build Scans. The software is extensible for new features and programming languages with a plugin subsystem. Gradle is distributed as
Free Software Free software or libre software is computer software distributed under terms that allow users to run the software for any purpose as well as to study, change, and distribute it and any adapted versions. Free software is a matter of liberty, n ...
under the Apache License 2.0, and was first released in 2008.


History


Origin of the name

Founder and CEO Hans Dockter has said that he originally wanted to name the project "Cradle". However, to make the name unique and less "diminutive" he instead chose "Gradle", taking the "G" from the use of Groovy.


Major versions


Distribution

Gradle is available as a separate download, but can also be found bundled in products such as
Android Studio Android Studio is the official integrated development environment (IDE) for Google's Android operating system, built on JetBrains' IntelliJ IDEA software and designed specifically for Android development. It is available for download on Win ...
.


See also

* List of build automation software


References


Further reading

* * * * *


External links

*
Official Gradle Enterprise website
* {{youtube, XXoIzzcJr80, Breaking Open: Gradle - An interview about Gradle and Gradleware, its history, motivation and challenges With Gradle founder Hans Dockter and Aleksandar Gargenta Compiling tools Java development tools Build automation Cross-platform software Software using the Apache license 2007 software