[Geoserver-devel] reworking geotools.jar

So as geoserver moves towards greater developer collaboration people have
been asking me for awhile now how to make the geotools.jar. Up until now
it's been a very hacky process, of simply living on my computer, updating
when needed. The problem is that this makes it very difficult for others
to modify classes in geotools and easily roll them into geoserver.

The direction I'd like to go, if no one is against it, is to use maven.
James Macgill has done some initial work on this front, and it looks
promising, but a few issues need to be resolved. We can build, but tests
aren't passing, and most of the more useful ant tasks aren't available.
So I'd like to get that all up to speed, along with a good process for
dealing with geotools jars, before we make that switch.

This morning, however, I did some initial work that should make things
easier for developers.

First, I tagged geotools with a geoserver-cvs tag. My intention is that
all developers will move this tag forward (cvs tag -F geoserver-cvs) as
they develop in geotools, so that all may pick up the changes. For now
it's just everything in the modules needed to make geoserver run.
Eventually I'd like to figure out exactly which classes geoserver needs
and tag only those, but this should suffice for now. When we make the
next release of GeoServer we will tag geotools with that release tag, so
that developers can get geotools with the exact files that were used to
build the release of GeoServer.

I've also added a special build to geotools, so that now in the geotools2
root directory you can just type 'maven coreJar', and a geotools.jar will
be built in geotools2/target. This _must_ only be run after a full build,
or else it will be an empty jar. I didn't make it a required
prerequisite, run automatically, because then you'd have to sit through a
full build if you only modified one file. The geotools.jar currently
builds core, data, defaultcore, filter, cts-coordtrans, gcs-coverage,
lite-rendering, resources, and sldstyling. The datasource jars must be
added seperately. Currently in the wms-merge branch of cvs there is the
geotools.jar made from 'maven coreJar', along with snapshot jars of
Postgis, ArcSDE and Oracle. Once shapefile implements the new DataStore
style stuff in geoserver we can add that as well. Keeping the data jars
seperate makes it easier to swap them in and out. The coreJar may change,
as I made it pretty geoserver specific, just the jars we need, so geotools
developers may want it to be a bit different. The hope is to make it
configurable in build.properties as to which modules you want included in
your geotools.jar

For now these changes are just on the wms-merge branch, as that's where
most all development is going. By 1.1 we shall get it all on to head.

So yes, if you're developing for geoserver, use the tags in geotools cvs,
and once you tag update the jars in cvs, so that everyone is in sync. If
this doesn't make sense then just send an email.

  Chris

Hi,

I just want to say that I'm thrilled with GeoServer. I've been using it
as a WFS server product during my development of a web-mapping client
that uses OpenGIS services. With the latest performance enhancements
(including some not yet released) and support for GEOS in PostGIS,
GeoServer really rocks. I've pushed it very hard, and found that it
handles the even the most complex requests properly and very, very
quickly.

I've set up a couple of example sites that show GeoServer in action. I
invite you to have a look. Comments or questions are welcome.

WFS transactional editing example:
http://www.moximedia.com:8080/imf-ows/imf.jsp?site=edit

WFS query selection example:
http://www.moximedia.com:8080/imf-ows/imf.jsp?site=wfswygisc

Both of these examples use a combination of WMS and WFS services, and
use MapServer for the WMS and GeoServer for the WMS, both using a common
PostGIS data source. WMS is used to draw the maps, WFS is used for the
queries and transactions.

Congratulations to the GeoServer and GeoTools develoment team, and
thanks to Chris Holmes for his equally quick attention to the problems
that I reported and the dumb questions I asked.

I think that GeoTools is a fabulous WFS implementation with a very
bright future.

Sincerely,
Doug
--
Doug Cates
Moxi Media Inc.
757 - 1641 Lonsdale Avenue
North Vancouver, BC, Canada V7M 2J5
Phone: 604-984-8109
Fax: 604-608-4764
E-mail: doug@anonymised.com
Web: www.moximedia.com