Over a million developers have joined DZone.

Version Checker

· Java Zone

Microservices! They are everywhere, or at least, the term is. When should you use a microservice architecture? What factors should be considered when making that decision? Do the benefits outweigh the costs? Why is everyone so excited about them, anyway?  Brought to you in partnership with IBM.

I am really excited to give you first glimpse of a project I have been working on. It is an automatic dependency version checker. We are rolling it out internally to keep on top of our projects at Cake Solutions; I am hoping to have a small private beta release at the end of September. The ultimate goal is, of course, to roll it out publicly as after that as possible.

Let’s take a look at what it does first.

It also integrates with Flowdock, which we use for our team communication.


What is the goal?

The first version–the one coming out in September–will only work with SBT projects (.sbt as well as full-fat Scala); it will expect to get read-only access to your GitHub repositories to download the necessary SBT files.

If configured with your Flowdock flow key, it will send notify you whenever it finds an update to the dependencies in your project; if you do not use Flowdock, you will have to keep coming back to check the status of your project.

In addition to the updates, it will attempt to gather as much news about each update as possible. You will be able to quickly find the relevant notes, blogs, articles, and so on. Furthermore, the system will analyse the mood of the news about the update. All of this is to help you with the question, “Should I update to the newer version?”

Further ahead

The next step are the automatic pull requests. We spend a lot of the time keeping up with minor version bumps, and it would make our lives a lot simpler if this were automated. Because we have configured continuous build on our pull requests, and because we are not usually too trigger-happy when pressing theMerge button, this feature is right for us.

The next big area of development is mentoring and training. A system that can tell you news that are relevant to your project, makes it much easier to keep your teams up to date. I would love to introduce integration with Typesafe Activator, which would be able to offer further guidance & learning opportunities.

Under the hood

Under the hood, the system is a combination of SBT plugin that sends information about the dependencies to an Akka application, which scans for the updates, collects the news, performs the analysis. As can probably guess, the data lives in Cassandra. To make the system talk to the rest of the world, we have RESTful API in Spray, and there is a simple webapp that consumes the API and shows pretty web pages.

Where do you think the code in my Activator templates comes from, eh?

What to do now?

If you like what you see, and if you’d like to join in on the beta in September, get in touch; if you could tell me how complex your projects are, or give GitHub URLs, that would be even better!

Discover how the Watson team is further developing SDKs in Java, Node.js, Python, iOS, and Android to access these services and make programming easy. Brought to you in partnership with IBM.


Published at DZone with permission of Jan Machacek, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

The best of DZone straight to your inbox.

Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}