From 38725ef5706ae9f8554bcb22babe1f94309bf268 Mon Sep 17 00:00:00 2001 From: Nick Alexander Date: Wed, 2 Mar 2022 17:43:49 +0000 Subject: [PATCH] Bug 1752968 - Minify Fluent `.ftl` files in addition to `.properties` files. r=eemeli Depends on D138365 Differential Revision: https://phabricator.services.mozilla.com/D138572 --- python/mozbuild/mozpack/files.py | 12 ++++++------ python/mozbuild/mozpack/test/test_files.py | 10 +++++----- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/python/mozbuild/mozpack/files.py b/python/mozbuild/mozpack/files.py index 6d3cd4263307..eac5035c010d 100644 --- a/python/mozbuild/mozpack/files.py +++ b/python/mozbuild/mozpack/files.py @@ -773,10 +773,10 @@ class ManifestFile(BaseFile): return len(self._entries) + len(self._interfaces) == 0 -class MinifiedProperties(BaseFile): +class MinifiedCommentStripped(BaseFile): """ - File class for minified properties. This wraps around a BaseFile instance, - and removes lines starting with a # from its content. + File class for content minified by stripping comments. This wraps around a + BaseFile instance, and removes lines starting with a # from its content. """ def __init__(self, file): @@ -786,7 +786,7 @@ class MinifiedProperties(BaseFile): def open(self): """ Return a file-like object allowing to read() the minified content of - the properties file. + the underlying file. """ content = "".join( l @@ -935,8 +935,8 @@ class BaseFinder(object): if not self._minify or isinstance(file, ExecutableFile): return file - if path.endswith(".properties"): - return MinifiedProperties(file) + if path.endswith((".ftl", ".properties")): + return MinifiedCommentStripped(file) if self._minify_js and path.endswith((".js", ".jsm")): return MinifiedJavaScript(file, self._minify_js_verify_command) diff --git a/python/mozbuild/mozpack/test/test_files.py b/python/mozbuild/mozpack/test/test_files.py index da58ede68106..df61ca75c147 100644 --- a/python/mozbuild/mozpack/test/test_files.py +++ b/python/mozbuild/mozpack/test/test_files.py @@ -30,7 +30,7 @@ from mozpack.files import ( MercurialFile, MercurialRevisionFinder, MinifiedJavaScript, - MinifiedProperties, + MinifiedCommentStripped, PreprocessedFile, ) @@ -875,8 +875,8 @@ foo2_xpt = GeneratedFile( ) -class TestMinifiedProperties(TestWithTmpDir): - def test_minified_properties(self): +class TestMinifiedCommentStripped(TestWithTmpDir): + def test_minified_comment_stripped(self): propLines = [ "# Comments are removed", "foo = bar", @@ -885,10 +885,10 @@ class TestMinifiedProperties(TestWithTmpDir): ] prop = GeneratedFile("\n".join(propLines)) self.assertEqual( - MinifiedProperties(prop).open().readlines(), [b"foo = bar\n", b"\n"] + MinifiedCommentStripped(prop).open().readlines(), [b"foo = bar\n", b"\n"] ) open(self.tmppath("prop"), "w").write("\n".join(propLines)) - MinifiedProperties(File(self.tmppath("prop"))).copy(self.tmppath("prop2")) + MinifiedCommentStripped(File(self.tmppath("prop"))).copy(self.tmppath("prop2")) self.assertEqual(open(self.tmppath("prop2")).readlines(), ["foo = bar\n", "\n"])