Hi everyone, I have created two Gradle plugins to facilitate OSGi development and make it really easy to develop OSGi applications.
https://github.com/renatoathaydes/osgi-run/tree/master/ipojo-plugin The first one is called osgi-run and it can create an OSGi runtime (currently for either Felix or Equinox, but there's instructions on how to make Knopferfish work also) including any bundle you want, which can include your Gradle project's artifact, or its subprojects, and any other artifact that can be pointed at like a dependency. It uses Gradle's own mechanism to resolve artifacts (supporting Maven, JCenter, Ivy etc). The second one is the IPojo plugin. It does the same thing as the Maven and Ant plugins for IPojo, "ipojoizing" your jars to make them ready to run with OSGi/IPojo. Combined with the osgi-run plugin, it's a real time-saver! They are both available at the JCenter Maven repo. For those of you who are unsure about whether you should use Declarative Services or Blueprint/DM, I would highly recommend IPojo. I have been a fan of Blueprint, but after using IPojo, I do think it's the best current alternative to using dynamic Services in Java. Suggestions on how to make these plugins even more useful are welcome! Best regards and hope you enjoy the Gradle plugins. Renato Athaydes