Bug 1462489 - Process some chrome manifest entries from dist/xpi-stage from the tup backend.
MozReview-Commit-ID: 7X5Mi60j4cw
--- a/python/mozbuild/mozbuild/backend/tup.py
+++ b/python/mozbuild/mozbuild/backend/tup.py
@@ -502,23 +502,27 @@ class TupBackend(CommonBackend):
if any(mozpath.match(f, p) for p in skip_files):
return False
if backend_file.requires_delay(obj.inputs):
backend_file.delayed_generated_files.append(obj)
else:
self._process_generated_file(backend_file, obj)
elif (isinstance(obj, ChromeManifestEntry) and
- obj.install_target.startswith('dist/bin')):
- top_level = mozpath.join(obj.install_target, 'chrome.manifest')
- if obj.path != top_level:
- entry = 'manifest %s' % mozpath.relpath(obj.path,
- obj.install_target)
- self._manifest_entries[top_level].add(entry)
- self._manifest_entries[obj.path].add(str(obj.entry))
+ obj.install_target.startswith(('dist/bin', 'dist/xpi-stage'))):
+ # The quitter extension specifies its chrome.manifest as a
+ # FINAL_TARGET_FILE, which conflicts with the manifest generation
+ # we do here, so skip it for now.
+ if obj.install_target != 'dist/xpi-stage/quitter':
+ top_level = mozpath.join(obj.install_target, 'chrome.manifest')
+ if obj.path != top_level:
+ entry = 'manifest %s' % mozpath.relpath(obj.path,
+ obj.install_target)
+ self._manifest_entries[top_level].add(entry)
+ self._manifest_entries[obj.path].add(str(obj.entry))
elif isinstance(obj, Defines):
self._process_defines(backend_file, obj)
elif isinstance(obj, HostDefines):
self._process_defines(backend_file, obj, host=True)
elif isinstance(obj, FinalTargetFiles):
self._process_final_target_files(obj)
elif isinstance(obj, FinalTargetPreprocessedFiles):
self._process_final_target_pp_files(obj, backend_file)