diff options
author | asargent@chromium.org <asargent@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-06 23:32:06 +0000 |
---|---|---|
committer | asargent@chromium.org <asargent@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-06 23:32:06 +0000 |
commit | 22fdd46b51c43359ef4db95e499148a85ce371e2 (patch) | |
tree | 2b517c8e4f3438e860c2b4f53a48df75a9ff3c8c /chrome | |
parent | 54debb3137cc3561b441d5b1e41420128bd8433b (diff) | |
download | chromium_src-22fdd46b51c43359ef4db95e499148a85ce371e2.zip chromium_src-22fdd46b51c43359ef4db95e499148a85ce371e2.tar.gz chromium_src-22fdd46b51c43359ef4db95e499148a85ce371e2.tar.bz2 |
Make extension docs builder use a sorted walk.
Right now you can get spurious changes to .zip files because the order os.walk
returns directories and files in can differ from one checkout to another.
BUG=none
TEST=no more spurious zipfile changes
Review URL: http://codereview.chromium.org/3602020
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61731 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
42 files changed, 21 insertions, 5 deletions
diff --git a/chrome/common/extensions/docs/build/directory.py b/chrome/common/extensions/docs/build/directory.py index 22817cd..312e5ac 100644 --- a/chrome/common/extensions/docs/build/directory.py +++ b/chrome/common/extensions/docs/build/directory.py @@ -5,6 +5,7 @@ """Class for parsing metadata about extension samples.""" +import locale import os import os.path import re @@ -12,6 +13,21 @@ import hashlib import zipfile import simplejson as json +# Make sure we get consistent string sorting behavior by explicitly using the +# default C locale. +locale.setlocale(locale.LC_ALL, 'C') + +def sorted_walk(path): + """ A version of os.walk that yields results in order sorted by name. + + This is to prevent spurious docs changes due to os.walk returning items in a + filesystem dependent order (by inode creation time, etc). + """ + for base, dirs, files in os.walk(path): + dirs.sort() + files.sort() + yield base, dirs, files + def parse_json_file(path, encoding="utf-8"): """ Load the specified file and parse it as JSON. @@ -161,7 +177,7 @@ class SamplesManifest(object): A list of paths below base_path pointing at manifest.json files. """ manifest_paths = [] - for root, directories, files in os.walk(path): + for root, directories, files in sorted_walk(path): if 'manifest.json' in files: directories = [] # Don't go any further down this tree manifest_paths.append(os.path.join(root, 'manifest.json')) @@ -398,7 +414,7 @@ class Sample(dict): """ api_calls = set() extension_dir_path = os.path.dirname(self._manifest_path) - for root, dirs, files in os.walk(extension_dir_path): + for root, dirs, files in sorted_walk(extension_dir_path): for file in files: if file[-5:] == '.html' or file[-3:] == '.js': path = os.path.join(root, file) @@ -422,7 +438,7 @@ class Sample(dict): """ source_paths = [] base_path = os.path.realpath(os.path.dirname(self._manifest_path)) - for root, directories, files in os.walk(base_path): + for root, directories, files in sorted_walk(base_path): if '.svn' in directories: directories.remove('.svn') # Don't go into SVN metadata directories @@ -578,7 +594,7 @@ class Sample(dict): zip_file = zipfile.ZipFile(zip_path, 'w') try: - for root, dirs, files in os.walk(sample_path): + for root, dirs, files in sorted_walk(sample_path): if '.svn' in dirs: dirs.remove('.svn') for file in files: @@ -595,4 +611,4 @@ class Sample(dict): except RuntimeError, msg: raise Exception("Could not write zip at " % zip_path) finally: - zip_file.close()
\ No newline at end of file + zip_file.close() diff --git a/chrome/common/extensions/docs/examples/api/bookmarks/basic.zip b/chrome/common/extensions/docs/examples/api/bookmarks/basic.zip Binary files differindex 7460329..fddc7df 100644 --- a/chrome/common/extensions/docs/examples/api/bookmarks/basic.zip +++ b/chrome/common/extensions/docs/examples/api/bookmarks/basic.zip diff --git a/chrome/common/extensions/docs/examples/api/browserAction/make_page_red.zip b/chrome/common/extensions/docs/examples/api/browserAction/make_page_red.zip Binary files differindex ac58aa1..aab9498 100644 --- a/chrome/common/extensions/docs/examples/api/browserAction/make_page_red.zip +++ b/chrome/common/extensions/docs/examples/api/browserAction/make_page_red.zip diff --git a/chrome/common/extensions/docs/examples/api/browserAction/print.zip b/chrome/common/extensions/docs/examples/api/browserAction/print.zip Binary files differindex 95c9329..bf50d51 100644 --- a/chrome/common/extensions/docs/examples/api/browserAction/print.zip +++ b/chrome/common/extensions/docs/examples/api/browserAction/print.zip diff --git a/chrome/common/extensions/docs/examples/api/browserAction/set_icon_path.zip b/chrome/common/extensions/docs/examples/api/browserAction/set_icon_path.zip Binary files differindex f424d96..47b69c5 100644 --- a/chrome/common/extensions/docs/examples/api/browserAction/set_icon_path.zip +++ b/chrome/common/extensions/docs/examples/api/browserAction/set_icon_path.zip diff --git a/chrome/common/extensions/docs/examples/api/browserAction/set_page_color.zip b/chrome/common/extensions/docs/examples/api/browserAction/set_page_color.zip Binary files differindex e76e94b..9f2691f 100644 --- a/chrome/common/extensions/docs/examples/api/browserAction/set_page_color.zip +++ b/chrome/common/extensions/docs/examples/api/browserAction/set_page_color.zip diff --git a/chrome/common/extensions/docs/examples/api/contextMenus/basic.zip b/chrome/common/extensions/docs/examples/api/contextMenus/basic.zip Binary files differindex 443d83b..3e505f9 100644 --- a/chrome/common/extensions/docs/examples/api/contextMenus/basic.zip +++ b/chrome/common/extensions/docs/examples/api/contextMenus/basic.zip diff --git a/chrome/common/extensions/docs/examples/api/cookies.zip b/chrome/common/extensions/docs/examples/api/cookies.zip Binary files differindex edd8163..a02c566 100644 --- a/chrome/common/extensions/docs/examples/api/cookies.zip +++ b/chrome/common/extensions/docs/examples/api/cookies.zip diff --git a/chrome/common/extensions/docs/examples/api/history/showHistory.zip b/chrome/common/extensions/docs/examples/api/history/showHistory.zip Binary files differindex 970cf68..f347d0c 100644 --- a/chrome/common/extensions/docs/examples/api/history/showHistory.zip +++ b/chrome/common/extensions/docs/examples/api/history/showHistory.zip diff --git a/chrome/common/extensions/docs/examples/api/i18n/cld.zip b/chrome/common/extensions/docs/examples/api/i18n/cld.zip Binary files differindex f809b4b..5cf642454 100644 --- a/chrome/common/extensions/docs/examples/api/i18n/cld.zip +++ b/chrome/common/extensions/docs/examples/api/i18n/cld.zip diff --git a/chrome/common/extensions/docs/examples/api/i18n/getMessage.zip b/chrome/common/extensions/docs/examples/api/i18n/getMessage.zip Binary files differindex a67a0ae..9dab5b0 100644 --- a/chrome/common/extensions/docs/examples/api/i18n/getMessage.zip +++ b/chrome/common/extensions/docs/examples/api/i18n/getMessage.zip diff --git a/chrome/common/extensions/docs/examples/api/idle/idle_simple.zip b/chrome/common/extensions/docs/examples/api/idle/idle_simple.zip Binary files differindex ff33a9a..b8d1b1d 100644 --- a/chrome/common/extensions/docs/examples/api/idle/idle_simple.zip +++ b/chrome/common/extensions/docs/examples/api/idle/idle_simple.zip diff --git a/chrome/common/extensions/docs/examples/api/infobars/sandwichbar.zip b/chrome/common/extensions/docs/examples/api/infobars/sandwichbar.zip Binary files differindex 5a5c9f6..7961781e 100644 --- a/chrome/common/extensions/docs/examples/api/infobars/sandwichbar.zip +++ b/chrome/common/extensions/docs/examples/api/infobars/sandwichbar.zip diff --git a/chrome/common/extensions/docs/examples/api/messaging/timer.zip b/chrome/common/extensions/docs/examples/api/messaging/timer.zip Binary files differindex 8143322..6fbefab 100644 --- a/chrome/common/extensions/docs/examples/api/messaging/timer.zip +++ b/chrome/common/extensions/docs/examples/api/messaging/timer.zip diff --git a/chrome/common/extensions/docs/examples/api/notifications.zip b/chrome/common/extensions/docs/examples/api/notifications.zip Binary files differindex 2013295..dc3b72c 100644 --- a/chrome/common/extensions/docs/examples/api/notifications.zip +++ b/chrome/common/extensions/docs/examples/api/notifications.zip diff --git a/chrome/common/extensions/docs/examples/api/omnibox.zip b/chrome/common/extensions/docs/examples/api/omnibox.zip Binary files differindex fdebe41..58ba199 100644 --- a/chrome/common/extensions/docs/examples/api/omnibox.zip +++ b/chrome/common/extensions/docs/examples/api/omnibox.zip diff --git a/chrome/common/extensions/docs/examples/api/override/blank_ntp.zip b/chrome/common/extensions/docs/examples/api/override/blank_ntp.zip Binary files differindex ea5f6c7..08ccd58 100644 --- a/chrome/common/extensions/docs/examples/api/override/blank_ntp.zip +++ b/chrome/common/extensions/docs/examples/api/override/blank_ntp.zip diff --git a/chrome/common/extensions/docs/examples/api/override/override_igoogle.zip b/chrome/common/extensions/docs/examples/api/override/override_igoogle.zip Binary files differindex bdd90fd..daae5dc 100644 --- a/chrome/common/extensions/docs/examples/api/override/override_igoogle.zip +++ b/chrome/common/extensions/docs/examples/api/override/override_igoogle.zip diff --git a/chrome/common/extensions/docs/examples/api/pageAction/pageaction_by_content.zip b/chrome/common/extensions/docs/examples/api/pageAction/pageaction_by_content.zip Binary files differindex 714f749..2c172a7 100644 --- a/chrome/common/extensions/docs/examples/api/pageAction/pageaction_by_content.zip +++ b/chrome/common/extensions/docs/examples/api/pageAction/pageaction_by_content.zip diff --git a/chrome/common/extensions/docs/examples/api/pageAction/pageaction_by_url.zip b/chrome/common/extensions/docs/examples/api/pageAction/pageaction_by_url.zip Binary files differindex 25365b6..13e3ee3 100644 --- a/chrome/common/extensions/docs/examples/api/pageAction/pageaction_by_url.zip +++ b/chrome/common/extensions/docs/examples/api/pageAction/pageaction_by_url.zip diff --git a/chrome/common/extensions/docs/examples/api/pageAction/set_icon.zip b/chrome/common/extensions/docs/examples/api/pageAction/set_icon.zip Binary files differindex 9bd5927..c82a96c 100644 --- a/chrome/common/extensions/docs/examples/api/pageAction/set_icon.zip +++ b/chrome/common/extensions/docs/examples/api/pageAction/set_icon.zip diff --git a/chrome/common/extensions/docs/examples/api/processes/show_tabs.zip b/chrome/common/extensions/docs/examples/api/processes/show_tabs.zip Binary files differindex 08659d1..770b435 100644 --- a/chrome/common/extensions/docs/examples/api/processes/show_tabs.zip +++ b/chrome/common/extensions/docs/examples/api/processes/show_tabs.zip diff --git a/chrome/common/extensions/docs/examples/api/tabs/inspector.zip b/chrome/common/extensions/docs/examples/api/tabs/inspector.zip Binary files differindex 36a74ad..3041820 100644 --- a/chrome/common/extensions/docs/examples/api/tabs/inspector.zip +++ b/chrome/common/extensions/docs/examples/api/tabs/inspector.zip diff --git a/chrome/common/extensions/docs/examples/api/tabs/screenshot.zip b/chrome/common/extensions/docs/examples/api/tabs/screenshot.zip Binary files differindex 63c3cb6..2fac0cd 100644 --- a/chrome/common/extensions/docs/examples/api/tabs/screenshot.zip +++ b/chrome/common/extensions/docs/examples/api/tabs/screenshot.zip diff --git a/chrome/common/extensions/docs/examples/api/windows/merge_windows.zip b/chrome/common/extensions/docs/examples/api/windows/merge_windows.zip Binary files differindex 8614c06..8e39ff7 100644 --- a/chrome/common/extensions/docs/examples/api/windows/merge_windows.zip +++ b/chrome/common/extensions/docs/examples/api/windows/merge_windows.zip diff --git a/chrome/common/extensions/docs/examples/extensions/benchmark.zip b/chrome/common/extensions/docs/examples/extensions/benchmark.zip Binary files differindex 7249edd..af258d4 100644 --- a/chrome/common/extensions/docs/examples/extensions/benchmark.zip +++ b/chrome/common/extensions/docs/examples/extensions/benchmark.zip diff --git a/chrome/common/extensions/docs/examples/extensions/buildbot.zip b/chrome/common/extensions/docs/examples/extensions/buildbot.zip Binary files differindex 6be7c8b..1add723 100644 --- a/chrome/common/extensions/docs/examples/extensions/buildbot.zip +++ b/chrome/common/extensions/docs/examples/extensions/buildbot.zip diff --git a/chrome/common/extensions/docs/examples/extensions/chrome_search.zip b/chrome/common/extensions/docs/examples/extensions/chrome_search.zip Binary files differindex c861824..b5be659 100644 --- a/chrome/common/extensions/docs/examples/extensions/chrome_search.zip +++ b/chrome/common/extensions/docs/examples/extensions/chrome_search.zip diff --git a/chrome/common/extensions/docs/examples/extensions/email_this_page.zip b/chrome/common/extensions/docs/examples/extensions/email_this_page.zip Binary files differindex c5a48d8..7f325d8 100644 --- a/chrome/common/extensions/docs/examples/extensions/email_this_page.zip +++ b/chrome/common/extensions/docs/examples/extensions/email_this_page.zip diff --git a/chrome/common/extensions/docs/examples/extensions/fx.zip b/chrome/common/extensions/docs/examples/extensions/fx.zip Binary files differindex 7f5d8ba..1a3415f 100644 --- a/chrome/common/extensions/docs/examples/extensions/fx.zip +++ b/chrome/common/extensions/docs/examples/extensions/fx.zip diff --git a/chrome/common/extensions/docs/examples/extensions/gdocs.zip b/chrome/common/extensions/docs/examples/extensions/gdocs.zip Binary files differindex a965224..6019650 100644 --- a/chrome/common/extensions/docs/examples/extensions/gdocs.zip +++ b/chrome/common/extensions/docs/examples/extensions/gdocs.zip diff --git a/chrome/common/extensions/docs/examples/extensions/gmail.zip b/chrome/common/extensions/docs/examples/extensions/gmail.zip Binary files differindex 87d5be5..2d27d78 100644 --- a/chrome/common/extensions/docs/examples/extensions/gmail.zip +++ b/chrome/common/extensions/docs/examples/extensions/gmail.zip diff --git a/chrome/common/extensions/docs/examples/extensions/imageinfo.zip b/chrome/common/extensions/docs/examples/extensions/imageinfo.zip Binary files differindex 670ddd5..3fb92d2 100644 --- a/chrome/common/extensions/docs/examples/extensions/imageinfo.zip +++ b/chrome/common/extensions/docs/examples/extensions/imageinfo.zip diff --git a/chrome/common/extensions/docs/examples/extensions/mappy.zip b/chrome/common/extensions/docs/examples/extensions/mappy.zip Binary files differindex 8e5ce3a..f8b121b 100644 --- a/chrome/common/extensions/docs/examples/extensions/mappy.zip +++ b/chrome/common/extensions/docs/examples/extensions/mappy.zip diff --git a/chrome/common/extensions/docs/examples/extensions/news.zip b/chrome/common/extensions/docs/examples/extensions/news.zip Binary files differindex 754b0ff..6da19a6 100644 --- a/chrome/common/extensions/docs/examples/extensions/news.zip +++ b/chrome/common/extensions/docs/examples/extensions/news.zip diff --git a/chrome/common/extensions/docs/examples/extensions/news_a11y.zip b/chrome/common/extensions/docs/examples/extensions/news_a11y.zip Binary files differindex a9f6e99..77af95a 100644 --- a/chrome/common/extensions/docs/examples/extensions/news_a11y.zip +++ b/chrome/common/extensions/docs/examples/extensions/news_a11y.zip diff --git a/chrome/common/extensions/docs/examples/extensions/news_i18n.zip b/chrome/common/extensions/docs/examples/extensions/news_i18n.zip Binary files differindex 2aa09b8..899e6fc 100644 --- a/chrome/common/extensions/docs/examples/extensions/news_i18n.zip +++ b/chrome/common/extensions/docs/examples/extensions/news_i18n.zip diff --git a/chrome/common/extensions/docs/examples/extensions/oauth_contacts.zip b/chrome/common/extensions/docs/examples/extensions/oauth_contacts.zip Binary files differindex 3453e49..976cfbe 100644 --- a/chrome/common/extensions/docs/examples/extensions/oauth_contacts.zip +++ b/chrome/common/extensions/docs/examples/extensions/oauth_contacts.zip diff --git a/chrome/common/extensions/docs/examples/extensions/wave.zip b/chrome/common/extensions/docs/examples/extensions/wave.zip Binary files differindex ad9fbd9..ad1e104 100644 --- a/chrome/common/extensions/docs/examples/extensions/wave.zip +++ b/chrome/common/extensions/docs/examples/extensions/wave.zip diff --git a/chrome/common/extensions/docs/examples/howto/contentscript_xhr.zip b/chrome/common/extensions/docs/examples/howto/contentscript_xhr.zip Binary files differindex 24ac607..13be5bd 100644 --- a/chrome/common/extensions/docs/examples/howto/contentscript_xhr.zip +++ b/chrome/common/extensions/docs/examples/howto/contentscript_xhr.zip diff --git a/chrome/common/extensions/docs/examples/tutorials/analytics.zip b/chrome/common/extensions/docs/examples/tutorials/analytics.zip Binary files differindex e3c94e7..c4ae155 100644 --- a/chrome/common/extensions/docs/examples/tutorials/analytics.zip +++ b/chrome/common/extensions/docs/examples/tutorials/analytics.zip diff --git a/chrome/common/extensions/docs/examples/tutorials/getstarted.zip b/chrome/common/extensions/docs/examples/tutorials/getstarted.zip Binary files differindex 41e17b5..b5f5add 100644 --- a/chrome/common/extensions/docs/examples/tutorials/getstarted.zip +++ b/chrome/common/extensions/docs/examples/tutorials/getstarted.zip |