> Not sure if i agree here. Why can the building of different artifacts
> not be parallelized if they completely don't depend on each other? If
> my build contains 1 war and 5 completely independent jars that are
> used in the war, why can those 5 jar artifacts not be built in
> parallel ? Sure enough, they can have shared dependencies, but with a
> good artifact download manager it should be trivial to detect
> downloads in progress. Is there another way how completely
> independent artifacts can influence each other, or am i missing
> something ? Why can't constructing an artifact be made an atomic task
> provided it has all required input available ?

It's that last line that I'll leave to the Maven people (I'm a user,
I might even be a power user, but I'm also a perforce administrator,
and the complete lack of atomicity in Maven has always bugged me :)
(and Maven:SCM plugin for perforce makes me shudder :)

Nigel's comment on the repo not being threadsafe is the only other thing
I can think to add at the moment.

> - threading the build output shouldn't be hard, especially if maven
> were to become less verbose. I would be really OK with just reading
> building module ABC.... OK building module DEF.... OK etc etc

I have "-e" turned on in Cruise Control because I find the maven
error messages far too difficult to decipher without more information.
We currently have a workaround preventing the "threaded output" you
describe from our cross platform build: I can't tell (for example) if
that line came from Linux or Solaris (if they're parallel building the
same code at the same time, but on different systems.)  So we do the
builds parallel then dump the output sequentially.  Ugly, Ugly, Ugly,
but I don't see any way to do threaded output the way Maven works now.

> - I don't see how handling a build failure would cause problems here,
> if an artifact fails to build then the build just stops after the
> completion of those tasks that ran parallel to the failed task. Heck,
> in that way you could even see multiple artifact failures in one
> build, great !

Sometimes you want --fail-at-end, sometimes you don't! :)
With maven parallel, you'd have it always.  I can't really express why,
but that bugs me for some reason :)

> - The dependency order should not fundamentally change with parallel
> artifact builds, or did you have a specific case in mind here ?

In our current system (where our parallel builds are done with multiple
OS combinations) we can have this:

Artifact A (Solaris) depends on jar A, B, and C (all -SNAPSHOT, so
they're downloaded and updated with every build)
Artifact A (Linux) has same dependencies.

building in parallel causes both to download at the same time and
install into the same location (NFS mounted home dir) which causes
the issues Nigel mentioned (the repository is NOT threadsafe)

I don't know how to make this work better, but with -SNAPSHOT
in particular it causes huge headaches if you're not paying attention :)

Dana

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to