Turn a legacy app into a CF service

In this post I describe our investigations related to Cloud Foundry services. In particular, we explore options to make an existing enterprise application available as a service in a CF environment. [...]

A first look at Cloud Foundry

During our tech watch activities, we regularly evaluate and prototype on Cloud platforms. In the aPaas (Application Platform as a Service) category, we previously worked on Google App Engine and Amazon Elastic Beanstalk. Recently, we decided to investigate Cloud Foundry. This post describes our first high level impressions of the platform, and why it is relevant to an independent software vendor like us. [...]

XMLBeans integration in IntelliJ 13

Apache XMLBeans is a framework for binding XML schemas with Java object. It has been developed as an alternative to JAXB when the latter supported only a subset of XML schema features. XMLBeans works by compiling XSDs into Java source code with a tool called SCOMP. Generated classes can then be used by other part [...]

Better Maven releases with Jenkins

Performing releases with Maven is most of the time a job for the maven-release-plugin, as it easily performs all the necessary steps and checks that will help producing a reliable, repeatable and identifiable release. We will find here how a more efficient release process can be set up by using Jenkins to orchestrate multiple Maven plugins. [...]

How to manage development life cycle of IntelliJ plugins with Maven

Introduction

Even though Jetbrains provides sources for IntelliJ CE[1], as well as some documentation on how to set up a development environment, they do not provide any automatic tool to perform the following tasks :

Compiling source code against a specific IntelliJ version Packaging compiled code in versioned artifact Syncing “plugin.xml” file with the version [...]

Customizing Jira email notifications

Jira is able to notify users by email of events that occurred on issues, such as state transition or comment posted. These notifications are configured in a Notification Scheme. Each event is associated with a list of recipients : specific users, group members, users associated to a project role , … Each project can have [...]

Creating CheckStyle rules for Sonar

This article aims to explain how we created and tested a CheckStyle rule and integrated it in Sonar. A project available at github provides a concrete example of this for a simple CheckStyle rule. [...]

Using Aether to resolve dependencies in a Maven plugin

When we upgraded to the latest version of Maven (3.0.4), some of our in-house plugins had issues with dependency resolution. We already has similar problems when migrating from Maven 2 to Maven 3, due to the new library used by Maven to access the repository system: Aether. These problems only came when using plugins that had to resolve dependencies by themselves. [...]

Improving code quality with Sonar and Jenkins

Last year, we started an ambitious internal project and since we started more or less greenfield we thought it was a good opportunity to test and integrate new development methodologies. At the time we were already using Jenkins and Sonar but we felt we could get more from those tools and that they were definitely not the only things to consider to achieve our goal. In this article, we describe the methodologies we put in place to improve the quality of our code. [...]

Vaadin WidgetSet compilation optimizations

Vaadin is a framework using GWT behind the scene. And for that it needs a WidgetSet, which is basically the definition of the widgets that you want to use on the client-side. If you are using the core widgets of Vaadin, you are good because the vaadin.jar ships with a default WidgetSet for all the [...]