Get nightly site and javadoc builds
The modules have now been renamed. Jars often start with 'gt-' as in 'gt-main'.
Maven behaves better when we stick to its default behavior. Among other it expects module names to match directory names. Previous module names have a
gt2- prefix in front of them, which isn't present in directory name. The consequence is broken URL in the generated web site. It is possible to workaround by providing explicitly
<url> elements in every
pom.xml files, but this is tedious, error-prone and we always end up with modules with wrong settings. Given the large amount of modules in GeoTools, less manual settings we have, better it will be.
However if we blindly remove
gt2- prefix in every module names, we get potential conflict in JAR names like GeoTools
h2-2.5-SNAPSHOT.jar with the
h2-1.0-SNAPSHOT.jar database driver: only the version number distinguish them, which is fragile. In order to keep some prefix in the JAR name, a possible approach is to use the
<finalName> element in
pom.xml like below:
However as of Maven 2.0.8, prefix specified that way are not propagated to the online repository and in the JAR downloaded by users. A custom plugin defined in GeoTools,
jar-collector, can take care of copying the JAR in a target directory with the right prefix. Every users (not just the ones building GeoTools) can get this flat directory providing they put the following in their own
- Remove the
gt2-prefix from all module names.
- Declare a prefix in
- The most straightforward module and directory names we can get.
- No redundancy between
<groupId>(the need to prefix
<groupId>suggests that something is not working with Maven model...)
- Gives us an opportunity to distinguish between library, plugin, etc. through different prefix (e.g.
- By default, JARs downloaded from Maven by users do not include the prefix, thus leading to potential JAR filename conflicts. The
jar-collectormentioned above solve those conflicts, but not every users will accept this non-standard plugins.
- Reinsert the
gt-prefix (without the
2character), but only for leaves (not for parent modules containing child modules).
- Insert the
gt-prefix in directory name as well. We would get for example
modules/library/gt-metadata(note that the
gt-prefix appears only once).
Because only leaves produce JAR, it doesn't matter if the parents are not prefixed.
- Remove the need for an explicit
<finalName>declaration, so we get a total matching between our naming scheme and Maven defaults.
- We can distinguish easily between modules that contains a JAR and modules that contains other modules, since only the former are prefixed by
- May be the less trouble-prone approach for a quiet future.
- Would force us to rename about 80 directories in GeoTools code base.
- Users will need to remount the GeoTools project in their IDE.
- More verbose directory names, e.g.
modules/library/gt-metadata, a little bit tedious for those who use a lot the command line.
- We lost the cabability to distinguish between library, plugins, etc. from the JAR filename.