Gradle
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.[2] Gradle builds on the concepts of Apache Ant and Apache Maven, and introduces a Groovy- and Kotlin-based domain-specific language contrasted with the XML-based project configuration used by Maven.[3] Gradle uses a directed acyclic graph to determine the order in which tasks can be run, through providing dependency management. It runs on the Java Virtual Machine.[4]
Developer(s) | Hans Dockter, Adam Murdoch, Szczepan Faber, Peter Niederwieser, Luke Daley, Rene Gröschke, Daz DeBoer |
---|---|
Initial release | 21 April 2008 |
Stable release | 8.4[1]
/ 4 October 2023 |
Preview release | 8.4 RC3
/ 29 September 2023 |
Repository | |
Written in | Java, Groovy, Kotlin |
Type | Build tool |
License | Apache License 2.0 |
Website | www |
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 under the Apache License 2.0, and was first released in 2008.[5]
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.[6]
Features
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 a convention over configuration approach, 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
Gradle is available as a separate download, but can also be found bundled in products such as Android Studio.
See also
References
- Error: Unable to display the reference properly. See the documentation for details.
- "Gradle User Manual". docs.gradle.org. Retrieved 14 November 2020.
- "Getting Started With Gradle". Petri Kainulainen. Retrieved 26 March 2016.
- "What is Gradle?".
- "Our Story". Gradle Enterprise. Retrieved 15 October 2021.
- "Why is gradle called gradle?". Gradle Forums. 20 December 2011. Retrieved 30 June 2022.
- "Index of /gradle". 12 May 2008. Archived from the original on 12 May 2008. Retrieved 15 October 2021.
- "Gradle | Releases". Gradle. Retrieved 15 October 2021.
- "Building Java & JVM projects". 24 June 2023. Retrieved 24 June 2023.
Further reading
- Berglund, Tim; McCullough, Matthew (July 2011). Building and Testing with Gradle. Foreword by Hans Dockter (First ed.). O'Reilly Media. p. 116. ISBN 978-1-4493-0463-8.
- Berglund, Tim (August 2013). Gradle Beyond the Basics (First ed.). O'Reilly Media. p. 69. ISBN 978-1-449-30467-6.
- Ikkink, Hubert (November 2012). Gradle Effective Implementation Guide (First ed.). Packt Publishing. p. 382. ISBN 978-1849518109.
- Berglund, Tim; McCullough, Matthew (May 2013). Gradle DSLs (First ed.). O'Reilly Media. pp. 50 est. ISBN 978-1-4493-0467-6.
- Muschko, Benjamin (Fall 2013). Gradle in Action (First ed.). Manning Publications. p. 390. ISBN 9781617291302.