I thought we could simple do a standard reactor build (the thing that executes maven for each sub-module) with a do nothing target such as build:start. This would cause maven to download the dependencies or each module but would not execute anything. The problem is maven would attempt to download all intermodule dependencies (i.e., all geronimo, openejb, tranql, activmq and howl jars).
I think the best approach would be to transform our version-info.ent file into a project.xml file that only had the external dependencies. Then we would just execute it with maven and viola all the dependencies would download. Anyway, it is a bunch of work, so I won't be able to get to it for a while.
-dain
On Oct 7, 2004, at 7:21 AM, Aaron Mulder wrote:
Yuo might be interested in GERONIMO-364 in JIRA -- which is to
provide a build target to do all the downloads in one shot so the rest of
the build can be run quickly in offline mode. Dain was going to look into
it in his copious free time... :)
Aaron
On Fri, 8 Oct 2004 [EMAIL PROTECTED] wrote:It worked for me... but..
A bit off topic, as my problems don't have anything to do with Dain's changes, but I have some questions on the build processing.
I tried the following (without cleaning my repository but with an empty
geronimo directory):
maven m:co maven m:build
I then got impatient because it was attempting to download artifacts from
ibiblio over and over and also started running tests, so I cancelled the
build and tried:
maven m:build -o
This then failed because I didn't have the correct version of the jetty
jar in my repository.
So I then tried
maven m:build -Dmaven.test.skip=true -Dmaven.itest.skip=true
and the build was getting plenty of timeout or connection reset errors (something between ibiblio and myself having problems, as the ibiblio website was timing out often also):
Attempting to download openejb-core-2.0-SNAPSHOT.jar.
Error retrieving artifact from [
http://www.ibiblio.org/maven/openejb/jars/openejb-core-2.0- SNAPSHOT.jar]:
java.net.ConnectException: Connection timed out: connect
and the build finally completed in the lightening fast time of:
BUILD SUCCESSFUL Total time: 54 minutes 35 seconds Finished at: Thu Oct 07 22:02:19 EST 2004
A few questions...
If I want to do a build of Geronimo and related projects (ActiveMQ, OpenEJB, TranQL) the first two steps sound right to me: maven m:co maven m:build
But when I build Geronimo (using maven m:build) I think I only want it to
attempt to download dependencies (e.g. jetty, tomcat, xerces) from the
maven central repository (ibiblio) and not keep attempting to download JAR
files for geronimo (the code I am building) such as
geronimo-system-1.0-SNAPSHOT.jar.
Is there some chicken and egg situation as to why the code needs to
download the geronimo SNAPSHOT jars when building geronimo? If not, is
there a way we can prevent the build from downloading the geronimo
SNAPSHOT jars, but download the other dependencies such as jetty?
If we have a situation where the build is broken, is there an easy way to
build Geronimo using all the versions of the files (svn and CVS) of the
last successful nightly build? Am I dreaming :-) ?
Thanks,
John
Dain Sundstrom <[EMAIL PROTECTED]> wrote on 10/06/2004 12:53:43 PM:
I have rewritten our multiproject build to add support for windows.
The new goals all start with m: so as to not disrupt our current stuff.
Assuming everyone is happy, I would like to remove the current
multiproject and reactor goals (and drop the m: prefix). This is only
a proposal, so if people don't like it I can just delete or refactor
the goals.
Before I get to the new goals, there are a few weirdism. I disabled
the activemq tests as they take for ever (like 30 minutes) and
eventually fail. This is a hard coded disable, as maven 1 would not
let me do it in a more elegant way. I also disabled the openejb itests
as they fail every time. This failure is due to something outside of
the multiproject build (i.e. it happens in standalone openejb). I also
had to disable the geronimo itests as they use some artifacts from the
openejb itests. Hopefully these problems can be worked out and all of
the test reenabled. I have verified that the current goals work on Mac
OS X and Windows. Anyway, on the the new goals....
The main goals for the new multiproject build are:
m:default or m:build Executes default build for all available project modules
m:clean Deletes the 'target' directory in all available project modules
m:clean-repo
Deletes the local repository artifacts of ActiveMQ, Geronimo, HOWL,
OpenEJB, and TranQL. NOTE: This may cause problem is you do not have the source for the all of the other projects available.
m:rebuild Same as m:clean m:default
m:rebuild-all Same as m:clean m:clean-repo m:default and it includes geronimo-spec modules
m:checkout or m:co Checks out ActiveMQ, HOWL, OpenEJB, and TranQL
m:update
Updates ActiveMQ, Geronimo, HOWL, OpenEJB, and TranQL from cvs/svn
HEAD
m:fresh-checkout
BE CAREFUL: Deletes checkout of ActiveMQ, HOWL, OpenEJB, and TranQL
and checks them out again
In addition to the above we support a -Dmodules command line option
which is a comma separated list of module names (ie. common, core, ...)
-dain
-- Dain Sundstrom Chief Architect Gluecode Software 310.536.8355, ext. 26
