Motivation:

Get nightly site and javadoc builds

Contact:

Martin Desruisseaux, Cédric Briançon

Tracker:

GEOT-995

Attachment:

none

Proposal Complete.

The modules have now been renamed. Jars often start with 'gt-' as in 'gt-main'.

Description

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 <scm> or <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:

<build>
  <finalName>gt-${artifactId}-${version}</finalName>
</build>

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 pom.xml:

<build>
  <plugins>
    <plugin>
      <groupId>org.geotools.maven</groupId>
      <artifactId>jar-collector</artifactId>
      <version>2.5-SNAPSHOT</version>
      <executions>
        <execution>
          <goals>
            <goal>collect</goal>
          </goals>
        </execution>
      </executions>
    </plugin>
  </plugins>
</build>

Original proposal

Pros

Cons

Alternative proposal

Because only leaves produce JAR, it doesn't matter if the parents are not prefixed.

Pros:

Cons: