1*7594170eSAndroid Build Coastguard Worker# CMD: Groups outgoing dependency edges by the differences in variants 2*7594170eSAndroid Build Coastguard Worker 3*7594170eSAndroid Build Coastguard Workerinclude "library"; 4*7594170eSAndroid Build Coastguard Worker 5*7594170eSAndroid Build Coastguard Worker# This filters out modules with "interesting" deps 6*7594170eSAndroid Build Coastguard Workerdef filterVariantTransitions: 7*7594170eSAndroid Build Coastguard Worker .[] | transformModuleReferences(emptyIfNull | removeLinkVariation | removeEmptyVariations) | 8*7594170eSAndroid Build Coastguard Worker filterMatchingDeps | select(.Deps | length > 0) | 9*7594170eSAndroid Build Coastguard Worker depDelta(.Variations) | depDelta(.DependencyVariations) | 10*7594170eSAndroid Build Coastguard Worker transformModule(flattenVariations) | 11*7594170eSAndroid Build Coastguard Worker deleteDependencyVariations | 12*7594170eSAndroid Build Coastguard Worker .Deps |= map(deleteDependencyVariations) | 13*7594170eSAndroid Build Coastguard Worker .Deps |= groupDeps 14*7594170eSAndroid Build Coastguard Worker; 15*7594170eSAndroid Build Coastguard Worker 16*7594170eSAndroid Build Coastguard Worker[filterVariantTransitions] | sort_by(.Name) | sort_by(.Type) | .[] 17