Lines 2330-2336
Link Here
|
2330 |
break |
2330 |
break |
2331 |
ignore_priority_soft_range = [None] |
2331 |
ignore_priority_soft_range = [None] |
2332 |
ignore_priority_soft_range.extend( |
2332 |
ignore_priority_soft_range.extend( |
2333 |
xrange(DepPriority.MIN, DepPriority.SOFT + 1)) |
2333 |
xrange(DepPriority.MIN, DepPriority.MEDIUM_SOFT + 1)) |
2334 |
tree_mode = "--tree" in self.myopts |
2334 |
tree_mode = "--tree" in self.myopts |
2335 |
# Tracks whether or not the current iteration should prefer asap_nodes |
2335 |
# Tracks whether or not the current iteration should prefer asap_nodes |
2336 |
# if available. This is set to False when the previous iteration |
2336 |
# if available. This is set to False when the previous iteration |
Lines 2359-2364
Link Here
|
2359 |
|
2359 |
|
2360 |
while not mygraph.empty(): |
2360 |
while not mygraph.empty(): |
2361 |
selected_nodes = None |
2361 |
selected_nodes = None |
|
|
2362 |
ignore_priority = None |
2362 |
if prefer_asap and asap_nodes: |
2363 |
if prefer_asap and asap_nodes: |
2363 |
"""ASAP nodes are merged before their soft deps.""" |
2364 |
"""ASAP nodes are merged before their soft deps.""" |
2364 |
asap_nodes = [node for node in asap_nodes \ |
2365 |
asap_nodes = [node for node in asap_nodes \ |
Lines 2450-2474
Link Here
|
2450 |
accept_root_node = True |
2452 |
accept_root_node = True |
2451 |
continue |
2453 |
continue |
2452 |
|
2454 |
|
2453 |
if selected_nodes and ignore_priority > DepPriority.SOFT: |
2455 |
if selected_nodes and ignore_priority > DepPriority.SOFT: |
2454 |
# Try to merge ignored medium deps as soon as possible. |
2456 |
# Try to merge ignored medium deps as soon as possible. |
2455 |
for node in selected_nodes: |
2457 |
for node in selected_nodes: |
2456 |
children = set(mygraph.child_nodes(node)) |
2458 |
children = set(mygraph.child_nodes(node)) |
2457 |
soft = children.difference( |
2459 |
soft = children.difference( |
2458 |
mygraph.child_nodes(node, |
2460 |
mygraph.child_nodes(node, |
2459 |
ignore_priority=DepPriority.SOFT)) |
2461 |
ignore_priority=DepPriority.SOFT)) |
2460 |
medium_soft = children.difference( |
2462 |
medium_soft = children.difference( |
2461 |
mygraph.child_nodes(node, |
2463 |
mygraph.child_nodes(node, |
2462 |
ignore_priority=DepPriority.MEDIUM_SOFT)) |
2464 |
ignore_priority=DepPriority.MEDIUM_SOFT)) |
2463 |
medium_soft.difference_update(soft) |
2465 |
medium_soft.difference_update(soft) |
2464 |
for child in medium_soft: |
2466 |
for child in medium_soft: |
2465 |
if child in selected_nodes: |
2467 |
if child in selected_nodes: |
2466 |
continue |
2468 |
continue |
2467 |
if child in asap_nodes: |
2469 |
if child in asap_nodes: |
2468 |
continue |
2470 |
continue |
2469 |
# TODO: Try harder to make these nodes get |
2471 |
asap_nodes.append(child) |
2470 |
# merged absolutely as soon as possible. |
|
|
2471 |
asap_nodes.append(child) |
2472 |
|
2472 |
|
2473 |
if not selected_nodes: |
2473 |
if not selected_nodes: |
2474 |
if not myblockers.is_empty(): |
2474 |
if not myblockers.is_empty(): |