This is an AMP version of the article, its original content can be found here.

Continuous Integration on Windows, with Appveyor and Maven

The purpose of Continuous Integration is to tell us, the developers, when the product we're working on is not "packagable" any more. The sooner we get the signal, the better. Why? Because the damage will be younger if we find it sooner. The younger the damage, the easier it is to fix. There are many modern and high-quality hosted continuous integration services, but only one of them (to my knowledge) supports Windows as a build platform—appveyor.com. My experience tells me that it's a good practice to continuously integrate on different platforms at the same time, especially when developing an open source library. That's why, in teamed.io we're using AppVeyor in combination with Travis.

This is how I managed to configure AppVeyor to build my Java Maven projects (this is appveyor.yml configuration file you're supposed to place in the root directory of your GitHub repository):

It was not that easy at all, so I decided to share. You can see how this configuration works in these projects: jcabi-aspects, jcabi-email, jcabi-dynamo, and rultor.