On 7-Jul-08, at 10:19 AM, Ralph Goers wrote:
Jason van Zyl wrote:
On 7-Jul-08, at 3:29 AM, Ralph Goers wrote:
Maybe this won't strike you as strange but it did me. I ran a mvn
install on a project using 2.0.9. In the course of that maven-
project-2.0, maven-project-2.0.6, maven-2.0.7, and maven-
project-2.0.9 were downloaded, installed into the local repo and
then used in the build. As you would expect this is due to the use
of the various plugins used during the build. Knowing what I know
about maven I understand why this us. But the question remains,
doesn't this just seem wrong? Shouldn't maven 2.0.9 only use maven
2.0.9 jars?
Yes, it's wrong. It's become the metadata is not processed first
and then the artifacts selected. It's done incrementally along the
way which is wrong and inefficient. This is the whole crux of what
Oleg is working on with the new artifact resolution code. Metadata
analysis first, artifact retrieval second. What you are seeing will
not happen with the code.
How does Oleg's code fix this? The problem doesn't have to do with
how metadata is processed and then artifacts selected.
That's exactly what the problem is.
The problem is that nowhere are the plugins told that maven 2.0.9
jars should be used instead of whatever they specified.
That is exactly a metadata analysis problem. Look at everything that
might be used and make a selection. Not download everything and then
decide.
Instead, it appears there is some "special" code that checks for
maven jars and as a last step ignores artifacts that are already
part of the distribution. In other words, the metadata to correctly
resolve this isn't even present.
It's all part of looking at the metadata. All the stuff gets
downloaded and then there is an artifact filter which blocks all
artifacts that are in the distribution. If the metadata was pulled in
first. Then it could be compared with what is in the distribution,
along with any other calculations, and then what is actually required
to satisfy the session whether that be artifacts, plugins, or other
resources are retrieved.
Ralph
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
Thanks,
Jason
----------------------------------------------------------
Jason van Zyl
Founder, Apache Maven
jason at sonatype dot com
----------------------------------------------------------
A man enjoys his work when he understands the whole and when he
is responsible for the quality of the whole
-- Christopher Alexander, A Pattern Language
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]