Forget Writing Code.
Start Building Software.

Get weekly inspiration to kickstart your building journey and transform your ideas into digital reality.

10 Best Gradle Plugins for Java Projects

With so many Gradle plugins to choose from, are you sure you’re making the most of what’s available? If not, check out this list of the 10 best core Gradle plugins to work more effectively in Java projects. How were these plugins chosen? These are all core Gradle plugins, written by the Gradle team and bundled inside the Gradle distribution itself. That means they’re high quality and there’s no need to download them externally....

Published 1 May 2022 · 5 min read · Tom Gregory

Integration Test Code Coverage with SonarQube and Jacoco

It’s hepful to separate integration tests from unit tests in a Java project to run them independently. But how do you generate a combined code coverage metric? In this article you’ll discover exactly how, with a full example project which publishes Jacoco code coverage stats to SonarQube. Code coverage for unit tests A code coverage metric tells you what percentage of your proudction code is covered by tests. The higher the better....

Published 18 Apr 2022 · 5 min read · Tom Gregory

How to Deploy Eureka into AWS ECS

Discover how to setup Eureka in AWS ECS following an example project.

Published 13 Apr 2022 · 9 min read · Tom Gregory

The Unknown Maven Repository System Powering Java

There’s another side to Maven: a vital repository system serving up dependencies for the millions of daily Java builds.

Published 7 Apr 2022 · 6 min read · Tom Gregory

10 Tips to Use Gradle With IntelliJ IDEA in 2022

If you’re building Gradle projects in IntelliJ IDEA, you’re probably not using the IDE to its full advantage. So to help you save time and avoid unnecessary work, here are my top 10 tips to working like a pro. 1) Create Gradle project using IntelliJ IDEA First off, use IntelliJ IDEA it to create new Gradle projects. From the Welcome to IntelliJ IDEA screen select New Project to open the New Project dialog....

Published 6 Apr 2022 · 5 min read · Tom Gregory

Maven phases vs. goals

Do you want to fully understand the difference between Maven phases and goals, and how to execute each of them? OK, let’s start at the low-level and work our way upwards. At its core Maven is a Java build tool which takes your project from some source files and resources to a shiny jar file ready to run. The way Maven achieves this, just like anything worthwhile doing in life, is by executing some code....

Published 1 Apr 2022 · 7 min read · Tom Gregory

4 Benefits Of Using Gradle Multi-Project Builds

If your Gradle build has only a single project then you could be missing out on important benefits of multi-project builds. Splitting Gradle projects into multiple subprojects is almost always a good idea, so in this article you’ll discover the 4 benefits of using Gradle multi-projects builds to setup your project for success. Single vs. multi-project builds Before we get into the 1st benefit, let’s define what a multi-project build is and how it differs from a single-project build....

Published 1 Mar 2022 · 8 min read · Tom Gregory

How to add a Gradle dependency

Discover the best way to add a dependency to a Gradle project and understand what Gradle does to make the dependency available to your application code. Sometimes when you’re developing an application you need to use code from another library. In the below Java application built with Gradle, I want to use the StringUtils class to process the input by switching it to upper case. package com.tomgregory; import org.apache.commons.lang3.StringUtils; public class Application { public static void main(String[] args) { String processedString = StringUtils....

Published 14 Jan 2022 · 5 min read · Tom Gregory

Gradle assemble task essentials

Learn everything you’ll ever need to know about Gradle’s task for creating artifacts, assemble. Assemble is a task you run from the command line using ./gradlew assemble in Linux and Mac or gradlew assemble in Windows. To fully understand assemble you need to know about the 2 types of Gradle tasks: actionable tasks have some action(s) attached to do work in your build lifecycle tasks are workflow tasks with no actions attached Assemble is a lifecycle task with no actions attached....

Published 13 Jan 2022 · 4 min read · Tom Gregory