build-recipe-list: improvements

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Ross Burton 2018-03-12 16:37:47 +00:00 committed by Richard Purdie
parent 8f26f62471
commit 2e86184de2

View File

@ -20,15 +20,27 @@ import argparse
__version__ = "0.1.0" __version__ = "0.1.0"
recipenames = [] # set of BPNs
allrecipes = [] recipenames = set()
# map of recipe -> data
allrecipes = {}
def make_bpn(recipe):
prefixes = ("nativesdk-",)
suffixes = ("-native", "-cross", "-initial", "-intermediate", "-crosssdk", "-cross-canadian")
for ix in prefixes + suffixes:
if ix in recipe:
recipe = recipe.replace(ix, "")
return recipe
def gather_recipes(rows): def gather_recipes(rows):
# store the data into the array
for row in rows: for row in rows:
if row[0] not in recipenames: recipe = row[0]
recipenames.append(row[0]) bpn = make_bpn(recipe)
allrecipes.append(row) if bpn not in recipenames:
recipenames.add(bpn)
if recipe not in allrecipes:
allrecipes[recipe] = row
def generate_recipe_list(): def generate_recipe_list():
# machine list # machine list
@ -60,8 +72,8 @@ def generate_recipe_list():
print("file : recipe-list.txt is created with %d entries." % len(recipenames)) print("file : recipe-list.txt is created with %d entries." % len(recipenames))
with open('all-recipe-list.txt', 'w') as f: with open('all-recipe-list.txt', 'w') as f:
for recipe in sorted(allrecipes): for recipe, row in sorted(allrecipes.items()):
f.write("%s\n" % ','.join([str(data) for data in recipe])) f.write("%s\n" % ','.join(row))
def diff_for_new_recipes(recipe1, recipe2): def diff_for_new_recipes(recipe1, recipe2):