Mercurial > hg > orthanc-ohif
diff Resources/EmbedStaticAssets.py @ 17:154cb76a042f
make the build of static assets reproducible
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Sat, 05 Aug 2023 11:36:33 +0200 |
parents | 39585ba26f20 |
children | 36049c04ee27 |
line wrap: on
line diff
--- a/Resources/EmbedStaticAssets.py Mon Jun 19 10:05:31 2023 +0200 +++ b/Resources/EmbedStaticAssets.py Sat Aug 05 11:36:33 2023 +0200 @@ -95,6 +95,9 @@ count = 0 for root, dirs, files in os.walk(SOURCE): + files.sort() + dirs.sort() + for f in files: fullPath = os.path.join(root, f) relativePath = os.path.relpath(os.path.join(root, f), SOURCE) @@ -106,11 +109,11 @@ if sys.version_info < (3, 0): # Python 2.7 fileobj = io.BytesIO() - gzip.GzipFile(fileobj=fileobj, mode='w').write(content) + gzip.GzipFile(fileobj=fileobj, mode='w', mtime=0).write(content) compressed = fileobj.getvalue() else: # Python 3.x - compressed = gzip.compress(content) + compressed = gzip.compress(content, mtime=0) EncodeFileAsCString(g, variable, compressed) WriteChecksum(g, variable + '_md5', content) @@ -121,7 +124,7 @@ g.write('void ReadStaticAsset(std::string& target, const std::string& path)\n') g.write('{\n') - for (path, variable) in index.items(): + for (path, variable) in sorted(index.items()): g.write(' if (path == "%s")\n' % path) g.write(' {\n') g.write(' Uncompress(target, %s, sizeof(%s) - 1, %s_md5);\n' % (variable, variable, variable))