Hi,

I've been working with Oleg Gusakov to make the necessary alterations for graph-first based dependency resolution and here are some pictures we've come up with so far.

This is of the completely unadulterated tree with no scope transitioning, conflict resolution, or transformation:

http://people.apache.org/~jvanzyl/g1.png (root at the centre with an organic layout)

Another view:

http://people.apache.org/~jvanzyl/g2.png (node with most deps at centre, using a circular layout)

What you see in green are nodes with the same groupId, and artifactId so it gives you some idea of how conflict resolution may need to occur. In this tree we have all the depth information, source information and anything else to make an informed decision because we still have all the information at this point.

Next we have the transformation of the tree into a graph and we've not done much here yet, we're just doing a simple collapsing into a single node for each groupId, artifactId:

http://people.apache.org/~jvanzyl/g3.png (circular layout with test scope edges in light blue)

and

http://people.apache.org/~jvanzyl/g4.png (hierachic layout or moen where the test scope edges are easier to see)

This is just some food for thought, but what we are planning to do is show the difference (visually) between what is currently happening and what should happen. Depth information is being lost and without the original tree up front I'm seeing it being very hard to get accurate information. That picture is of maven-core BTW.

We're using yFiles from yWorks to do the rendering and it is simply the best graph tool their is. Oleg's son is actually trying to make something equivalent in Eclipse using Zest. So I'm going to integrate this graphing into IDEA and we'll be making a little stand-alone tool for people to play around with. We just need to figure out obfuscating the yFiles JAR before deploying it. What I intend instead of rambling on ad nauseam about why I think the current mechanism doesn't work I'll just show you. We're currently trying to figure out how to display the mechanism of the old/new in side by side windows as the resolution is happening to demonstrate the differences visually. We are dealing with 1000+ projects here, where we have to make 150 different deliverables and things must be unequivocally accurate including snapshots. Anyone some pictures to think about. More to come this week.

Thanks,

Jason

----------------------------------------------------------
Jason van Zyl
Founder,  Apache Maven
jason at sonatype dot com
----------------------------------------------------------




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

Reply via email to