Sunday, February 24, 2013

Adding Non-Maven Projects to Your Maven Project - Google Cloud Messaging


You may have noticed that Google has not always embraced Maven. I've started to play around with Google Cloud Messaging and needed a solution to use the non-Maven gcm-server.jar in my Maven project. Because the gcm-server.jar has no dependencies, it can be easily accomplished with the maven install plugin:

mvn install:install-file -Dfile=android-sdks//extras/google/gcm/gcm-server/dist/gcm-server.jar -Dsources=android-sdks//extras/google/gcm/gcm-server/dist/gcm-server-src.jar -DgroupId=com.google.gcm -DartifactId=gcm-server -Dversion=1.0.2 -Dpackaging=jar -DgeneratePom=true -DcreateChecksum=true

The GCM project uses Ant, so alternatively it could be built with Ant from your Maven project.

Now the dependency can be added to your project with

<dependency>
   <groupId>com.google.gcm</groupId>
   <artifactId>gcm-server</artifactId>
   <version>1.0.2</version>
</dependency>

Of course you'll need to re-install whenever a new GCM version is released