diff --git a/package/build_boards_manager_package.sh b/package/build_boards_manager_package.sh index c7c511b75d..e18ededfc3 100755 --- a/package/build_boards_manager_package.sh +++ b/package/build_boards_manager_package.sh @@ -156,7 +156,7 @@ new_json=package_esp8266com_index.json set +e # Merge the old and new, then drop any obsolete package versions -python ../../merge_packages.py $new_json $old_json | python ../../drop_versions.py - platforms 1.6.5-947-g39819f0 2.5.0-beta1 2.5.0-beta2 2.5.0-beta3 2.4.0-rc1 2.4.0-rc2 >tmp && mv tmp $new_json && rm $old_json +python ../../merge_packages.py $new_json $old_json | python ../../drop_versions.py - tools 1.20.0-26-gb404fb9 >tmp && mv tmp $new_json && rm $old_json # Verify the JSON file can be read, fail if it's not OK set -e diff --git a/package/drop_versions.py b/package/drop_versions.py index a3fe472959..a3aa9b288c 100755 --- a/package/drop_versions.py +++ b/package/drop_versions.py @@ -4,12 +4,13 @@ from __future__ import print_function import json import sys +from collections import OrderedDict def load_package(filename): if filename == "-": - pkg = json.load(sys.stdin)['packages'][0] + pkg = json.load(sys.stdin, object_pairs_hook=OrderedDict)['packages'][0] else: - pkg = json.load(open(filename))['packages'][0] + pkg = json.load(open(filename), object_pairs_hook=OrderedDict)['packages'][0] print("Loaded package {0} from {1}".format(pkg['name'], filename), file=sys.stderr) print("{0} platform(s), {1} tools".format(len(pkg['platforms']), len(pkg['tools'])), file=sys.stderr) return pkg