Gradle to jedno z narzędzi służących do budowania projektów. Na czym polega proces budowania projektów i dlaczego warto korzystać z narzędzi automatyzujących ten proces możesz przeczytać w tym artykule o Mavenie.
Choć Gradle powstał jako narzędzie do budowania projektów napisanych w Javie, to wspiera również projekty w takich językach jak: Kotlin, Groovy, Scala, C, C++, czy Java Script. Pierwsza wersja frameworka powstała w 2007 roku. Obecnie jest to drugi najpopularniejszy (zaraz po Mavenie) framework służący do zarządza procesem budowy i to właśnie w kontekście porównywania z Mavenem mówi się o Gradle najczęściej. Nawet twórcy tego frameworka porównują go na oficjalnej stronie z Mavenem.
Największą zaletą Gradle jest jego wysoka wydajność przez wykonywanie tylko tych zadań dla których zmieniły się dane wejściowe np. pliki. Gradle pozwala również na cache’owanie wyników poprzednich zadań nawet jeśli zostały wykonane na innej maszynie. Inną zaletą jest jego prostota. Popularne typy projektów takie jak np. projekt w Javie są zdefiniowane jak typ projektu. Stosując wtyczki można łatwo i szybko uzyskać skrypty do budowania wielu projektów, a same pliki konfiguracyjne są dość małe.
Gradle pozwala na nadpisywanie istniejących konfiguracji dzięki czemu możliwe jest ich zastępowanie i dodawanie własnych typów zadań. Pomocne mogą okazać się również skany kompilacji, które zapewniają obszerne informacje o przebiegu kompilacji, których można użyć do zidentyfikowania problemów z kompilacją. Szczególnie dobrze pomagają zidentyfikować problemy z wydajnością kompilacji.
Gradle modeluje proces budowy jako ukierunkowany graf acykliczny (DAG) zadań (jednostek pracy). Kompilacja konfiguruje zestaw zadań i łączy je ze sobą - na podstawie ich zależności - w celu utworzenia tego DAG. Po utworzeniu wykresu zadań Gradle określa, które zadania należy uruchomić w jakiej kolejności, a następnie przystępuje do ich wykonania
Budowanie projektu przy użyciu Gradle składa się z 3 faz