Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[buckminster-dev] Succesive resolutions again...

Hi,
 
I found one more problem in succesive resolution calls.
 
Let's say that we have 2 resolvers/rmaps for resolution of our well known component buckminster.test.simple_d.
 
RMAP1 is able to resolve the component buckminster.test.simple_c
 
RMAP2 is able to resolve components buckminster.test.simple_a, buckminster.test.simple_b and buckminster.test.simple_d
 
The first resolution on RMAP1 doesn't resolve anything (there is no search path for simple_d)
The second resolution on RMAP2 resolves simple_d, its dependencies, then simple_a and simple_b, but simple_c remains unresolved since there is no search path for simple_c
The third resolution on RMAP1 again should resolve the last remaining component, i.e. simple_c - it has the desired search path this time
 
Using the latest BM, the third resolution does nothing and the BOM remains unresolved.
 
Quick fix: Comment out lines #272 and #273 in ResolverNode.java. This condition returns false when checking the top node simple_d, but it should not - the component simple_d misses resolution of the component simple_c.
 
synchronized(this)
{
//if(isResolved())
// return false;
 
boolean didSchedule = false;
 
I suppose that the top node should not be marked as resolved if any of its component remains unresolved. The above mentioned quick fix just illustrates the situation.
 
Regards
  Filip Hrbek
 

Back to the top