author | Wes Kocher <wkocher@mozilla.com> |
Tue, 28 Apr 2015 15:21:19 -0700 | |
changeset 272884 | 6efd5103d7661ae23a16e01006376eb60281aafa |
parent 272883 | 5f39146b24ae890740b7c1bb3ccce190672bbf34 |
child 272885 | 0efce0a97efed09025032ae8e1af0a663e9a7feb |
push id | 863 |
push user | raliiev@mozilla.com |
push date | Mon, 03 Aug 2015 13:22:43 +0000 |
treeherder | mozilla-release@f6321b14228d [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
bugs | 786520 |
milestone | 40.0a1 |
backs out | b03a823e04a2fcc17274e9ad8398c9a184764179 |
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/Makefile.in +++ b/Makefile.in @@ -90,17 +90,17 @@ backend.RecursiveMakeBackend: Makefile: backend.RecursiveMakeBackend @$(TOUCH) $@ include backend.RecursiveMakeBackend.pp default:: backend.RecursiveMakeBackend install_manifests := \ - $(addprefix dist/,bin branding idl include public private sdk xpi-stage) \ + $(addprefix dist/,bin idl include public private sdk xpi-stage) \ _tests \ $(NULL) install_manifest_depends = \ CLOBBER \ $(configure_dir)/configure \ config.status \ backend.RecursiveMakeBackend \ $(NULL)
new file mode 100644 --- /dev/null +++ b/browser/branding/aurora/Makefile.in @@ -0,0 +1,48 @@ +# 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/. + +include $(topsrcdir)/config/config.mk + +ifeq ($(MOZ_WIDGET_TOOLKIT),windows) +BRANDING_FILES := \ + firefox.ico \ + document.ico \ + branding.nsi \ + appname.bmp \ + bgintro.bmp \ + clock.bmp \ + particles.bmp \ + pencil.bmp \ + pencil-rtl.bmp \ + wizHeader.bmp \ + wizHeaderRTL.bmp \ + wizWatermark.bmp \ + newwindow.ico \ + newtab.ico \ + pbmode.ico \ + $(NULL) +endif + +ifeq ($(MOZ_WIDGET_TOOLKIT),cocoa) +BRANDING_FILES := \ + background.png \ + firefox.icns \ + disk.icns \ + document.icns \ + dsstore \ + $(NULL) +endif + +ifdef MOZ_WIDGET_GTK +BRANDING_FILES := \ + default16.png \ + default32.png \ + default48.png \ + mozicon128.png \ + $(NULL) +endif + +BRANDING_DEST := $(DIST)/branding +BRANDING_TARGET := export +INSTALL_TARGETS += BRANDING
--- a/browser/branding/aurora/moz.build +++ b/browser/branding/aurora/moz.build @@ -4,9 +4,12 @@ # 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 += ['content', 'locales'] DIST_SUBDIR = 'browser' export('DIST_SUBDIR') -include('../branding-common.mozbuild') +JS_PREFERENCE_FILES += [ + 'pref/firefox-branding.js', +] +
deleted file mode 100644 --- a/browser/branding/branding-common.mozbuild +++ /dev/null @@ -1,43 +0,0 @@ -# -*- 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_PREFERENCE_FILES += [ - 'pref/firefox-branding.js', -] - -if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows': - BRANDING_FILES += [ - 'appname.bmp', - 'bgintro.bmp', - 'branding.nsi', - 'clock.bmp', - 'document.ico', - 'firefox.ico', - 'newtab.ico', - 'newwindow.ico', - 'particles.bmp', - 'pbmode.ico', - 'pencil-rtl.bmp', - 'pencil.bmp', - 'wizHeader.bmp', - 'wizHeaderRTL.bmp', - 'wizWatermark.bmp', - ] -elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa': - BRANDING_FILES += [ - 'background.png', - 'disk.icns', - 'document.icns', - 'dsstore', - 'firefox.icns', - ] -elif CONFIG['MOZ_WIDGET_GTK']: - BRANDING_FILES += [ - 'default16.png', - 'default32.png', - 'default48.png', - 'mozicon128.png', - ]
new file mode 100644 --- /dev/null +++ b/browser/branding/nightly/Makefile.in @@ -0,0 +1,48 @@ +# 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/. + +include $(topsrcdir)/config/config.mk + +ifeq ($(MOZ_WIDGET_TOOLKIT),windows) +BRANDING_FILES := \ + firefox.ico \ + document.ico \ + branding.nsi \ + appname.bmp \ + bgintro.bmp \ + clock.bmp \ + particles.bmp \ + pencil.bmp \ + pencil-rtl.bmp \ + wizHeader.bmp \ + wizHeaderRTL.bmp \ + wizWatermark.bmp \ + newwindow.ico \ + newtab.ico \ + pbmode.ico \ + $(NULL) +endif + +ifeq ($(MOZ_WIDGET_TOOLKIT),cocoa) +BRANDING_FILES := \ + background.png \ + firefox.icns \ + disk.icns \ + document.icns \ + dsstore \ + $(NULL) +endif + +ifdef MOZ_WIDGET_GTK +BRANDING_FILES := \ + default16.png \ + default32.png \ + default48.png \ + mozicon128.png \ + $(NULL) +endif + +BRANDING_DEST := $(DIST)/branding +BRANDING_TARGET := export +INSTALL_TARGETS += BRANDING
--- a/browser/branding/nightly/moz.build +++ b/browser/branding/nightly/moz.build @@ -4,9 +4,12 @@ # 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 += ['content', 'locales'] DIST_SUBDIR = 'browser' export('DIST_SUBDIR') -include('../branding-common.mozbuild') +JS_PREFERENCE_FILES += [ + 'pref/firefox-branding.js', +] +
new file mode 100644 --- /dev/null +++ b/browser/branding/official/Makefile.in @@ -0,0 +1,48 @@ +# 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/. + +include $(topsrcdir)/config/config.mk + +ifeq ($(MOZ_WIDGET_TOOLKIT),windows) +BRANDING_FILES := \ + firefox.ico \ + document.ico \ + branding.nsi \ + appname.bmp \ + bgintro.bmp \ + clock.bmp \ + particles.bmp \ + pencil.bmp \ + pencil-rtl.bmp \ + wizHeader.bmp \ + wizHeaderRTL.bmp \ + wizWatermark.bmp \ + newwindow.ico \ + newtab.ico \ + pbmode.ico \ + $(NULL) +endif + +ifeq ($(MOZ_WIDGET_TOOLKIT),cocoa) +BRANDING_FILES := \ + background.png \ + firefox.icns \ + disk.icns \ + document.icns \ + dsstore \ + $(NULL) +endif + +ifdef MOZ_WIDGET_GTK +BRANDING_FILES := \ + default16.png \ + default32.png \ + default48.png \ + mozicon128.png \ + $(NULL) +endif + +BRANDING_DEST := $(DIST)/branding +BRANDING_TARGET := export +INSTALL_TARGETS += BRANDING
--- a/browser/branding/official/moz.build +++ b/browser/branding/official/moz.build @@ -4,9 +4,12 @@ # 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 += ['content', 'locales'] DIST_SUBDIR = 'browser' export('DIST_SUBDIR') -include('../branding-common.mozbuild') +JS_PREFERENCE_FILES += [ + 'pref/firefox-branding.js', +] +
new file mode 100644 --- /dev/null +++ b/browser/branding/unofficial/Makefile.in @@ -0,0 +1,48 @@ +# 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/. + +include $(topsrcdir)/config/config.mk + +ifeq ($(MOZ_WIDGET_TOOLKIT),windows) +BRANDING_FILES := \ + firefox.ico \ + document.ico \ + branding.nsi \ + appname.bmp \ + bgintro.bmp \ + clock.bmp \ + particles.bmp \ + pencil.bmp \ + pencil-rtl.bmp \ + wizHeader.bmp \ + wizHeaderRTL.bmp \ + wizWatermark.bmp \ + newwindow.ico \ + newtab.ico \ + pbmode.ico \ + $(NULL) +endif + +ifeq ($(MOZ_WIDGET_TOOLKIT),cocoa) +BRANDING_FILES := \ + background.png \ + firefox.icns \ + disk.icns \ + document.icns \ + dsstore \ + $(NULL) +endif + +ifdef MOZ_WIDGET_GTK +BRANDING_FILES := \ + default16.png \ + default32.png \ + default48.png \ + mozicon128.png \ + $(NULL) +endif + +BRANDING_DEST := $(DIST)/branding +BRANDING_TARGET := export +INSTALL_TARGETS += BRANDING
--- a/browser/branding/unofficial/moz.build +++ b/browser/branding/unofficial/moz.build @@ -4,9 +4,12 @@ # 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 += ['content', 'locales'] DIST_SUBDIR = 'browser' export('DIST_SUBDIR') -include('../branding-common.mozbuild') +JS_PREFERENCE_FILES += [ + 'pref/firefox-branding.js', +] +
--- a/python/mozbuild/mozbuild/backend/recursivemake.py +++ b/python/mozbuild/mozbuild/backend/recursivemake.py @@ -23,17 +23,16 @@ from mozpack.copier import FilePurger from mozpack.manifests import ( InstallManifest, ) import mozpack.path as mozpath from .common import CommonBackend from ..frontend.data import ( AndroidEclipseProjectData, - BrandingFiles, ConfigFileSubstitution, ContextDerived, ContextWrapped, Defines, DistFiles, DirectoryTraversal, Exports, ExternalLibrary, @@ -373,17 +372,16 @@ class RecursiveMakeBackend(CommonBackend self._test_manifests = {} self.backend_input_files.add(mozpath.join(self.environment.topobjdir, 'config', 'autoconf.mk')) self._install_manifests = { k: InstallManifest() for k in [ 'dist_bin', - 'dist_branding', 'dist_idl', 'dist_include', 'dist_public', 'dist_private', 'dist_sdk', 'dist_xpi-stage', 'tests', 'xpidl', @@ -490,19 +488,16 @@ class RecursiveMakeBackend(CommonBackend method=obj.method)) elif isinstance(obj, TestHarnessFiles): self._process_test_harness_files(obj, backend_file) elif isinstance(obj, Resources): self._process_resources(obj, obj.resources, backend_file) - elif isinstance(obj, BrandingFiles): - self._process_branding_files(obj, obj.files, backend_file) - elif isinstance(obj, JsPreferenceFile): if obj.path.startswith('/'): backend_file.write('PREF_JS_EXPORTS += $(topsrcdir)%s\n' % obj.path) else: backend_file.write('PREF_JS_EXPORTS += $(srcdir)/%s\n' % obj.path) elif isinstance(obj, JARManifest): backend_file.write('JAR_MANIFEST := %s\n' % obj.path) @@ -940,32 +935,16 @@ INSTALL_TARGETS += %(prefix)s dep_file = mozpath.join(dep_path, mozpath.basename(source) + '.pp') self._install_manifests['dist_bin'].add_preprocess(source, dest, dep_file, marker='%', defines=obj.defines) else: self._install_manifests['dist_bin'].add_symlink(source, dest) if not os.path.exists(source): raise Exception('File listed in RESOURCE_FILES does not exist: %s' % source) - def _process_branding_files(self, obj, files, backend_file): - for source, dest, flags in self._walk_hierarchy(obj, files): - if flags and flags.source: - source = mozpath.normpath(mozpath.join(obj.srcdir, flags.source)) - if not os.path.exists(source): - raise Exception('File listed in BRANDING_FILES does not exist: %s' % source) - - self._install_manifests['dist_branding'].add_symlink(source, dest) - - # Also emit the necessary rules to create $(DIST)/branding during partial - # tree builds. The locale makefiles rely on this working. - backend_file.write('NONRECURSIVE_TARGETS += export\n') - backend_file.write('NONRECURSIVE_TARGETS_export += branding\n') - backend_file.write('NONRECURSIVE_TARGETS_export_branding_DIRECTORY = $(DEPTH)\n') - backend_file.write('NONRECURSIVE_TARGETS_export_branding_TARGETS += install-dist/branding\n') - def _process_installation_target(self, obj, backend_file): # A few makefiles need to be able to override the following rules via # make XPI_NAME=blah commands, so we default to the lazy evaluation as # much as possible here to avoid breaking things. if obj.xpiname: backend_file.write('XPI_NAME = %s\n' % (obj.xpiname)) if obj.subdir: backend_file.write('DIST_SUBDIR = %s\n' % (obj.subdir))
--- a/python/mozbuild/mozbuild/frontend/context.py +++ b/python/mozbuild/mozbuild/frontend/context.py @@ -948,37 +948,16 @@ VARIABLES = { """, None), 'LD_VERSION_SCRIPT': (unicode, unicode, """The linker version script for shared libraries. This variable can only be used on Linux. """, None), - 'BRANDING_FILES': (HierarchicalStringListWithFlagsFactory({'source': unicode}), list, - """List of files to be installed into the branding directory. - - ``BRANDING_FILES`` will copy (or symlink, if the platform supports it) - the contents of its files to the ``dist/branding`` directory. Files that - are destined for a subdirectory can be specified by accessing a field. - For example, to export ``foo.png`` to the top-level directory and - ``bar.png`` to the directory ``images/subdir``, append to - ``BRANDING_FILES`` like so:: - - BRANDING_FILES += ['foo.png'] - BRANDING_FILES.images.subdir += ['bar.png'] - - If the source and destination have different file names, add the - destination name to the list and set the ``source`` property on the - entry, like so:: - - BRANDING_FILES.dir += ['baz.png'] - BRANDING_FILES.dir['baz.png'].source = 'quux.png' - """, None), - 'RESOURCE_FILES': (HierarchicalStringListWithFlagsFactory({'preprocess': bool}), list, """List of resources to be exported, and in which subdirectories. ``RESOURCE_FILES`` is used to list the resource files to be exported to ``dist/bin/res``, but it can be used for other files as well. This variable behaves as a list when appending filenames for resources in the top-level directory. Files can also be appended to a field to indicate which subdirectory they should be exported to. For example, to export
--- a/python/mozbuild/mozbuild/frontend/data.py +++ b/python/mozbuild/mozbuild/frontend/data.py @@ -243,30 +243,16 @@ class Resources(ContextDerived): ContextDerived.__init__(self, context) self.resources = resources defs = {} defs.update(context.config.defines) if defines: defs.update(defines) self.defines = defs -class BrandingFiles(ContextDerived): - """Sandbox container object for BRANDING_FILES, which is a - HierarchicalStringList. - - We need an object derived from ContextDerived for use in the backend, so - this object fills that role. It just has a reference to the underlying - HierarchicalStringList, which is created when parsing BRANDING_FILES. - """ - __slots__ = ('files') - - def __init__(self, sandbox, files): - ContextDerived.__init__(self, sandbox) - self.files = files - class JsPreferenceFile(ContextDerived): """Context derived container object for a Javascript preference file. Paths are assumed to be relative to the srcdir.""" __slots__ = ('path') def __init__(self, context, path): ContextDerived.__init__(self, context)
--- a/python/mozbuild/mozbuild/frontend/emitter.py +++ b/python/mozbuild/mozbuild/frontend/emitter.py @@ -20,17 +20,16 @@ from mozbuild.util import ( ) import mozpack.path as mozpath import manifestparser import reftest import mozinfo from .data import ( - BrandingFiles, ConfigFileSubstitution, ContextWrapped, Defines, DistFiles, DirectoryTraversal, Exports, FinalTargetFiles, GeneratedEventWebIDLFile, @@ -660,20 +659,16 @@ class TreeMetadataEmitter(LoggingMixin): for f in dist_files: path = os.path.join(context.srcdir, f) if not os.path.exists(path): raise SandboxValidationError('File listed in DIST_FILES ' 'does not exist: %s' % f, context) yield DistFiles(context, dist_files, context['FINAL_TARGET']) - branding_files = context.get('BRANDING_FILES') - if branding_files: - yield BrandingFiles(context, branding_files) - self._handle_libraries(context) for obj in self._process_test_manifests(context): yield obj for obj in self._process_jar_manifests(context): yield obj
deleted file mode 100644 --- a/python/mozbuild/mozbuild/test/backend/data/branding-files/moz.build +++ /dev/null @@ -1,14 +0,0 @@ -# Any copyright is dedicated to the Public Domain. -# http://creativecommons.org/publicdomain/zero/1.0/ - -BRANDING_FILES += [ - 'app.ico', - 'bar.ico', - 'sub/quux.png', -] -BRANDING_FILES['app.ico'].source = 'bar.ico' - -BRANDING_FILES.icons += [ - 'foo.ico', -] -
--- a/python/mozbuild/mozbuild/test/backend/test_recursivemake.py +++ b/python/mozbuild/mozbuild/test/backend/test_recursivemake.py @@ -400,29 +400,16 @@ class TestRecursiveMakeBackend(BackendTe self.assertIn('res/foo.res', m) self.assertIn('res/fonts/font1.ttf', m) self.assertIn('res/fonts/desktop/desktop2.ttf', m) self.assertIn('res/bar.res', m) self.assertIn('res/tests/test.manifest', m) self.assertIn('res/tests/extra.manifest', m) - def test_branding_files(self): - """Ensure BRANDING_FILES is handled properly.""" - env = self._consume('branding-files', RecursiveMakeBackend) - - #BRANDING_FILES should appear in the dist_branding install manifest. - m = InstallManifest(path=os.path.join(env.topobjdir, - '_build_manifests', 'install', 'dist_branding')) - self.assertEqual(len(m), 4) - self.assertIn('app.ico', m) - self.assertIn('bar.ico', m) - self.assertIn('quux.png', m) - self.assertIn('icons/foo.ico', m) - def test_js_preference_files(self): """Ensure PREF_JS_EXPORTS is written out correctly.""" env = self._consume('js_preference_files', RecursiveMakeBackend) backend_path = os.path.join(env.topobjdir, 'backend.mk') lines = [l.strip() for l in open(backend_path, 'rt').readlines()] # Avoid positional parameter and async related breakage
deleted file mode 100644 --- a/python/mozbuild/mozbuild/test/frontend/data/branding-files/moz.build +++ /dev/null @@ -1,15 +0,0 @@ -# Any copyright is dedicated to the Public Domain. -# http://creativecommons.org/publicdomain/zero/1.0/ - -BRANDING_FILES += [ - 'app.ico', - 'bar.ico', - 'baz.png', - 'foo.xpm', -] -BRANDING_FILES['app.ico'].source = 'test/bar.ico' - -BRANDING_FILES.icons += [ - 'quux.icns', -] -
--- a/python/mozbuild/mozbuild/test/frontend/test_emitter.py +++ b/python/mozbuild/mozbuild/test/frontend/test_emitter.py @@ -5,17 +5,16 @@ from __future__ import unicode_literals import os import unittest from mozunit import main from mozbuild.frontend.data import ( - BrandingFiles, ConfigFileSubstitution, Defines, DistFiles, DirectoryTraversal, Exports, GeneratedFile, GeneratedInclude, GeneratedSources, @@ -341,33 +340,16 @@ class TestEmitterBasic(unittest.TestCase self.assertIn('private', nspr._children) private = nspr._children['private'] self.assertEqual(private._strings, ['pprio.res', 'pprthred.res']) self.assertIn('overwrite', resources._children) overwrite = resources._children['overwrite'] self.assertEqual(overwrite._strings, ['new.res']) - def test_branding_files(self): - reader = self.reader('branding-files') - objs = self.read_topsrcdir(reader) - - self.assertEqual(len(objs), 1) - self.assertIsInstance(objs[0], BrandingFiles) - - files = objs[0].files - - self.assertEqual(files._strings, ['app.ico', 'bar.ico', 'baz.png', 'foo.xpm']) - self.assertEqual(files['app.ico'].source, 'test/bar.ico') - - self.assertIn('icons', files._children) - icons = files._children['icons'] - - self.assertEqual(icons._strings, ['quux.icns']) - def test_preferences_js(self): reader = self.reader('js_preference_files') objs = self.read_topsrcdir(reader) prefs = [o.path for o in objs if isinstance(o, JsPreferenceFile)] prefsByDir = [ 'valid_val/prefs.js',
--- a/xulrunner/app/Makefile.in +++ b/xulrunner/app/Makefile.in @@ -33,16 +33,29 @@ libs:: $(INSTALL) $(IFLAGS1) $(DIST)/branding/default32.png $(DIST)/bin/chrome/icons/default $(INSTALL) $(IFLAGS1) $(DIST)/branding/default48.png $(DIST)/bin/chrome/icons/default endif # XXX applications would need to supply this file #export:: brand.dtd.in # $(call py_action,preprocessor,$(DEFINES) $(ACDEFINES) $^ -o brand.dtd) +export:: + $(NSINSTALL) -D $(DIST)/branding +ifeq ($(OS_ARCH),WINNT) + cp $(srcdir)/xulrunner.ico $(DIST)/branding/xulrunner.ico + cp $(srcdir)/xulrunner.ico $(DIST)/branding/app.ico + cp $(srcdir)/document.ico $(DIST)/branding/document.ico +endif +ifdef MOZ_WIDGET_GTK + cp $(srcdir)/default16.png $(DIST)/branding/default16.png + cp $(srcdir)/default32.png $(DIST)/branding/default32.png + cp $(srcdir)/default48.png $(DIST)/branding/default48.png +endif + ifeq (cocoa,$(MOZ_WIDGET_TOOLKIT)) FRAMEWORK_NAME = XUL FRAMEWORK_VERSION = $(MOZILLA_VERSION) FRAMEWORK_DIR = \ $(DIST)/$(FRAMEWORK_NAME).framework/Versions/$(FRAMEWORK_VERSION)
--- a/xulrunner/app/moz.build +++ b/xulrunner/app/moz.build @@ -55,22 +55,8 @@ if CONFIG['OS_ARCH'] == 'WINNT': DISABLE_STL_WRAPPING = True FAIL_ON_WARNINGS = True JS_PREFERENCE_FILES += [ 'xulrunner.js', ] -if CONFIG['OS_ARCH'] == 'WINNT': - BRANDING_FILES += [ - 'app.ico', - 'document.ico', - 'xulrunner.ico', - ] - BRANDING_FILES['app.ico'].source = 'xulrunner.ico' - -if CONFIG['MOZ_WIDGET_GTK']: - BRANDING_FILES += [ - 'default16.png', - 'default32.png', - 'default48.png', - ]