Home » Archives for Rado Buransky

Author Archives: Rado Buransky

Release a Gradle Project Using GitLab CI/CD Pipeline

I’ll show you how to configure Gradle build for a Java/Scala project and integrate it with GitLab CI/CD so that it can be automatically released and published to a Maven repository. The example uses Axion release Gradle plugin to manage version number using git tags and Maven Publish Gradle plugin to upload artifacts to a Maven (Nexus) repository. As an ...

Read More »

Introducing the ReactiveInflux: non-blocking InfluxDB driver for Scala and Java supporting Apache Spark

I am excited to announce a very first release of ReactiveInflux developed at Pygmalios. InfluxDB missed a non-blocking driver for both Scala and Java. Immutability, testability and extensibility are key features of ReactiveInflux. Comming with a support for Apache Spark it is the weapon of choice. https://github.com/pygmalios/reactiveinflux It internally uses Play Framework WS API which is a rich asynchronous HTTP ...

Read More »

Integration testing with Gradle

Unit testing works automatically using Gradle, but if you would like to have a separate set of integration tests you need to do a small exercise. Actually they don’t have to be integration tests at all. This guide shows you how to configure Gradle to use any kind of tests and run them independently from others. I will use Scala ...

Read More »

Publish JAR artifact using Gradle to Artifactory

So I have wasted (invested) a day or two just to find out how to publish a JAR using Gradle to a locally running Artifactory server. I used Gradle Artifactory plugin to do the publishing. I was lost in endless loop of including various versions of various plugins and executing all sorts of tasks. Yes, I’ve read documentation before. It’s ...

Read More »

Scala for-comprehension with concurrently running futures

Can you tell what’s the difference between the following two? If yes, then you’re great and you don’t need to read further.                 Version 1: val milkFuture = future { getMilk() } val flourFuture = future { getFlour() } for { milk <- milkFuture flour <- flourFuture } yield (milk + flour) Version ...

Read More »

Init.d shell script for Play framework distributed applications

I wrote a shell script to control Play framework applications packaged using built-in command dist. Applications packaged this way are zipped standalone distributions without any need to have Play framework installed on the machine that it’s supposed to run on. Everything needed is inside the package. Inside the zip, in the bin directory, there is an executable shell script named ...

Read More »

The best code coverage for Scala

The best code coverage metric for Scala is statement coverage. Simple as that. It suits the typical programming style in Scala best. Scala is a chameleon and it can look like anything you wish, but very often more statements are written on a single line and conditional “if” statements are used rarely. In other words, line coverage and branch coverage ...

Read More »

Scala Wonderland: All operations are method calls

I’ve started learning Scala two months ago and I can’t get back to Murakami’s 1Q84 so exciting it is. In the coming series I’d like to share my excitement with you. It won’t be yet another step-by-step tutorial. I’ll share features that made me think (IBM should be proud of me). For whatever reason.             ...

Read More »