Jump to content

Gradle

From Wikipedia, the free encyclopedia

Gradle
Developer(s)Hans Dockter, Adam Murdoch, Szczepan Faber, Peter Niederwieser, Luke Daley, Rene Gröschke, Daz DeBoer
Initial release21 April 2008;16 years ago(2008-04-21)
Stable release
8.10.2[1]Edit this on Wikidata / 23 September 2024;4 days ago(23 September 2024)
Preview release
8.10 RC1 / 8 August 2024;50 days ago(2024-08-08)
Repository
Written inJava,Groovy,Kotlin
TypeBuild tool
LicenseApache License 2.0
Websitewww.gradle.org

Gradleis abuild automationtool 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 asKotlin,Groovy,Scala),C/C++,andJavaScript.[2] Gradle builds on the concepts ofApache AntandApache Maven,and introduces aGroovy- andKotlin-baseddomain-specific languagecontrasted with theXML-based project configuration used by Maven.[3]Gradle uses adirected acyclic graphto determine the order in which tasks can be run, through providing dependency management. It runs on theJava Virtual Machine.[4]

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. Combined with the proprietary hosted service of Develocity, it produces web-based build visualizations called Gradle Build Scans. The software is extensible for new features and programming languages with a plugin subsystem.

Gradle is distributed asFree Softwareunder theApache License 2.0,and was first released in 2008.[5]

History

[edit]

Origin of the name

[edit]

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.[6]

Major versions

[edit]
Version Date
0.1 21 April 2008[7]
1.0 12 June 2012[8]
2.0 1 July 2014
3.0 15 August 2016
4.0 14 June 2017
5.0 26 November 2018
6.0 8 November 2019
7.0 9 April 2021
8.0 13 February 2023

Features

[edit]

Gradle offers support for all phases of a build process including compilation, verification, dependency resolving, test execution, source code generation, packaging and publishing. Because Gradle follows aconvention over configurationapproach, it is possible to describe all of these build phases in short configuration files. Conventions include the folder structure of the project, standard tasks and their order as well as dependency repositories. However, all conventions can be overridden by the project configuration if necessary.[9]

Plugins are a central component of Gradle. They allow for integration of a set of configurations and tasks into a project and can be included from a central plugin repository or custom-developed for a single project.

Distribution

[edit]

Gradle is available as a separate download, but can also be found bundled in products such asAndroid Studio.Gradle Wrapper is the recommended way to invoke Gradle. It can download the declared version of Gradle beforehand if necessary.[10]

See also

[edit]

References

[edit]
  1. ^https://github.com/gradle/gradle/releases/tag/v8.10.2.{{cite web}}:Missing or empty|title=(help)
  2. ^"Gradle User Manual".docs.gradle.org.Retrieved14 November2020.
  3. ^"Getting Started With Gradle".Petri Kainulainen.Retrieved26 March2016.
  4. ^"What is Gradle?".
  5. ^"Our Story".Gradle Enterprise.Retrieved15 October2021.
  6. ^"Why is gradle called gradle?".Gradle Forums.20 December 2011.Retrieved30 June2022.
  7. ^"Index of /gradle".12 May 2008. Archived fromthe originalon 12 May 2008.Retrieved15 October2021.
  8. ^"Gradle | Releases".Gradle.Retrieved15 October2021.
  9. ^"Building Java & JVM projects".24 June 2023.Retrieved24 June2023.
  10. ^"Gradle Wrapper Reference".Gradle User Manual.Retrieved4 March2024.

Further reading

[edit]
[edit]