Latest GigaSpaces release (6.5) comes with an integrated Maven facility. This support is provided through 2 functionnalities:
- a script and associated set of poms to install GS jars in your local repository
- a plugin providing hability to create a pu based on a templte, start a local pu container and deploy pu to a running GSM
This is a great news for the GS users’ community and confirm that Maven becomes an entreprise player. Unfortunately this plugin does not really fit into Maven architecture and way of thinking. Prior to Maven support in GS product we developed internally a number of plugins whose functionalities are similar but (in my purist opinion) more Maven friendly.
Leverage Packaging type
Cargo as a de facto container abstraction standard
Cargo framework supports a good variety of container and facilitates their manipulation through a common API from Java, ant and maven. cargo-container-openspaces provides OpenSpaces container to cargo (currenlty only standalone container).
How does it help?
The difference between those plugins and GS relatives is not only about clean integration. This tight integration with maven simplifies deployment as pu is a first class citizen.
Furthermore Cargo plugin fully supports pu packaging type which makes integration tests as part of the lifecycle of your project feasible.
See following project for a sample on how to use both plugins.