Bug 1155816 - part 1 - move NO_JS_MANIFEST to moz.build; r=mshal
authorNathan Froyd <froydnj@mozilla.com>
Fri, 17 Apr 2015 14:50:12 -0400
changeset 240984 00a8bcfe966d42b340ccb20ac887eace70ae92bc
parent 240983 dacd2e48fbfc2dfb7679efd1ba2c918cd6653cd7
child 240985 06d662c40b95f0625cc44be19cef6758861dd127
push id58986
push usernfroyd@mozilla.com
push dateFri, 24 Apr 2015 19:10:56 +0000
treeherdermozilla-inbound@06d662c40b95 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmshal
bugs1155816
milestone40.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
Bug 1155816 - part 1 - move NO_JS_MANIFEST to moz.build; r=mshal
python/mozbuild/mozbuild/backend/recursivemake.py
python/mozbuild/mozbuild/frontend/context.py
python/mozbuild/mozbuild/frontend/emitter.py
testing/specialpowers/Makefile.in
testing/specialpowers/moz.build
tools/quitter/Makefile.in
tools/quitter/moz.build
--- a/python/mozbuild/mozbuild/backend/recursivemake.py
+++ b/python/mozbuild/mozbuild/backend/recursivemake.py
@@ -94,16 +94,17 @@ MOZBUILD_VARIABLES = [
     'JAVA_JAR_TARGETS',
     'LD_VERSION_SCRIPT',
     'LIBRARY_NAME',
     'LIBS',
     'MAKE_FRAMEWORK',
     'MODULE',
     'MSVC_ENABLE_PGO',
     'NO_DIST_INSTALL',
+    'NO_JS_MANIFEST',
     'OS_LIBS',
     'PARALLEL_DIRS',
     'PREF_JS_EXPORTS',
     'PROGRAM',
     'PYTHON_UNIT_TESTS',
     'RESOURCE_FILES',
     'SDK_HEADERS',
     'SDK_LIBRARY',
--- a/python/mozbuild/mozbuild/frontend/context.py
+++ b/python/mozbuild/mozbuild/frontend/context.py
@@ -1248,16 +1248,27 @@ VARIABLES = {
     'USE_EXTENSION_MANIFEST': (bool, bool,
         """Controls the name of the manifest for JAR files.
 
         By default, the name of the manifest is ${JAR_MANIFEST}.manifest.
         Setting this variable to ``True`` changes the name of the manifest to
         chrome.manifest.
         """, None),
 
+    'NO_JS_MANIFEST': (bool, bool,
+        """Explicitly disclaims responsibility for manifest listing in EXTRA_COMPONENTS.
+
+        Normally, if you have .js files listed in ``EXTRA_COMPONENTS`` or
+        ``EXTRA_PP_COMPONENTS``, you are expected to have a corresponding
+        .manifest file to go with those .js files.  Setting ``NO_JS_MANIFEST``
+        indicates that the relevant .manifest file and entries for those .js
+        files are elsehwere (jar.mn, for instance) and this state of affairs
+        is OK.
+        """, None),
+
     'GYP_DIRS': (StrictOrderingOnAppendListWithFlagsFactory({
             'variables': dict,
             'input': unicode,
             'sandbox_vars': dict,
             'non_unified_sources': StrictOrderingOnAppendList,
         }), list,
         """Defines a list of object directories handled by gyp configurations.
 
--- a/python/mozbuild/mozbuild/frontend/emitter.py
+++ b/python/mozbuild/mozbuild/frontend/emitter.py
@@ -547,16 +547,17 @@ class TreeMetadataEmitter(LoggingMixin):
             'PYTHON_UNIT_TESTS',
             'RCFILE',
             'RESFILE',
             'RCINCLUDE',
             'DEFFILE',
             'WIN32_EXE_LDFLAGS',
             'LD_VERSION_SCRIPT',
             'USE_EXTENSION_MANIFEST',
+            'NO_JS_MANIFEST',
         ]
         for v in varlist:
             if v in context and context[v]:
                 passthru.variables[v] = context[v]
 
         if context.config.substs.get('OS_TARGET') == 'WINNT' and \
                 context['DELAYLOAD_DLLS']:
             context['LDFLAGS'].extend([('-DELAYLOAD:%s' % dll)
--- a/testing/specialpowers/Makefile.in
+++ b/testing/specialpowers/Makefile.in
@@ -1,14 +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/.
 
-NO_JS_MANIFEST = 1
 MOZ_CHROME_FILE_FORMAT = flat
 
 TEST_EXTENSIONS_DIR = $(DEPTH)/testing/specialpowers
 
 include $(topsrcdir)/config/rules.mk
 
 libs-preqs = \
   $(call mkdir_deps,$(TEST_EXTENSIONS_DIR)) \
--- a/testing/specialpowers/moz.build
+++ b/testing/specialpowers/moz.build
@@ -8,10 +8,11 @@ EXTRA_COMPONENTS += [
     'components/SpecialPowersObserver.js',
 ]
 
 XPI_NAME = 'specialpowers'
 
 JAR_MANIFESTS += ['jar.mn']
 
 USE_EXTENSION_MANIFEST = True
+NO_JS_MANIFEST = True
 
 DIST_FILES += ['install.rdf']
--- a/tools/quitter/Makefile.in
+++ b/tools/quitter/Makefile.in
@@ -1,7 +1,6 @@
 #
 # 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/.
 
 XPI_PKGNAME = quitter@mozilla.org
-NO_JS_MANIFEST = 1
--- a/tools/quitter/moz.build
+++ b/tools/quitter/moz.build
@@ -8,13 +8,14 @@ EXTRA_COMPONENTS += [
     'QuitterObserver.js',
 ]
 
 XPI_NAME = 'quitter'
 
 JAR_MANIFESTS += ['jar.mn']
 
 USE_EXTENSION_MANIFEST = True
+NO_JS_MANIFEST = True
 
 DIST_FILES += [
     'chrome.manifest',
     'install.rdf',
 ]