diff -r c9e3cfbbe4ad -r 1a58b78a8f99 src/pyams_utils/site.py --- a/src/pyams_utils/site.py Thu Mar 08 09:13:06 2018 +0100 +++ b/src/pyams_utils/site.py Sat Mar 10 01:58:45 2018 +0100 @@ -131,11 +131,14 @@ generations = annotations.get(SITE_GENERATIONS_KEY) if generations is None: generations = annotations[SITE_GENERATIONS_KEY] = PersistentDict() - for name, utility in get_utilities_for(ISiteGenerations): + for name, utility in sorted(get_utilities_for(ISiteGenerations), + key=lambda x: x[1].order): if not name: name = '.'.join((utility.__module__, utility.__class__.__name__)) current = generations.get(name) - if (not current) or (current < utility.generation): + if not current: + print("Upgrading {0} to generation {1}...".format(name, utility.generation)) + elif current < utility.generation: print("Upgrading {0} from generation {1} to {2}...".format(name, current, utility.generation)) utility.evolve(application, current) generations[name] = utility.generation