Posted on by | Posted in Developer Blog | Tagged , , , , ,

tl;dr: When you are using Gerrit and Jenkins on the same machine, know what you're doing!

In a recent project we decided to increase code quality by introducing Gerrit as Code Review Tool.
The configuration looks as follows:

Next to a colleague who reviews the patchset, we created a dedicated Jenkins job which verfies the patchset by building the project with the usual maven build configuration “mvn clean install” on the same machine. Only when both the reviewer and the ci server accept the patchset, it will be merged into our git repository.

Posted on by | Posted in Developer Blog, synyx Blog | Tagged , , ,

Suppose we voted for Sass as the css preprocessor of our choice for a web application. Knowing that css must be generated from our Sass code everytime a scss file is modified, we want to set up the project in a way that enables fast turnaround cycles during development.

The Requirements are:

  • generated css should be bundled within the WAR when building the webapp for production on the continuous integration server

Posted on by | Posted in Developer Blog, Mobile Blog, Tutorial | Tagged , , , ,

In my previous post, I showed you the basic setup for android with maven using the android-maven-plugin. Now I'll show you how to configure it to make releases with maven, and how to configure the plugins to save you some work.

Configuring the keystore data

If you have used the release archetype like in the previous post, most of the work is already done. The necessary plugins are configured and only need some additional data, like the data for your release keystore.

Posted on by | Posted in Developer Blog, Mobile Blog, Tutorial | Tagged , , , , ,

Building and managing Android projects with maven is not as easy as it could be. So in this blog, I'll show you how we managed to get it work nicely.

In this example, we'll create a parent project with an app module and a separate instrumentation tests module.

Posted on by | Posted in Administrator Blog, Developer Blog, Open Source Blog | Tagged , , , , ,

More and more Projects at our company are taking advantage of distributed and local revision control by using git. So to make a complete software-project fit for git, by not only using git-svn with subversion and git on top, some more steps are required than just handling files with git, learning its syntax and understanding the way it works…

Posted on by | Posted in Developer Blog | Tagged , , , ,

Modern web applications often consist of quite some configuration files that should at least be tested for validity. Think of Spring controller configurations, web application descriptors and the like that can't be tested easily using Unit Tests. Fortunately it's quite easy to start a tomcat instance on your CI system (Jenkins or Hudson) using the Tomcat Maven Plugin.

Posted on by | Posted in Developer Blog, Open Source Blog | Tagged ,

I previously mentioned that setting up a development environment for OpenCms can be quite hard. Besides our Netbeans module we are using a custom maven plugin for some time now. As we gain a lot of benefit by building our modules from the file system it's time to release it and see if other people also want to use it. It's based on an Ant task that has originally been released by Eurelis. Today we released version 1.0 which is now available under the terms of the GNU Lesser General Public License.

Posted on by | Posted in Developer Blog, Open Source Blog | Tagged , ,

Solr is a search server that bundles a lot of useful Lucene modules and provides an HTTP interface for querying and updating the data. The index and most of the query mechanisms are configured using XML documents, client applications normally don't need to be changed when adjusting the server configuration. As the server configuration heavily influences the quality of your users search experience it's a good idea to implement some integration tests that validate your functionality.
Solr ships with a useful abstract JUnit test case that can be used as a basis for your integration tests. I will demonstrate how to fire up a simple test using maven.
The most important part is the dependencies section of the pom:

Posted on by | Posted in Developer Blog | Tagged , , ,

Some days ago I came along a problem with our beloved build tool Maven2. Since this was the first real problem with the tool I could not solve or find a good workaround which I think is worth a blog post.

Maven 2 relies on a project descriptor for each project to build, which is XML in a file called pom.xml at the root of a project. Within that file you define how your project is to be built, what dependencies it needs and much more.