Bug 1054476 - move INSTALL_TARGETS in services/ Makefiles to EXTRA_{PP_,}JS_MODULES; r=gps
authorNathan Froyd <froydnj@mozilla.com>
Mon, 28 Jul 2014 15:24:01 -0400
changeset 221779 436351a9370aec78fe515e169440f079325198d2
parent 221778 85b3a50cd5517261be03306c4141c7d943425e09
child 221780 a73f5ffa42473158be269522cc81174c62352b21
push id3979
push userraliiev@mozilla.com
push dateMon, 13 Oct 2014 16:35:44 +0000
treeherdermozilla-beta@30f2cc610691 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersgps
bugs1054476
milestone34.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 1054476 - move INSTALL_TARGETS in services/ Makefiles to EXTRA_{PP_,}JS_MODULES; r=gps
services/common/Makefile.in
services/common/moz.build
services/crypto/Makefile.in
services/crypto/moz.build
services/datareporting/Makefile.in
services/datareporting/moz.build
services/healthreport/Makefile.in
services/healthreport/moz.build
services/metrics/Makefile.in
services/metrics/moz.build
services/sync/Makefile.in
services/sync/moz.build
--- a/services/common/Makefile.in
+++ b/services/common/Makefile.in
@@ -1,38 +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/.
 
-modules := \
-  hawkclient.js \
-  hawkrequest.js \
-  storageservice.js \
-  stringbundle.js \
-  tokenserverclient.js \
-  utils.js \
-  $(NULL)
-
-pp_modules := \
-  async.js \
-  bagheeraclient.js \
-  observers.js \
-  rest.js \
-  $(NULL)
-
 PREF_JS_EXPORTS := $(srcdir)/services-common.js
 
-MODULES_FILES := $(modules)
-MODULES_DEST = $(FINAL_TARGET)/modules/services-common
-INSTALL_TARGETS += MODULES
-
-PP_JS_MODULES := $(pp_modules)
-PP_JS_MODULES_PATH = $(FINAL_TARGET)/modules/services-common
-PP_TARGETS += PP_JS_MODULES
-
 include $(topsrcdir)/config/rules.mk
 
 # What follows is a helper to launch a standalone storage server instance.
 # Most of the code lives in a Python script in the tests directory. If we
 # ever consolidate our Python code, and/or have a supplemental driver for the
 # build system, this can go away.
 
 server_port := 8080
--- a/services/common/moz.build
+++ b/services/common/moz.build
@@ -5,14 +5,30 @@
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 TEST_DIRS += ['tests']
 
 EXTRA_COMPONENTS += [
     'servicesComponents.manifest',
 ]
 
+EXTRA_JS_MODULES['services-common'] += [
+    'hawkclient.js',
+    'hawkrequest.js',
+    'storageservice.js',
+    'stringbundle.js',
+    'tokenserverclient.js',
+    'utils.js',
+]
+
+EXTRA_PP_JS_MODULES['services-common'] += [
+    'async.js',
+    'bagheeraclient.js',
+    'observers.js',
+    'rest.js',
+]
+
 TESTING_JS_MODULES.services.common += [
     'modules-testing/bagheeraserver.js',
     'modules-testing/logging.js',
     'modules-testing/storageserver.js',
     'modules-testing/utils.js',
 ]
deleted file mode 100644
--- a/services/crypto/Makefile.in
+++ /dev/null
@@ -1,12 +0,0 @@
-# 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/.
-
-modules := \
-  utils.js \
-  WeaveCrypto.js \
-  $(NULL)
-
-CRYPTO_MODULE_FILES := $(addprefix modules/,$(modules))
-CRYPTO_MODULE_DEST = $(FINAL_TARGET)/modules/services-crypto
-INSTALL_TARGETS += CRYPTO_MODULE
--- a/services/crypto/moz.build
+++ b/services/crypto/moz.build
@@ -2,11 +2,16 @@
 # 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/.
 
 DIRS += ['component']
 TEST_DIRS += ['tests']
 
+EXTRA_JS_MODULES['services-crypto'] += [
+    'modules/utils.js',
+    'modules/WeaveCrypto.js',
+]
+
 EXTRA_COMPONENTS += [
     'cryptoComponents.manifest',
 ]
