def _add_base(self, base, addon=False): if addon: # Because add_base is always called with parents before children, # all the possible ancestry of `base` is already present in # `_sub_formatter`. parent_base = mozpath.basedir(base, self._sub_formatter.keys()) rel_base = mozpath.relpath(base, parent_base) # If the addon is under a resource directory, package it in the # omnijar. parent_sub_formatter = self._sub_formatter[parent_base] if parent_sub_formatter.is_resource(rel_base): omnijar_sub_formatter = \ parent_sub_formatter._sub_formatter[self._omnijar_name] self._sub_formatter[base] = FlatSubFormatter( FileRegistrySubtree(rel_base, omnijar_sub_formatter.copier)) return JarFormatter._add_base(self, base, addon) else: # Initialize a chrome.manifest next to the omnijar file so that # there's always a chrome.manifest file, even an empty one. path = mozpath.normpath(mozpath.join(base, 'chrome.manifest')) if not self.copier.contains(path): self.copier.add(path, ManifestFile('')) self._sub_formatter[base] = OmniJarSubFormatter( FileRegistrySubtree(base, self.copier), self._omnijar_name, self._compress, self._non_resources)
def _add_base(self, base, addon=False): if addon: # Because add_base is always called with parents before children, # all the possible ancestry of `base` is already present in # `_sub_formatter`. parent_base = mozpath.basedir(base, self._sub_formatter.keys()) rel_base = mozpath.relpath(base, parent_base) # If the addon is under a resource directory, package it in the # omnijar. parent_sub_formatter = self._sub_formatter[parent_base] if parent_sub_formatter.is_resource(rel_base): omnijar_sub_formatter = parent_sub_formatter._sub_formatter[ self._omnijar_name] self._sub_formatter[base] = FlatSubFormatter( FileRegistrySubtree(rel_base, omnijar_sub_formatter.copier)) return JarFormatter._add_base(self, base, addon) else: self._sub_formatter[base] = OmniJarSubFormatter( FileRegistrySubtree(base, self.copier), self._omnijar_name, self._compress, self._non_resources, )
def _add_base(self, base, addon=False): if addon: JarFormatter._add_base(self, base, addon) else: self._sub_formatter[base] = OmniJarSubFormatter( FileRegistrySubtree(base, self.copier), self._omnijar_name, self._compress, self._optimize, self._non_resources)
def _add_base(self, base, addon=False): if addon is True: jarrer = Jarrer(self._compress) self.copier.add(base + '.xpi', jarrer) self._sub_formatter[base] = FlatSubFormatter(jarrer) else: self._sub_formatter[base] = JarSubFormatter( FileRegistrySubtree(base, self.copier), self._compress)
def _add_base(self, base, addon=False): if addon: JarFormatter._add_base(self, base, addon) else: # Initialize a chrome.manifest next to the omnijar file so that # there's always a chrome.manifest file, even an empty one. path = mozpath.normpath(mozpath.join(base, 'chrome.manifest')) if not self.copier.contains(path): self.copier.add(path, ManifestFile('')) self._sub_formatter[base] = OmniJarSubFormatter( FileRegistrySubtree(base, self.copier), self._omnijar_name, self._compress, self._optimize, self._non_resources)
def _add_base(self, base, addon=False): self._sub_formatter[base] = FlatSubFormatter( FileRegistrySubtree(base, self.copier))
def create_registry(self): registry = FileRegistry() registry.add("foo/bar", GeneratedFile(b"foo/bar")) registry.add("baz/qux", GeneratedFile(b"baz/qux")) return FileRegistrySubtree("base/root", registry)
def test_file_registry_subtree_base(self): registry = FileRegistry() self.assertEqual(registry, FileRegistrySubtree("", registry)) self.assertNotEqual(registry, FileRegistrySubtree("base", registry))
def create_registry(self): registry = FileRegistry() registry.add('foo/bar', GeneratedFile('foo/bar')) registry.add('baz/qux', GeneratedFile('baz/qux')) return FileRegistrySubtree('base/root', registry)