The reason the two resolvers order things differently is that they only obey the dependency contract and not some other random contract that you might think they obey.

If A depends on B, then B will be processed before A. If B depends on C, then C will be processed before B.

There are no other rules. So the resolvers are free to order things however they want as long as those rules are followed.

When you say,

"Maven's not going to figure out the package dependency graph of my projects."

Why not? Have you placed the inter project dependencies properly?

Scott Stirling wrote:

Has anyone looked at how the reactor (depending (no pun intended) on which DependencyResolver one uses) decides to order the processing of multiple project.xml's?

What's the algorithm for how dependencies affect build order across multiple projects? I don't think I'll be able to figure it out without reading the source code.

Here's one big difference -- the two DependencyResolvers order things completely differently:

Z:\Platform\platform>maven -
Dmaven.core.dependencyresolver=org.apache.maven.jelly.tags.maven.GraphDependency
Resolver
[snip ASCII art]
Starting the reactor...
Our processing order:
Platform kernel user component
Platform Weblogic 7 component
Platform Data Integration component
Platform Workflow component
Platform Webflow Component
Platform User Interface Services component
Platform kernel system component
Platform Web Services component


And here's the default resolver's ordering of the same project.xml files:


Z:\Platform\platform>maven
[snip ASCII art]
Starting the reactor...
Our processing order:
Platform Webflow Component
Platform Workflow component
Platform kernel system component
Platform kernel user component
Platform Weblogic 7 component
Platform User Interface Services component
Platform Data Integration component
Platform Web Services component

That's one thing -- more annoying is that changing the order in which dependencies are declared in the <dependencies> element affects the order in which the GraphDependencyResolver processes projects.

Can anyone shed some light on this? What I'm looking for is the simple kind of declarative depends functionality provided in Ant as <target depends="target1, target2, target3">, except the dependency is between projects, not targets. Ideally I would specify the processing order, not Maven; Maven's not going to figure out the package dependency graph of my projects.

Thanks,
Scott Stirling
Framingham, MA

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







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



Reply via email to