Go Dependency Management with GoGradle

You probably work in a Java house.

You probably have couple hundred microservices/services already managed using Gradle.‌ ‌‌‌As a tooling/devops/release/site-reliability engineer you have now been asked to support Go.

You start looking into Go and fall in love with it. How everything just clicks and works. Statically typed language without Java's fluff.

The problem you will face is how to manage all those crazy dependencies. You can definitely go ahead and start using dep. It is a pretty awesome tool. That being said... There is a more familiar solution for you!

GoGradle!

Using GoGradle is pretty easy and it solves couple problems:

  • Go version dependencies
  • Packages and package versioning
  • Complicated build/deployment task scripting via Gradle

Below is a sample usage of GoGradle:

‌                          Embedded JavaScript

As you can see you are able to define version of GoLang as well as versions of dependencies. You don't have to match or come up with a solution that sets the GoLang environment variables. All are done for you!

Check the cool gradle plugin out! Definitely worth it!