Some JUnit Rules

Maven Random Tips

Some random Maven build-tool tips..

For transitive dependencies, where multiple versions of the same dependency are transitively required, maven takes the version that is shallowest in the “dependency:tree” output. When two are equal depth, the first one wins. But when a dependencyManagement declaration exists, then that version is used.

When a pom with direct dependencies is included as a <dependency> in another pom, those artifacts also become dependencies of the including pom - in whichever scope the includer specifies.

When such a pom is included from within <dependencyManagement> in another pom, and scope=import is specified, then any dependencyManagement declarations in the other pom become dependencyManagement declarations in the including pom.

Downloading Jenkins

Jenkins is the leading continuous-integration server for Java-based projects. It is purely open-source - which is why I was rather puzzled when I wanted to install a Jenkins server recently, and found it extremely hard to obtain a download bundle for it. The Jenkins website offers no war-file (Java-web-archive), zip or tarfile download links - just dot-deb, etc.

Guys, not everybody wants a pre-packaged solution - don’t forget to provide a basic download please!

Eventually I found that the raw files can still be downloaded here:

UPDATE: Thanks to Przemek Wesolek for pointing out that the link to the Jenkins war-format download was right before my eyes. The download-widget has a drop-down menu without warfile as option - but clicking on the widget itself (not in the menu) downloads the warfile artifact. I don’t remember having seen a UI component that works quite like that before - but it is obvious in retrospect.

Microsoft, Azure and Linux

Has hell just frozen over?

“Microsoft Azure is the first public cloud provider to offer Clear Linux, and we’re really excited about what it means for Linux users in the cloud and the community at large,” says Jose Miguel Parrella, Open Source Product Manager, Microsoft.

That’s a job title I never expected anyone to have…

Climate Change

Letsencrypt on Ubuntu

Configuring Fail2Ban

The fail2ban service is a simple and useful security tool for unix servers. I’ve written some brief notes here.

Configuring a Personal Email Server

I’ve finally got around to setting up an email server on my personal server (the same one that hosts this website). No more hosted email, it is now entirely under my control which is satisfying (and saves some money). But it was a far from trivial task; I’ve written up everything I learned on the way in this article.