Bug 1203159 - Add resource:// mapping in all DevTools directories. r=glandium,ochameau draft
authorJ. Ryan Stinnett <jryans@gmail.com>
Fri, 16 Oct 2015 00:38:43 -0500
changeset 301212 5389d910c1439b363ec7277992ac2498fb69fa58
parent 301211 71ab2da009b468eab0b15785cb6067344b01dd73
child 301213 34fb2f92a8ce1614ceeeca51d438e8248476f29d
push id6428
push userjryans@gmail.com
push dateFri, 16 Oct 2015 05:39:55 +0000
reviewersglandium, ochameau
bugs1203159
milestone44.0a1
Bug 1203159 - Add resource:// mapping in all DevTools directories. r=glandium,ochameau Add resource mapping jar.mn for DevTools. The DevToolsModules template method is modified to install the files in their new flattened add-on location.
devtools/shared/jar.mn
devtools/shared/moz.build
devtools/templates.mozbuild
new file mode 100644
--- /dev/null
+++ b/devtools/shared/jar.mn
@@ -0,0 +1,10 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+devtools.jar:
+%   resource devtools %modules/devtools/
+# The typical approach would be to list all the resource files in this manifest
+# for installation.  Instead of doing this, use the DevToolsModules syntax via
+# moz.build files to do the installation so that we can enforce correct paths
+# based on source tree location.
--- a/devtools/shared/moz.build
+++ b/devtools/shared/moz.build
@@ -27,16 +27,18 @@ DIRS += [
     'webconsole',
     'worker',
 ]
 
 BROWSER_CHROME_MANIFESTS += ['tests/browser/browser.ini']
 MOCHITEST_CHROME_MANIFESTS += ['tests/mochitest/chrome.ini']
 XPCSHELL_TESTS_MANIFESTS += ['tests/unit/xpcshell.ini']
 
+JAR_MANIFESTS += ['jar.mn']
+
 DevToolsModules(
     'async-storage.js',
     'async-utils.js',
     'content-observer.js',
     'css-color.js',
     'deprecated-sync-thenables.js',
     'DevToolsUtils.js',
     'event-emitter.js',
--- a/devtools/templates.mozbuild
+++ b/devtools/templates.mozbuild
@@ -20,12 +20,16 @@ def DevToolsModules(*modules):
     build a list manually above.  Bug 1198013 tracks fixing this to make it more
     like other moz.build constructs.'''
 
     for m in modules:
         if '/' in m:
             error('DevToolsModules must be used from the same directory as ' +
                   'the files to be installed.')
 
-    base = EXTRA_JS_MODULES
+    # jar.mn manifest files are typically used to install files to chrome
+    # locations.  Instead of doing this, use this DevToolsModules syntax via
+    # moz.build files to do the installation so that we can enforce correct
+    # paths based on source tree location.
+    base = FINAL_TARGET_FILES.chrome.devtools.modules
     for dir in RELATIVEDIR.split('/'):
         base = base[dir]
     base += [m for m in modules]