I've started to implement the maven-gigapult-plugin - a bridge between Gigapult and project, which uses Gigaspaces XAP and Maven as a build tool. The idea is very simple: create a set of maven tasks which will allow to start GigaSpaces clusters and services.
The idea was inspired by Ola's Bini JtestR project - a tool, which allows to test java code with ruby tools. He creates a jar file with all ruby code embedded as resources and some helper classes which allows to invoke these scripts from Java.
The first attempt of this interbreeding can be found in trunk. I haven't published plugin to any public repository, but it can be built from sources.
The sample project's pom.xml, which uses this plugin should contain the following entry:
<build>
<plugins>
<plugin>
<groupId>org.gigapult</groupId>
<artifactId>maven-gigapult-plugin</artifactId>
<version>0.3.1</version>
<configuration>
<localSettings>local.rb</localSettings>
<commonSettings>common.rb</commonSettings>
</configuration>
</plugin>
</plugins>
</build>
which allows to run spaces using
mvn org.gigapult:maven-gigapult-plugin:start-gs-instance
NOTE that both local.rb and common.rb are used for settings, which are specific for the current machine and common system-independent settings. Both of them should be put to the same directory where the pom.xml lives.
The shorter version
mvn gigaput:start-gs-instance
can be enabled by adding this info to ~/.m2/settings.xml
<pluginGroups>
<pluginGroup>org.gigapult</pluginGroup>
</pluginGroups>