Grouper currently has no facility to manage third party library dependencies. Various JARs exist in the codebase itself that are pulled together via build scripts to execute compilation, packaging and deployment tasks. This approach has a number of drawbacks:
- Difficult to upgrade a JAR, should a new version be required
- Difficult to add new capabilities to Grouper which may depend on new JARs
- Grouper codebase size is dramatically increased
We would want to devise a strategy by which such third party libraries can be pulled from public artifact repositories and integrated with the build. The following dependency management solutions may be considered.
Apache Ivy
sddd
Apache Maven
dddd
Gradle/Grape
aaa