deleted file mode 100644
--- a/services/datareporting/Makefile.in
+++ /dev/null
@@ -1,11 +0,0 @@
-# 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/.
-
-MODULES := policy.jsm sessions.jsm
-MODULES_PATH = $(FINAL_TARGET)/modules/services/datareporting
-PP_TARGETS += MODULES
-
-include $(topsrcdir)/config/rules.mk
-
-$(FINAL_TARGET)/components/DataReportingService.js: policy.jsm sessions.jsm ../common/observers.js
--- a/services/datareporting/moz.build
+++ b/services/datareporting/moz.build
@@ -9,11 +9,16 @@ TEST_DIRS += ['tests']
 EXTRA_COMPONENTS += [
     'DataReporting.manifest',
 ]
 
 EXTRA_PP_COMPONENTS += [
     'DataReportingService.js',
 ]
 
+EXTRA_PP_JS_MODULES.services.datareporting += [
+    'policy.jsm',
+    'sessions.jsm',
+]
+
 TESTING_JS_MODULES.services.datareporting += [
     'modules-testing/mocks.jsm',
 ]
deleted file mode 100644
--- a/services/healthreport/Makefile.in
+++ /dev/null
@@ -1,19 +0,0 @@
-# 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/.
-
-modules := \
-  healthreporter.jsm \
-  profile.jsm \
-  providers.jsm \
-  $(NULL)
-
-MAIN_JS_MODULE := HealthReport.jsm
-MAIN_JS_MODULE_PATH = $(FINAL_TARGET)/modules
-MAIN_JS_MODULE_FLAGS := $(extra_pp_flags)
-PP_TARGETS += MAIN_JS_MODULE
-
-MODULES := $(modules)
-MODULES_PATH = $(FINAL_TARGET)/modules/services/healthreport
-MODULES_FLAGS := $(extra_pp_flags)
-PP_TARGETS += MODULES
--- a/services/healthreport/moz.build
+++ b/services/healthreport/moz.build
@@ -7,11 +7,21 @@
 SPHINX_TREES['healthreport'] = 'docs'
 
 TEST_DIRS += ['tests']
 
 EXTRA_PP_COMPONENTS += [
     'HealthReportComponents.manifest',
 ]
 
+EXTRA_PP_JS_MODULES += [
+    'HealthReport.jsm',
+]
+
+EXTRA_PP_JS_MODULES.services.healthreport += [
+    'healthreporter.jsm',
+    'profile.jsm',
+    'providers.jsm',
+]
+
 TESTING_JS_MODULES.services.healthreport += [
     'modules-testing/utils.jsm',
 ]
deleted file mode 100644
--- a/services/metrics/Makefile.in
+++ /dev/null
@@ -1,14 +0,0 @@
-# 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/.
-
-# We install Metrics.jsm into the "main" JSM repository and the rest in
-# services. External consumers should only go through Metrics.jsm.
-MAIN_JS_MODULE := Metrics.jsm
-MAIN_JS_MODULE_PATH = $(FINAL_TARGET)/modules
-PP_TARGETS += MAIN_JS_MODULE
-
-include $(topsrcdir)/config/rules.mk
-
-# Add extra prerequisites until bug 837792 is addressed.
-$(FINAL_TARGET)/modules/Metrics.jsm: Metrics.jsm providermanager.jsm dataprovider.jsm storage.jsm
--- a/services/metrics/moz.build
+++ b/services/metrics/moz.build
@@ -1,16 +1,22 @@
 # -*- 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']
 
