in packages/aws-c2a/lib/cloud-assembly.ts [351:374]
function includeDownstreamStacks(
selectedStacks: Map<string, cxapi.CloudFormationStackArtifact>,
allStacks: Map<string, cxapi.CloudFormationStackArtifact>,
): void {
const added = new Array<string>();
let madeProgress;
do {
madeProgress = false;
for (const [id, stack] of allStacks) {
// Select this stack if it's not selected yet AND it depends on a stack that's in the selected set
if (!selectedStacks.has(id) && (stack.dependencies || []).some(dep => selectedStacks.has(dep.id))) {
selectedStacks.set(id, stack);
added.push(id);
madeProgress = true;
}
}
} while (madeProgress);
if (added.length > 0) {
print(`Including depending stacks: ${added.join(', ')}`);
}
}