author | Nathan Froyd <froydnj@mozilla.com> |
Fri, 25 Jul 2014 13:40:07 -0400 | |
changeset 196842 | b961ba8f089273cfd94d079ab88565efbb3edc11 |
parent 196841 | 275a064b9345efb82d0850b08d9321c4fd3c527e |
child 196843 | 85b40c4b8af7e8e61e4ff3bf24ee337841d87306 |
push id | 27226 |
push user | ryanvm@gmail.com |
push date | Wed, 30 Jul 2014 21:14:41 +0000 |
treeherder | mozilla-central@005424a764da [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | mshal |
bugs | 1044162 |
milestone | 34.0a1 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
--- a/accessible/jsat/moz.build +++ b/accessible/jsat/moz.build @@ -1,17 +1,15 @@ # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*- # vim: set filetype=python: # 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/. -JS_MODULES_PATH = 'modules/accessibility' - -EXTRA_JS_MODULES += [ +EXTRA_JS_MODULES.accessibility += [ 'AccessFu.jsm', 'Constants.jsm', 'ContentControl.jsm', 'EventManager.jsm', 'Gestures.jsm', 'OutputGenerator.jsm', 'PointerAdapter.jsm', 'Presentation.jsm',
--- a/addon-sdk/moz.build +++ b/addon-sdk/moz.build @@ -3,13 +3,11 @@ # 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/. BROWSER_CHROME_MANIFESTS += ['test/browser.ini'] DIRS += ["source/modules/system"] -JS_MODULES_PATH = 'modules/sdk' - -EXTRA_JS_MODULES += [ +EXTRA_JS_MODULES.sdk += [ 'source/app-extension/bootstrap.js', ]
--- a/addon-sdk/source/modules/system/moz.build +++ b/addon-sdk/source/modules/system/moz.build @@ -1,11 +1,9 @@ # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*- # vim: set filetype=python: # 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/. -JS_MODULES_PATH = 'modules/sdk/system' - -EXTRA_JS_MODULES += [ +EXTRA_JS_MODULES.sdk.system += [ 'XulApp.js', ]
--- a/browser/components/loop/moz.build +++ b/browser/components/loop/moz.build @@ -1,22 +1,20 @@ # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*- # vim: set filetype=python: # 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/. JAR_MANIFESTS += ['jar.mn'] -JS_MODULES_PATH = 'modules/loop' - XPCSHELL_TESTS_MANIFESTS += ['test/xpcshell/xpcshell.ini'] BROWSER_CHROME_MANIFESTS += [ 'test/mochitest/browser.ini', ] -EXTRA_JS_MODULES += [ +EXTRA_JS_MODULES.loop += [ 'MozLoopAPI.jsm', 'MozLoopPushHandler.jsm', 'MozLoopService.jsm', 'MozLoopWorker.js', ]
--- a/browser/components/sessionstore/moz.build +++ b/browser/components/sessionstore/moz.build @@ -17,19 +17,17 @@ XPIDL_SOURCES += [ XPIDL_MODULE = 'sessionstore' EXTRA_COMPONENTS += [ 'nsSessionStartup.js', 'nsSessionStore.js', 'nsSessionStore.manifest', ] -JS_MODULES_PATH = 'modules/sessionstore' - -EXTRA_JS_MODULES = [ +EXTRA_JS_MODULES.sessionstore = [ 'ContentRestore.jsm', 'DocShellCapabilities.jsm', 'FrameTree.jsm', 'GlobalState.jsm', 'PageStyle.jsm', 'PrivacyFilter.jsm', 'PrivacyLevel.jsm', 'RecentlyClosedTabsAndWindowsMenuUtils.jsm', @@ -41,13 +39,13 @@ EXTRA_JS_MODULES = [ 'SessionWorker.js', 'SessionWorker.jsm', 'TabAttributes.jsm', 'TabState.jsm', 'TabStateCache.jsm', 'Utils.jsm', ] -EXTRA_PP_JS_MODULES += [ +EXTRA_PP_JS_MODULES.sessionstore += [ 'SessionSaver.jsm', 'SessionStore.jsm', ]
--- a/browser/components/tabview/moz.build +++ b/browser/components/tabview/moz.build @@ -1,14 +1,12 @@ # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*- # vim: set filetype=python: # 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/. -EXTRA_JS_MODULES = ['modules/utils.jsm'] -JS_MODULES_PATH = 'modules/tabview' - +EXTRA_JS_MODULES.tabview = ['modules/utils.jsm'] BROWSER_CHROME_MANIFESTS += [ 'test/browser.ini', ] JAR_MANIFESTS += ['jar.mn'] \ No newline at end of file
--- a/browser/components/translation/moz.build +++ b/browser/components/translation/moz.build @@ -1,15 +1,13 @@ # 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/. -JS_MODULES_PATH = 'modules/translation' - -EXTRA_JS_MODULES = [ +EXTRA_JS_MODULES.translation = [ 'BingTranslator.jsm', 'cld2/cld-worker.js', 'cld2/cld-worker.js.mem', 'LanguageDetector.jsm', 'Translation.jsm', 'TranslationContentHandler.jsm', 'TranslationDocument.jsm' ]
--- a/browser/devtools/app-manager/moz.build +++ b/browser/devtools/app-manager/moz.build @@ -2,19 +2,17 @@ # vim: set filetype=python: # 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/. BROWSER_CHROME_MANIFESTS += ['test/browser.ini'] MOCHITEST_CHROME_MANIFESTS += ['test/chrome.ini'] -JS_MODULES_PATH = 'modules/devtools/app-manager' - -EXTRA_JS_MODULES += [ +EXTRA_JS_MODULES.devtools["app-manager"] += [ 'app-projects.js', 'app-validator.js', 'builtin-adb-store.js', 'connection-store.js', 'device-store.js', 'simulators-store.js', 'webapps-store.js', ]
--- a/browser/devtools/canvasdebugger/moz.build +++ b/browser/devtools/canvasdebugger/moz.build @@ -1,12 +1,10 @@ # vim: set filetype=python: # 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/. -JS_MODULES_PATH = 'modules/devtools/canvasdebugger' - -EXTRA_JS_MODULES += [ +EXTRA_JS_MODULES.devtools.canvasdebugger += [ 'panel.js' ] BROWSER_CHROME_MANIFESTS += ['test/browser.ini']
--- a/browser/devtools/commandline/moz.build +++ b/browser/devtools/commandline/moz.build @@ -1,11 +1,9 @@ # 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/. -JS_MODULES_PATH = 'modules/devtools/commandline' - -EXTRA_JS_MODULES += [ +EXTRA_JS_MODULES.devtools.commandline += [ 'commands-index.js' ] BROWSER_CHROME_MANIFESTS += ['test/browser.ini']
--- a/browser/devtools/debugger/moz.build +++ b/browser/devtools/debugger/moz.build @@ -1,13 +1,11 @@ # vim: set filetype=python: # 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/. -JS_MODULES_PATH = 'modules/devtools/debugger' - -EXTRA_JS_MODULES += [ +EXTRA_JS_MODULES.devtools.debugger += [ 'debugger-commands.js', 'panel.js' ] BROWSER_CHROME_MANIFESTS += ['test/browser.ini']
--- a/browser/devtools/eyedropper/moz.build +++ b/browser/devtools/eyedropper/moz.build @@ -1,14 +1,12 @@ # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*- # vim: set filetype=python: # 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/. -JS_MODULES_PATH = 'modules/devtools/eyedropper' - -EXTRA_JS_MODULES += [ +EXTRA_JS_MODULES.devtools.eyedropper += [ 'commands.js', 'eyedropper.js' ] BROWSER_CHROME_MANIFESTS += ['test/browser.ini']
--- a/browser/devtools/inspector/moz.build +++ b/browser/devtools/inspector/moz.build @@ -1,14 +1,12 @@ # 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/. -JS_MODULES_PATH = 'modules/devtools/inspector' - -EXTRA_JS_MODULES += [ +EXTRA_JS_MODULES.devtools.inspector += [ 'breadcrumbs.js', 'inspector-commands.js', 'inspector-panel.js', 'selector-search.js' ] BROWSER_CHROME_MANIFESTS += ['test/browser.ini']
--- a/browser/devtools/markupview/moz.build +++ b/browser/devtools/markupview/moz.build @@ -1,14 +1,12 @@ # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*- # vim: set filetype=python: # 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/. BROWSER_CHROME_MANIFESTS += ['test/browser.ini'] -JS_MODULES_PATH = 'modules/devtools/markupview' - -EXTRA_JS_MODULES += [ +EXTRA_JS_MODULES.devtools.markupview += [ 'html-editor.js', 'markup-view.js', ]
--- a/browser/devtools/moz.build +++ b/browser/devtools/moz.build @@ -33,13 +33,11 @@ DIRS += [ EXTRA_COMPONENTS += [ 'devtools-clhandler.js', 'devtools-clhandler.manifest', ] JAR_MANIFESTS += ['jar.mn'] -JS_MODULES_PATH = 'modules/devtools' - -EXTRA_JS_MODULES += [ +EXTRA_JS_MODULES.devtools += [ 'main.js', ]
--- a/browser/devtools/netmonitor/moz.build +++ b/browser/devtools/netmonitor/moz.build @@ -1,12 +1,10 @@ # vim: set filetype=python: # 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/. -JS_MODULES_PATH = 'modules/devtools/netmonitor' - -EXTRA_JS_MODULES += [ +EXTRA_JS_MODULES.devtools.netmonitor += [ 'panel.js' ] BROWSER_CHROME_MANIFESTS += ['test/browser.ini']
--- a/browser/devtools/profiler/moz.build +++ b/browser/devtools/profiler/moz.build @@ -1,18 +1,16 @@ # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*- # vim: set filetype=python: # 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/. BROWSER_CHROME_MANIFESTS += ['test/browser.ini'] -JS_MODULES_PATH = 'modules/devtools/profiler' - -EXTRA_JS_MODULES += [ +EXTRA_JS_MODULES.devtools.profiler += [ 'cleopatra.js', 'commands.js', 'consts.js', 'controller.js', 'panel.js', 'sidebar.js', ]
--- a/browser/devtools/responsivedesign/moz.build +++ b/browser/devtools/responsivedesign/moz.build @@ -1,11 +1,9 @@ # 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/. -JS_MODULES_PATH = 'modules/devtools' - -EXTRA_JS_MODULES += [ +EXTRA_JS_MODULES.devtools += [ 'resize-commands.js' ] BROWSER_CHROME_MANIFESTS += ['test/browser.ini']
--- a/browser/devtools/scratchpad/moz.build +++ b/browser/devtools/scratchpad/moz.build @@ -1,14 +1,12 @@ # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*- # vim: set filetype=python: # 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/. -JS_MODULES_PATH = 'modules/devtools/scratchpad' - -EXTRA_JS_MODULES += [ +EXTRA_JS_MODULES.devtools.scratchpad += [ 'scratchpad-commands.js', 'scratchpad-panel.js' ] BROWSER_CHROME_MANIFESTS += ['test/browser.ini']
--- a/browser/devtools/shadereditor/moz.build +++ b/browser/devtools/shadereditor/moz.build @@ -1,12 +1,10 @@ # vim: set filetype=python: # 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/. -JS_MODULES_PATH = 'modules/devtools/shadereditor' - -EXTRA_JS_MODULES += [ +EXTRA_JS_MODULES.devtools.shadereditor += [ 'panel.js' ] BROWSER_CHROME_MANIFESTS += ['test/browser.ini']
--- a/browser/devtools/sourceeditor/moz.build +++ b/browser/devtools/sourceeditor/moz.build @@ -1,17 +1,15 @@ # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*- # vim: set filetype=python: # 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/. -JS_MODULES_PATH = 'modules/devtools/sourceeditor' - -EXTRA_JS_MODULES += [ +EXTRA_JS_MODULES.devtools.sourceeditor += [ 'autocomplete.js', 'css-autocompleter.js', 'css-tokenizer.js', 'debugger.js', 'editor.js' ] BROWSER_CHROME_MANIFESTS += ['test/browser.ini']
--- a/browser/devtools/styleinspector/moz.build +++ b/browser/devtools/styleinspector/moz.build @@ -2,17 +2,15 @@ # vim: set filetype=python: # 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/. BROWSER_CHROME_MANIFESTS += ['test/browser.ini'] XPCSHELL_TESTS_MANIFESTS += ['test/unit/xpcshell.ini'] -JS_MODULES_PATH = 'modules/devtools/styleinspector' - -EXTRA_JS_MODULES += [ +EXTRA_JS_MODULES.devtools.styleinspector += [ 'computed-view.js', 'css-parsing-utils.js', 'rule-view.js', 'style-inspector-overlays.js', 'style-inspector.js', ]
--- a/browser/devtools/tilt/moz.build +++ b/browser/devtools/tilt/moz.build @@ -1,15 +1,13 @@ # 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/. -JS_MODULES_PATH = 'modules/devtools/tilt' - -EXTRA_JS_MODULES += [ +EXTRA_JS_MODULES.devtools.tilt += [ 'tilt-commands.js', 'tilt-gl.js', 'tilt-math.js', 'tilt-utils.js', 'tilt-visualizer-style.js', 'tilt-visualizer.js', 'tilt.js', 'TiltWorkerCrafter.js',
--- a/browser/devtools/webaudioeditor/moz.build +++ b/browser/devtools/webaudioeditor/moz.build @@ -1,12 +1,10 @@ # vim: set filetype=python: # 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/. -JS_MODULES_PATH = 'modules/devtools/webaudioeditor' - -EXTRA_JS_MODULES += [ +EXTRA_JS_MODULES.devtools.webaudioeditor += [ 'panel.js' ] BROWSER_CHROME_MANIFESTS += ['test/browser.ini']
--- a/browser/devtools/webconsole/moz.build +++ b/browser/devtools/webconsole/moz.build @@ -1,18 +1,16 @@ # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*- # vim: set filetype=python: # 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/. BROWSER_CHROME_MANIFESTS += ['test/browser.ini'] -JS_MODULES_PATH = 'modules/devtools/webconsole' - -EXTRA_JS_MODULES += [ +EXTRA_JS_MODULES.devtools.webconsole += [ 'console-commands.js', 'console-output.js', 'hudservice.js', 'network-panel.js', 'panel.js', 'webconsole.js', ]
--- a/browser/devtools/webide/moz.build +++ b/browser/devtools/webide/moz.build @@ -7,16 +7,14 @@ DIRS += [ 'content', 'components', 'themes', ] MOCHITEST_CHROME_MANIFESTS += ['test/chrome.ini'] -JS_MODULES_PATH = 'modules/devtools/webide' - -EXTRA_JS_MODULES += [ +EXTRA_JS_MODULES.devtools.webide += [ 'modules/addons.js', 'modules/app-manager.js', 'modules/remote-resources.js', 'modules/runtimes.js' ]
--- a/browser/experiments/moz.build +++ b/browser/experiments/moz.build @@ -2,17 +2,15 @@ # 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/. EXTRA_COMPONENTS += [ 'Experiments.manifest', 'ExperimentsService.js', ] -JS_MODULES_PATH = 'modules/experiments' - -EXTRA_JS_MODULES += [ +EXTRA_JS_MODULES.experiments += [ 'Experiments.jsm', ] XPCSHELL_TESTS_MANIFESTS += ['test/xpcshell/xpcshell.ini'] SPHINX_TREES['experiments'] = 'docs'
--- a/dom/media/moz.build +++ b/dom/media/moz.build @@ -41,19 +41,17 @@ UNIFIED_SOURCES += [ 'MediaManager.cpp', ] EXTRA_COMPONENTS += [ 'PeerConnection.js', 'PeerConnection.manifest', ] -JS_MODULES_PATH = 'modules/media' - -EXTRA_JS_MODULES += [ +EXTRA_JS_MODULES.media += [ 'IdpProxy.jsm', 'PeerConnectionIdp.jsm', 'RTCStatsReport.jsm', ] if CONFIG['MOZ_B2G']: EXPORTS.mozilla += [ 'MediaPermissionGonk.h',
--- a/python/mozbuild/mozbuild/backend/recursivemake.py +++ b/python/mozbuild/mozbuild/backend/recursivemake.py @@ -946,18 +946,44 @@ class RecursiveMakeBackend(CommonBackend backend_file.write('FINAL_TARGET = $(DEPTH)/%s\n' % (obj.target)) else: backend_file.write('FINAL_TARGET = $(if $(XPI_NAME),$(DIST)/xpi-stage/$(XPI_NAME),$(DIST)/bin)$(DIST_SUBDIR:%=/%)\n') if not obj.enabled: backend_file.write('NO_DIST_INSTALL := 1\n') def _process_javascript_modules(self, obj, backend_file): - if obj.flavor != 'testing': - raise Exception('We only support testing JavaScriptModules instances.') + if obj.flavor not in ('extra', 'extra_pp', 'testing'): + raise Exception('Unsupported JavaScriptModules instance: %s' % obj.flavor) + + if obj.flavor == 'extra': + def onelement(element, namespace): + if not element.get_strings(): + return + + prefix = 'extra_js_%s' % namespace.replace('/', '_') + backend_file.write('%s_FILES := %s\n' + % (prefix, ' '.join(element.get_strings()))) + backend_file.write('%s_DEST = $(FINAL_TARGET)/%s\n' % (prefix, namespace)) + backend_file.write('INSTALL_TARGETS += %s\n\n' % prefix) + self._process_hierarchy_elements(obj, obj.modules, 'modules', onelement) + return + + if obj.flavor == 'extra_pp': + def onelement(element, namespace): + if not element.get_strings(): + return + + prefix = 'extra_pp_js_%s' % namespace.replace('/', '_') + backend_file.write('%s := %s\n' + % (prefix, ' '.join(element.get_strings()))) + backend_file.write('%s_PATH = $(FINAL_TARGET)/%s\n' % (prefix, namespace)) + backend_file.write('PP_TARGETS += %s\n\n' % prefix) + self._process_hierarchy_elements(obj, obj.modules, 'modules', onelement) + return if not self.environment.substs.get('ENABLE_TESTS', False): return manifest = self._install_manifests['tests'] def onmodule(source, dest, flags): manifest.add_symlink(source, mozpath.join('modules', dest))
--- a/python/mozbuild/mozbuild/frontend/emitter.py +++ b/python/mozbuild/mozbuild/frontend/emitter.py @@ -368,19 +368,17 @@ class TreeMetadataEmitter(LoggingMixin): varlist = [ 'ANDROID_GENERATED_RESFILES', 'ANDROID_RES_DIRS', 'DISABLE_STL_WRAPPING', 'EXTRA_ASSEMBLER_FLAGS', 'EXTRA_COMPILE_FLAGS', 'EXTRA_COMPONENTS', 'EXTRA_DSO_LDOPTS', - 'EXTRA_JS_MODULES', 'EXTRA_PP_COMPONENTS', - 'EXTRA_PP_JS_MODULES', 'FAIL_ON_WARNINGS', 'FILES_PER_UNIFIED_FILE', 'USE_STATIC_LIBS', 'GENERATED_FILES', 'IS_GYP_DIR', 'JS_MODULES_PATH', 'MSVC_ENABLE_PGO', 'NO_DIST_INSTALL', @@ -502,16 +500,24 @@ class TreeMetadataEmitter(LoggingMixin): 'because it is already used in %s' % (program, kind, self._binaries[program].relativedir), sandbox) self._binaries[program] = cls(sandbox, program, is_unit_test=kind == 'CPP_UNIT_TESTS') self._linkage.append((sandbox, self._binaries[program], 'HOST_USE_LIBS' if kind == 'HOST_SIMPLE_PROGRAMS' else 'USE_LIBS')) + extra_js_modules = sandbox.get('EXTRA_JS_MODULES') + if extra_js_modules: + yield JavaScriptModules(sandbox, extra_js_modules, 'extra') + + extra_pp_js_modules = sandbox.get('EXTRA_PP_JS_MODULES') + if extra_pp_js_modules: + yield JavaScriptModules(sandbox, extra_pp_js_modules, 'extra_pp') + test_js_modules = sandbox.get('TESTING_JS_MODULES') if test_js_modules: yield JavaScriptModules(sandbox, test_js_modules, 'testing') simple_lists = [ ('GENERATED_EVENTS_WEBIDL_FILES', GeneratedEventWebIDLFile), ('GENERATED_WEBIDL_FILES', GeneratedWebIDLFile), ('IPDL_SOURCES', IPDLFile),
--- a/python/mozbuild/mozbuild/frontend/sandbox_symbols.py +++ b/python/mozbuild/mozbuild/frontend/sandbox_symbols.py @@ -181,25 +181,25 @@ VARIABLES = { 'EXTRA_COMPONENTS': (StrictOrderingOnAppendList, list, """Additional component files to distribute. This variable contains a list of files to copy into ``$(FINAL_TARGET)/components/``. """, 'libs'), - 'EXTRA_JS_MODULES': (StrictOrderingOnAppendList, list, + 'EXTRA_JS_MODULES': (HierarchicalStringList, list, """Additional JavaScript files to distribute. This variable contains a list of files to copy into ``$(FINAL_TARGET)/$(JS_MODULES_PATH)``. ``JS_MODULES_PATH`` defaults to ``modules`` if left undefined. """, 'libs'), - 'EXTRA_PP_JS_MODULES': (StrictOrderingOnAppendList, list, + 'EXTRA_PP_JS_MODULES': (HierarchicalStringList, list, """Additional JavaScript files to distribute. This variable contains a list of files to copy into ``$(FINAL_TARGET)/$(JS_MODULES_PATH)``, after preprocessing. ``JS_MODULES_PATH`` defaults to ``modules`` if left undefined. """, 'libs'), 'TESTING_JS_MODULES': (HierarchicalStringList, list,
--- a/python/mozbuild/mozbuild/test/backend/data/variable_passthru/moz.build +++ b/python/mozbuild/mozbuild/test/backend/data/variable_passthru/moz.build @@ -2,19 +2,16 @@ # Any copyright is dedicated to the Public Domain. # http://creativecommons.org/publicdomain/zero/1.0/ SOURCES += ['bar.s', 'foo.asm'] EXTRA_COMPONENTS = ['bar.js', 'foo.js'] EXTRA_PP_COMPONENTS = ['bar.pp.js', 'foo.pp.js'] -EXTRA_JS_MODULES += ['bar.jsm', 'foo.jsm'] -EXTRA_PP_JS_MODULES = ['bar.pp.jsm', 'foo.pp.jsm'] - HOST_SOURCES += ['bar.cpp', 'foo.cpp'] HOST_SOURCES += ['bar.c', 'foo.c'] OS_LIBS = ['foo.so', '-l123', 'bar.a'] SOURCES += ['bar.c', 'foo.c'] SOURCES += ['bar.mm', 'foo.mm']
--- a/python/mozbuild/mozbuild/test/backend/test_recursivemake.py +++ b/python/mozbuild/mozbuild/test/backend/test_recursivemake.py @@ -271,24 +271,16 @@ class TestRecursiveMakeBackend(BackendTe 'EXTRA_COMPONENTS': [ 'EXTRA_COMPONENTS += bar.js', 'EXTRA_COMPONENTS += foo.js', ], 'EXTRA_PP_COMPONENTS': [ 'EXTRA_PP_COMPONENTS += bar.pp.js', 'EXTRA_PP_COMPONENTS += foo.pp.js', ], - 'EXTRA_JS_MODULES': [ - 'EXTRA_JS_MODULES += bar.jsm', - 'EXTRA_JS_MODULES += foo.jsm', - ], - 'EXTRA_PP_JS_MODULES': [ - 'EXTRA_PP_JS_MODULES += bar.pp.jsm', - 'EXTRA_PP_JS_MODULES += foo.pp.jsm', - ], 'FAIL_ON_WARNINGS': [ 'FAIL_ON_WARNINGS := 1', ], 'HOST_CPPSRCS': [ 'HOST_CPPSRCS += bar.cpp', 'HOST_CPPSRCS += foo.cpp', ], 'HOST_CSRCS': [
--- a/python/mozbuild/mozbuild/test/frontend/data/variable-passthru/moz.build +++ b/python/mozbuild/mozbuild/test/frontend/data/variable-passthru/moz.build @@ -2,19 +2,16 @@ # Any copyright is dedicated to the Public Domain. # http://creativecommons.org/publicdomain/zero/1.0/ SOURCES += ['fans.asm', 'tans.s'] EXTRA_COMPONENTS=['fans.js', 'tans.js'] EXTRA_PP_COMPONENTS=['fans.pp.js', 'tans.pp.js'] -EXTRA_JS_MODULES += ['bar.jsm', 'foo.jsm'] -EXTRA_PP_JS_MODULES = ['bar.pp.jsm', 'foo.pp.jsm'] - HOST_SOURCES += ['fans.cpp', 'tans.cpp'] HOST_SOURCES += ['fans.c', 'tans.c'] OS_LIBS += ['foo.so', '-l123', 'aaa.a'] SOURCES += ['fans.c', 'tans.c'] SOURCES += ['fans.mm', 'tans.mm']
--- a/python/mozbuild/mozbuild/test/frontend/test_emitter.py +++ b/python/mozbuild/mozbuild/test/frontend/test_emitter.py @@ -149,18 +149,16 @@ class TestEmitterBasic(unittest.TestCase wanted = dict( ASFILES=['fans.asm', 'tans.s'], CMMSRCS=['fans.mm', 'tans.mm'], CSRCS=['fans.c', 'tans.c'], DISABLE_STL_WRAPPING=True, EXTRA_COMPONENTS=['fans.js', 'tans.js'], EXTRA_PP_COMPONENTS=['fans.pp.js', 'tans.pp.js'], - EXTRA_JS_MODULES=['bar.jsm', 'foo.jsm'], - EXTRA_PP_JS_MODULES=['bar.pp.jsm', 'foo.pp.jsm'], FAIL_ON_WARNINGS=True, HOST_CPPSRCS=['fans.cpp', 'tans.cpp'], HOST_CSRCS=['fans.c', 'tans.c'], MSVC_ENABLE_PGO=True, NO_DIST_INSTALL=True, OS_LIBS=['foo.so', '-l123', 'aaa.a'], SSRCS=['bans.S', 'fans.S'], VISIBILITY_FLAGS='',
--- a/services/metrics/moz.build +++ b/services/metrics/moz.build @@ -1,19 +1,17 @@ # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*- # vim: set filetype=python: # 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/. TEST_DIRS += ['tests'] -EXTRA_PP_JS_MODULES += [ +EXTRA_PP_JS_MODULES.services.metrics += [ 'dataprovider.jsm', 'providermanager.jsm', 'storage.jsm', ] -JS_MODULES_PATH = 'modules/services/metrics' - TESTING_JS_MODULES.services.metrics += [ 'modules-testing/mocks.jsm', ]
--- a/toolkit/components/osfile/modules/moz.build +++ b/toolkit/components/osfile/modules/moz.build @@ -1,17 +1,15 @@ # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*- # vim: set filetype=python: # 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/. -JS_MODULES_PATH = 'modules/osfile' - -EXTRA_JS_MODULES += [ +EXTRA_JS_MODULES.osfile += [ 'osfile_async_front.jsm', 'osfile_async_worker.js', 'osfile_native.jsm', 'osfile_shared_allthreads.jsm', 'osfile_shared_front.jsm', 'osfile_unix_allthreads.jsm', 'osfile_unix_back.jsm', 'osfile_unix_front.jsm',
--- a/toolkit/components/promiseworker/worker/moz.build +++ b/toolkit/components/promiseworker/worker/moz.build @@ -1,11 +1,9 @@ # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*- # vim: set filetype=python: # 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/. -JS_MODULES_PATH = 'modules/workers' - -EXTRA_JS_MODULES = [ +EXTRA_JS_MODULES.workers = [ 'PromiseWorker.js', ]
--- a/toolkit/components/sqlite/moz.build +++ b/toolkit/components/sqlite/moz.build @@ -1,13 +1,11 @@ # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*- # vim: set filetype=python: # 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/. XPCSHELL_TESTS_MANIFESTS += ['tests/xpcshell/xpcshell.ini'] -JS_MODULES_PATH = 'modules/sqlite' - -EXTRA_JS_MODULES += [ +EXTRA_JS_MODULES.sqlite += [ 'sqlite_internal.js', ]
--- a/toolkit/components/workerloader/moz.build +++ b/toolkit/components/workerloader/moz.build @@ -1,13 +1,11 @@ # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*- # vim: set filetype=python: # 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/. MOCHITEST_CHROME_MANIFESTS += ['tests/chrome.ini'] -JS_MODULES_PATH = 'modules/workers' - -EXTRA_JS_MODULES += [ +EXTRA_JS_MODULES.workers += [ 'require.js' ]
--- a/toolkit/components/workerlz4/moz.build +++ b/toolkit/components/workerlz4/moz.build @@ -1,19 +1,17 @@ # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*- # vim: set filetype=python: # 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/. XPCSHELL_TESTS_MANIFESTS += ['tests/xpcshell/xpcshell.ini'] -JS_MODULES_PATH = 'modules/workers' - -EXTRA_JS_MODULES += [ +EXTRA_JS_MODULES.workers += [ 'lz4.js', 'lz4_internal.js', ] SOURCES += [ 'lz4.cpp', ]
--- a/toolkit/crashreporter/test/Makefile.in +++ b/toolkit/crashreporter/test/Makefile.in @@ -1,14 +1,14 @@ # # 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/. EXTRA_LIBS += $(NSPR_LIBS) -UNIT_FILES = $(SHARED_LIBRARY) $(EXTRA_JS_MODULES) +UNIT_FILES = $(SHARED_LIBRARY) CrashTestUtils.jsm UNIT_DEST = $(DEPTH)/_tests/xpcshell/$(relativesrcdir)/unit/ INSTALL_TARGETS += UNIT UNIT_IPC_FILES = $(UNIT_FILES) UNIT_IPC_DEST = $(DEPTH)/_tests/xpcshell/$(relativesrcdir)/unit_ipc/ INSTALL_TARGETS += UNIT_IPC
--- a/toolkit/devtools/acorn/moz.build +++ b/toolkit/devtools/acorn/moz.build @@ -1,15 +1,13 @@ # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*- # vim: set filetype=python: # 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/. XPCSHELL_TESTS_MANIFESTS += ['tests/unit/xpcshell.ini'] -JS_MODULES_PATH = 'modules/devtools/acorn' - -EXTRA_JS_MODULES += [ +EXTRA_JS_MODULES.devtools.acorn += [ 'acorn.js', 'acorn_loose.js', 'walk.js', ]
--- a/toolkit/devtools/apps/moz.build +++ b/toolkit/devtools/apps/moz.build @@ -1,14 +1,12 @@ # vim: set filetype=python: # 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/. TEST_DIRS += ['tests'] -JS_MODULES_PATH = 'modules/devtools' - -EXTRA_JS_MODULES += [ +EXTRA_JS_MODULES.devtools += [ 'app-actor-front.js', 'Devices.jsm', 'Simulator.jsm' ]
--- a/toolkit/devtools/discovery/moz.build +++ b/toolkit/devtools/discovery/moz.build @@ -1,13 +1,11 @@ # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*- # vim: set filetype=python: # 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/. TEST_DIRS += ['tests'] -JS_MODULES_PATH = 'modules/devtools/discovery' - -EXTRA_JS_MODULES += [ +EXTRA_JS_MODULES.devtools.discovery += [ 'discovery.js', ]
--- a/toolkit/devtools/jsbeautify/moz.build +++ b/toolkit/devtools/jsbeautify/moz.build @@ -1,19 +1,17 @@ # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*- # vim: set filetype=python: # 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/. XPCSHELL_TESTS_MANIFESTS += ['tests/unit/xpcshell.ini'] -JS_MODULES_PATH = 'modules/devtools/jsbeautify' - -EXTRA_JS_MODULES += [ +EXTRA_JS_MODULES.devtools.jsbeautify += [ 'beautify.js', 'lib/sanitytest.js', 'lib/urlencode_unpacker.js', 'src/beautify-css.js', 'src/beautify-html.js', 'src/beautify-js.js', 'src/beautify-tests.js' ]
--- a/toolkit/devtools/pretty-fast/moz.build +++ b/toolkit/devtools/pretty-fast/moz.build @@ -1,13 +1,11 @@ # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*- # vim: set filetype=python: # 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/. XPCSHELL_TESTS_MANIFESTS += ['tests/unit/xpcshell.ini'] -JS_MODULES_PATH = 'modules/devtools' - -EXTRA_JS_MODULES += [ +EXTRA_JS_MODULES.devtools += [ 'pretty-fast.js', ]
--- a/toolkit/devtools/qrcode/decoder/moz.build +++ b/toolkit/devtools/qrcode/decoder/moz.build @@ -1,11 +1,9 @@ # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*- # vim: set filetype=python: # 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/. -JS_MODULES_PATH = 'modules/devtools/qrcode/decoder' - -EXTRA_JS_MODULES += [ +EXTRA_JS_MODULES.devtools.qrcode.decoder += [ 'index.js', ]
--- a/toolkit/devtools/qrcode/encoder/moz.build +++ b/toolkit/devtools/qrcode/encoder/moz.build @@ -1,11 +1,9 @@ # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*- # vim: set filetype=python: # 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/. -JS_MODULES_PATH = 'modules/devtools/qrcode/encoder' - -EXTRA_JS_MODULES += [ +EXTRA_JS_MODULES.devtools.qrcode.encoder += [ 'index.js', ]
--- a/toolkit/devtools/qrcode/moz.build +++ b/toolkit/devtools/qrcode/moz.build @@ -4,16 +4,14 @@ # 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/. DIRS += [ 'decoder', 'encoder' ] -JS_MODULES_PATH = 'modules/devtools/qrcode' - -EXTRA_JS_MODULES += [ +EXTRA_JS_MODULES.devtools.qrcode += [ 'index.js', ] XPCSHELL_TESTS_MANIFESTS += ['tests/unit/xpcshell.ini'] MOCHITEST_CHROME_MANIFESTS += ['tests/mochitest/chrome.ini']
--- a/toolkit/devtools/styleinspector/moz.build +++ b/toolkit/devtools/styleinspector/moz.build @@ -1,11 +1,9 @@ # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*- # vim: set filetype=python: # 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/. -JS_MODULES_PATH = 'modules/devtools/styleinspector' - -EXTRA_JS_MODULES += [ +EXTRA_JS_MODULES.devtools.styleinspector += [ 'css-logic.js' ]
--- a/toolkit/devtools/tern/moz.build +++ b/toolkit/devtools/tern/moz.build @@ -1,19 +1,17 @@ # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*- # vim: set filetype=python: # 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/. XPCSHELL_TESTS_MANIFESTS += ['tests/unit/xpcshell.ini'] -JS_MODULES_PATH = 'modules/devtools/tern' - -EXTRA_JS_MODULES += [ +EXTRA_JS_MODULES.devtools.tern += [ 'browser.js', 'comment.js', 'condense.js', 'def.js', 'ecma5.js', 'infer.js', 'signal.js', 'tern.js',
--- a/toolkit/devtools/transport/moz.build +++ b/toolkit/devtools/transport/moz.build @@ -1,15 +1,13 @@ # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*- # vim: set filetype=python: # 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/. TEST_DIRS += ['tests'] -JS_MODULES_PATH = 'modules/devtools/transport' - -EXTRA_JS_MODULES += [ +EXTRA_JS_MODULES.devtools.transport += [ 'packets.js', 'stream-utils.js', 'transport.js' ]
--- a/toolkit/devtools/webconsole/moz.build +++ b/toolkit/devtools/webconsole/moz.build @@ -3,16 +3,14 @@ # 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/. if CONFIG['OS_TARGET'] != 'Android': MOCHITEST_CHROME_MANIFESTS += ['test/chrome.ini'] XPCSHELL_TESTS_MANIFESTS += ['test/unit/xpcshell.ini'] -JS_MODULES_PATH = 'modules/devtools/toolkit/webconsole' - -EXTRA_JS_MODULES += [ +EXTRA_JS_MODULES.devtools.toolkit.webconsole += [ 'client.js', 'network-helper.js', 'network-monitor.js', 'utils.js', ]
--- a/toolkit/identity/moz.build +++ b/toolkit/identity/moz.build @@ -12,29 +12,27 @@ XPIDL_SOURCES += [ ] XPIDL_MODULE = 'identity' SOURCES += [ 'IdentityCryptoService.cpp', ] -JS_MODULES_PATH = 'modules/identity' - -EXTRA_JS_MODULES += [ +EXTRA_JS_MODULES.identity += [ 'Identity.jsm', 'IdentityProvider.jsm', 'IdentityStore.jsm', 'IdentityUtils.jsm', 'jwcrypto.jsm', 'LogUtils.jsm', 'MinimalIdentity.jsm', 'RelyingParty.jsm', 'Sandbox.jsm', ] -EXTRA_PP_JS_MODULES += [ +EXTRA_PP_JS_MODULES.identity += [ 'FirefoxAccounts.jsm', ] FAIL_ON_WARNINGS = True FINAL_LIBRARY = 'xul'
--- a/toolkit/mozapps/extensions/internal/moz.build +++ b/toolkit/mozapps/extensions/internal/moz.build @@ -1,29 +1,27 @@ # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*- # vim: set filetype=python: # 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/. -JS_MODULES_PATH = 'modules/addons' - -EXTRA_JS_MODULES += [ +EXTRA_JS_MODULES.addons += [ 'AddonLogging.jsm', 'AddonRepository.jsm', 'AddonRepository_SQLiteMigrator.jsm', 'AddonUpdateChecker.jsm', 'Content.js', 'LightweightThemeImageOptimizer.jsm', 'OpenH264Provider.jsm', 'PluginProvider.jsm', 'SpellCheckDictionaryBootstrap.js', ] -EXTRA_PP_JS_MODULES += [ +EXTRA_PP_JS_MODULES.addons += [ 'XPIProvider.jsm', 'XPIProviderUtils.js', ] # This is used in multiple places, so is defined here to avoid it getting # out of sync. DEFINES['MOZ_EXTENSIONS_DB_SCHEMA'] = 16