+# We install Metrics.jsm into the "main" JSM repository and the rest in
+# services. External consumers should only go through Metrics.jsm.
+EXTRA_PP_JS_MODULES += [
+    'Metrics.jsm',
+]
+
 EXTRA_PP_JS_MODULES.services.metrics += [
     'dataprovider.jsm',
     'providermanager.jsm',
     'storage.jsm',
 ]
 
 TESTING_JS_MODULES.services.metrics += [
     'modules-testing/mocks.jsm',
--- a/services/sync/Makefile.in
+++ b/services/sync/Makefile.in
@@ -9,63 +9,9 @@ weave_id      := {340c2bbc-ce74-4362-90b
 # Preprocess files.
 SYNC_PP := modules/constants.js
 SYNC_PP_FLAGS := \
  -Dweave_version=$(weave_version) \
  -Dweave_id='$(weave_id)'
 SYNC_PP_PATH = $(FINAL_TARGET)/modules/services-sync
 PP_TARGETS += SYNC_PP
 
-# The set of core JavaScript modules for Sync. These are copied as-is.
-sync_modules := \
-  addonsreconciler.js \
-  addonutils.js \
-  browserid_identity.js \
-  engines.js \
-  healthreport.jsm \
-  identity.js \
-  jpakeclient.js \
-  keys.js \
-  main.js \
-  notifications.js \
-  policies.js \
-  record.js \
-  resource.js \
-  rest.js \
-  service.js \
-  status.js \
-  userapi.js \
-  util.js \
-  $(NULL)
-
-# The set of JavaScript modules provide engines for Sync. These are
-# copied as-is.
-sync_engine_modules := \
-  addons.js \
-  bookmarks.js \
-  clients.js \
-  forms.js \
-  history.js \
-  passwords.js \
-  prefs.js \
-  tabs.js \
-  $(NULL)
-
-sync_stage_modules := \
-  cluster.js \
-  declined.js \
-  enginesync.js \
-  $(NULL)
-
 PREF_JS_EXPORTS := $(srcdir)/services-sync.js
-
-# Install JS module files.
-SYNC_MAIN_FILES := $(addprefix modules/,$(sync_modules))
-SYNC_MAIN_DEST = $(FINAL_TARGET)/modules/services-sync
-INSTALL_TARGETS += SYNC_MAIN
-
-SYNC_ENGINES_FILES := $(addprefix modules/engines/,$(sync_engine_modules))
-SYNC_ENGINES_DEST = $(FINAL_TARGET)/modules/services-sync/engines
-INSTALL_TARGETS += SYNC_ENGINES
-
-SYNC_STAGES_FILES := $(addprefix modules/stages/,$(sync_stage_modules))
-SYNC_STAGES_DEST = $(FINAL_TARGET)/modules/services-sync/stages
-INSTALL_TARGETS += SYNC_STAGES
--- a/services/sync/moz.build
+++ b/services/sync/moz.build
@@ -10,14 +10,52 @@ TEST_DIRS += ['tests']
 EXTRA_COMPONENTS += [
     'Weave.js',
 ]
 
 EXTRA_PP_COMPONENTS += [
     'SyncComponents.manifest',
 ]
 
+EXTRA_JS_MODULES['services-sync'] += [
+    'modules/addonsreconciler.js',
+    'modules/addonutils.js',
+    'modules/browserid_identity.js',
+    'modules/engines.js',
+    'modules/healthreport.jsm',
+    'modules/identity.js',
+    'modules/jpakeclient.js',
+    'modules/keys.js',
+    'modules/main.js',
+    'modules/notifications.js',
+    'modules/policies.js',
+    'modules/record.js',
+    'modules/resource.js',
+    'modules/rest.js',
+    'modules/service.js',
+    'modules/status.js',
+    'modules/userapi.js',
+    'modules/util.js',
+]
+
+EXTRA_JS_MODULES['services-sync'].engines += [
+    'modules/engines/addons.js',
+    'modules/engines/bookmarks.js',
+    'modules/engines/clients.js',
+    'modules/engines/forms.js',
+    'modules/engines/history.js',
+    'modules/engines/passwords.js',
+    'modules/engines/prefs.js',
+    'modules/engines/tabs.js',
+]
+
+EXTRA_JS_MODULES['services-sync'].stages += [
+    'modules/stages/cluster.js',
+    'modules/stages/declined.js',
+    'modules/stages/enginesync.js',
+]
+
 TESTING_JS_MODULES.services.sync += [
     'modules-testing/fakeservices.js',
     'modules-testing/fxa_utils.js',
     'modules-testing/rotaryengine.js',
     'modules-testing/utils.js',
 ]