def ShowBuildVariantList(log: Log, generator: GeneratorPluginBase2) -> None: # This is kind of a hack to list this here (its also not a real variant inside our model) generatorVariants = [ variant for variant in generator.GetVariants() if variant.Type == BuildVariantType.Static ] if len(generatorVariants) <= 0: log.DoPrint("Build variants: None") return log.DoPrint("Build variants:") generatorVariants.sort(key=lambda s: s.Name.lower()) for variantInfo in generatorVariants: log.DoPrint( " {0}={1} (Introduced by native build system generator)".format( variantInfo.Name, variantInfo.Description))
def ShowVariantList(log: Log, topLevelPackage: Package, requestedFiles: Optional[List[str]], generator: GeneratorPluginBase2) -> None: variantDict = BuildVariantUtil.BuildCompleteVariantDict(topLevelPackage) # This is kind of a hack to list this here (its also not a real variant inside our model) generatorVariants = generator.GetVariants() if len(variantDict) <= 0 and len(generatorVariants) <= 0: log.DoPrint("Variants: None") return # Pretty print useful information log.DoPrint("Variants:") generatorVariants.sort(key=lambda s: s.Name.lower()) for variantInfo in generatorVariants: if variantInfo.Type == BuildVariantType.Static: log.DoPrint( " {0}={1} (Introduced by native build system generator)". format(variantInfo.Name, variantInfo.Description)) else: log.DoPrint(" {0}={1} (Introduced by native build system)".format( variantInfo.Name, variantInfo.Description)) variantNames = list(variantDict.keys()) variantNames.sort() for variantName in variantNames: variant = variantDict[variantName] optionNames = list(variant.OptionDict.keys()) optionNames.sort() if variant.Type == VariantType.Virtual: log.DoPrint( " {0}={1} *Virtual* (Introduced by package: {2})".format( variant.PurifiedName, ', '.join(optionNames), variant.IntroducedByPackageName)) else: log.DoPrint((" {0}={1} (Introduced by package: {2})".format( variant.PurifiedName, ', '.join(optionNames), variant.IntroducedByPackageName)))