Frank Warmerdam wrote:
Perhaps you could provide some more general information on what role Maven plays, and what sort of resources and complexity would be involved in OSGeo doing what you suggest.
Maven is a build tool that takes a different approach than Ant (or Make). Rather than document a series of steps saying how to "build" or "compile" it provides a description of the project (saying the java source code is here, the documentation is here, the developer email address is this etc...) in the form a "pom" file (for project object model).

Maven then makes uses of a whole bunch of scripts (downloadable from the web at runtime) to perform tasks based on the description; tasks like compiling, building javadocs, running tests, creating a jar and so on. It can even make a website publishing all the reports...

Here are some reports for gt-main:
- http://maven.geotools.fr/reports/modules/library/main/project-reports.html

One of the most important things a pom file says is what other projects the code needs; these are provided in the form of dependencies...here is part of the GeoTools pom.xml:
      <dependency>
        <groupId>com.vividsolutions</groupId>
        <artifactId>jts</artifactId>
        <version>1.9</version>
      </dependency>
This block of xml says that geotools needs JTS version 1.9 in order to compile and run. When building maven will download JTS from a remote repository (the website Paul would like to set up) and store the result in a local repository on the users hard drive.

Here are the dependencies for gt-main:
- http://maven.geotools.fr/reports/modules/library/main/dependencies.html

So a maven repository is a like an FTP site for downloading artifacts combined with a bunch of pom.xml xml files document what versions are available and how the artifacts fit together.

There are websites devoted to finding this stuff out:
- http://maven.ozacc.com/
- http://mvnrepository.com/
These websites let you search repositories for published java projects and provide you the xml fragment needed to depend on them.

Here is a repository we maintain for GeoTools development, we have a mirror in france:
- http://lists.refractions.net/m2/
- http://maven.geotools.fr/repository/
Generally speaking, I think we would be ok with doing this if it was useful for the various Java projects but someone would need to step forward to do the work.
This would be very useful.
Such a service would be setup and administered by SAC - the OSGeo System Administration Committee.
We have set ours up as a webdav folder; maven has the ability to "deploy" jars from the various development teams to a webdav folder. It can also deploy artifacts via various other protocols - here is a list:
- http://maven.apache.org/wagon/

There are several tools you can use to manage a repository - here is a list:
- http://maven.apache.org/repository-management.html

We have so far not needed to use a tool; a simple webdav folder has been sufficient.
Jody
_______________________________________________
Discuss mailing list
Discuss@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/discuss

Reply via email to