xref: /aosp_15_r20/build/bazel/json_module_graph/variantTransitions.jq (revision 7594170e27e0732bc44b93d1440d87a54b6ffe7c)
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