Gradle 7 Build Tool Fundamentals
by Kevin Jones
Gradle is the newish kid on the block of Java build tools and is the tool that Android Studio uses. Gradle lets you compile and test your code, create jars and wars for your applications, generate Javadoc, and much more.
What you'll learn
Gradle is a Java tool that manages your build environment. It lets you build test and run your code. Through plugins it is easily extendable. While Gradle itself is written in Java it provides two DSLs: one that is written in Groovy and one that is written in Kotlin, in which you write the configuration scripts. This course, Gradle 7 Build Tool Fundamentals, covers the essentials of Gradle. First, you will learn about writing basic build scripts in the DSL. Next, you will discover how to runn Java and Kotlin builds. Then, you will explore unit testing with JUnit 4 and JUnit 5. Gradle does not provide its own dependency management system but instead can use Maven’s or Ivy’s. You will see how to configure and use both of these systems. The course also shows how to test with both JUnit 4 and how to configure your Gradle scripts to test with JUnit 5. Finally, the class looks at the Gradle ‘wrapper’ - a mechanism to ensure your developers always use the correct version of Gradle. By the end of this course, you will know how to use Gradle to manage project with one or more builds. All examples throughout the class use both the Kotlin and Groovy DSLs and all the demo code has the examples in both languages.
About the author
A long time ago in a university far, far away Kevin fell in love with programming. Initially on the university's DEC20 computer doing BASIC and Pascal and a little bit of Fortran. His first job had him writing batch PL/1 on an IBM mainframe where he also discovered the arcane delights of JCL. He soon realized the multiuser systems were not for him after discovering the delights of dBase IV on IBM PCs. From here it was all downhill as he became addicted to C and the Windows API. Just missing out ... moreon coding for Windows 1, he did code for the other 16 bit versions of Windows, 2 and 3, including the various network-ready versions. He still remembers the awkwardness of having to carry an IBM Token Ring MAU with him wherever he went.
After trying to pretend that Windows and C were really object oriented he decided that it would be better to learn C++. It was around this point that he realized that as well as writing code for a living he could be paid for telling people how to write code for a living. He taught Windows, MFC and C++ for a UK training company before his spirit was broken on the back of the OLE support in MFC when he finally stepped away from the nightmare of unmanaged code to the nirvana of the managed runtime called Java.
It was at this time that he spoke at several JavaOne conferences usually on the subject of Servlets, JavaServer Pages and tag libraries. After buying the Sun employees copious amounts of Apple Martini Kevin was invited onto the expert groups for the Servlet and JSP specifications.
Oh, how he laughed when .Net appeared and the same arguments raged about non-deterministic destruction and garbage collection that were now so old hat in the Java world. He finally got his hands dirty in C# and .Net about eight years ago, again working in the web tier and hating every minute of the using the monstrosity that was and is ASP.Net Web Forms. It wasn't until MVC appeared that he finally felt he had come home to Microsoft.
Now of course MVC is so last year and Kevin is focusing more and more on rich clients using JavaScript and tools such as Knockout and AngularJS. He believes that JavaScript is the best thing since, well, JavaScript.
He still retains his passion for developing and teaching; spending about a quarter of the year doing the latter and most of the time doing the former.
When not stuck in front of a computer you can find him: with his nose in a book, a good one preferably, but almost any book would do; watching a film; walking; running; or annoying his wife by watching sports on television.