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 200153 436351a9370aec78fe515e169440f079325198d2
parent 200152 85b3a50cd5517261be03306c4141c7d943425e09
child 200154 a73f5ffa42473158be269522cc81174c62352b21
push id1
push userroot
push dateMon, 20 Oct 2014 17:29:22 +0000
reviewersgps
bugs1054476
milestone34.0a1
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',
 ]