This has been fixed. The problem was that the MetadataSource was pulling back cached models that had not been properly interpolated.
Removing the caching was not sufficient, as the main purpose of the cache is to ensure files discovered inside the reactor are re-used instead of their repository counterparts. I took the opportunity to do some refactoring, pushing the artifact resolution into the project builder, and generally clean up in there without changing the interface or breaking the tests. I found a lot of stuff dropping off as it got simpler, and I have a feeling there is still more to do which has been commented in there. Generally, it doesn't appear there is a need to actually construct project elements for the parents - just models - during the assembly. But that's a bit more risky so I've postponed it. - Brett John Casey wrote: >I just uncovered a problem which is surely present in the current binary >bundles of m2. It has to do with projects that depend on poms which >utilize interpolation or managed dependencies... > >When such a project exists, the first plugin that resolves dependencies >will retrieve the correct and complete POM for each dependency, with >interpolation and managed deps included. HOWEVER, this first resolution >process will result in the models being incorrectly cached in the >project builder (cached before they are interpolated or have defaults >injected), which means that each subsequent plugin that uses a cached >model which utilizes these features will get a "raw" version of the >model; that is, with none of these higher-level features included. > >As an interim solution, I have disabled cached-model retrieval from the >MavenMetadataSource. While this may slow m2 down a bit (since it will >have to build the models every time), it will at least provide correct >results until we have the time to address this error properly. > >We need to generate new binary bundles for m2 as a result of these changes. > >Regards, > >john > > > >
