[Geoserver-devel] MVN snapshots and breaking the whole "delta" concept

Every day we seem to build all modules from scratch - regardless of
whether they have changed - which seems to mean you have to either do
a full mvn install orust as bad, a full download every day you make a
change.

In particular, you cant just build a module you care about and then be
alerted its dependencies have changed because there is a new mvn
artefact - everything is new and you have to do a full svn update
first really to scan for changes.

This seems to be making a mockery of both automated build and change
control concepts. It may suit a couple of developers with stable
access who work full time on this stuff, buts its a major PITA for
anyone else I suspect. Is it possible to use the logic of build
systems to only publish updates when there is in fact an update? Or is
there an inherent fragility in our setup that this is the only way we
can make it work?

Rob A

I share your pain Rob every time I build geoserver for the first time of the day and it tries to download all the new geotools artifacts. I don't know if there is a way to tell maven to upload a new version of an artifact only if its changed...

One thing we could do is swap out our nightly deploy process for a hudson configuration which is set up to build and every single module in separation only when a change to it occurs. The problem with this approach is that geotools is literally 80+ modules. Good luck trying to find someone with the patience to set that up.

-Justin

Rob Atkinson wrote:

Every day we seem to build all modules from scratch - regardless of
whether they have changed - which seems to mean you have to either do
a full mvn install orust as bad, a full download every day you make a
change.

In particular, you cant just build a module you care about and then be
alerted its dependencies have changed because there is a new mvn
artefact - everything is new and you have to do a full svn update
first really to scan for changes.

This seems to be making a mockery of both automated build and change
control concepts. It may suit a couple of developers with stable
access who work full time on this stuff, buts its a major PITA for
anyone else I suspect. Is it possible to use the logic of build
systems to only publish updates when there is in fact an update? Or is
there an inherent fragility in our setup that this is the only way we
can make it work?

Rob A

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

--
Justin Deoliveira
OpenGeo - http://opengeo.org
Enterprise support for open source geospatial.

Justin Deoliveira ha scritto:

I share your pain Rob every time I build geoserver for the first time of the day and it tries to download all the new geotools artifacts. I don't know if there is a way to tell maven to upload a new version of an artifact only if its changed...

...

-Justin

Rob Atkinson wrote:

Every day we seem to build all modules from scratch - regardless of
whether they have changed - which seems to mean you have to either do
a full mvn install orust as bad, a full download every day you make a
change.

That's what I do indeed, every morning I setup 4 terminals, and run
svn up && mvn clean install -Dall
in the first two with GeoTools 2.5.x and trunk, and in the last two with
the two GeoServer branches we work on (doing only svn up).
And then... I go have breakfast :wink:

Cheers
Andrea

--
Andrea Aime
OpenGeo - http://opengeo.org
Expert service straight from the developers.

Rob Atkinson ha scritto:
...

This seems to be making a mockery of both automated build and change
control concepts. It may suit a couple of developers with stable
access who work full time on this stuff, buts its a major PITA for
anyone else I suspect. Is it possible to use the logic of build
systems to only publish updates when there is in fact an update? Or is
there an inherent fragility in our setup that this is the only way we
can make it work?

I see two problems:
- when you modify a module in GeoTools you have to at least rebuild
   all the dependent modules as well
- GeoServer wise, we have SNAPSHOT dependencies towards GeoTools because
   most of the bug fixing happens really there, so it's never possible
   to use a stable release of GeoTools

Soo... I don't know. I can't think of a good way to stamp a GT2
module so that it's possible to tell when it was modified, and
when it's not.

Cheers
Andrea

--
Andrea Aime
OpenGeo - http://opengeo.org
Expert service straight from the developers.