Details
-
Bug
-
Status: Closed
-
Critical
-
Resolution: Fixed
-
1.0.0-incubating
-
Apache Geode in Maven or Gradle-based applications.
-
1.0.0-incubating.M3
Description
This JIRA is a followup to GEODE-23 to note the additional issues that are considered "out-of-scope" for GEODE-23, yet need to be fixed, none-the-less.
Specifically, the changes include...
1. The <repositories> declarations need to be cleaned up (reduced). Technically, Apache Geode should only require...
<repositories> <repository> <id>gemstone-release</id> <name>GemStone Maven RELEASE Repository</name> <url>http://dist.gemstone.com/maven/release</url> <snapshots> <enabled>true</enabled> <updatePolicy>always</updatePolicy> </snapshots> </repository> <repository> <id>libs-release</id> <name>Spring Maven libs-release Repository</name> <url>http://repo.spring.io/libs-release</url> </repository> </repositories>
For instance, the "obscure" jline-1.0.S2-B.jar dependency is "resolvable" from, for instance...
http://repo.spring.io/libs-release/net/sourceforge/jline/jline/1.0.S2-B/jline-1.0.S2-B.jar
NOTE: by default, and unlike Gradle, Maven searches "Maven Central".
2. Add proper "scopes", "optional" settings and "exclusions" to the
dependencies declared in the POM.
3. Many of the "explicitly" declared dependencies (e.g. spring-beans) need
to be removed; Maven will resolve dependencies transitively.
As an example, Apache Geode's Maven POM file should be very similar to the Pivotal GemFire Maven POM file, as recently updated and validated for GemFire 8.2 (see attached gemfire-8.2.0.pom file for further details and reference). This is particularly important where Apache Geode and Pivotal GemFire intersect.
There maybe other issues with the POM file that need to be included within the "scope" of this bug as well and should be included as such, otherwise this JIRA should not be marked "complete".