Bug 978211 - add 'pretty' targets for automation; r=glandium
authorMike Shal <mshal@mozilla.com>
Wed, 02 Jul 2014 23:15:10 -0400
changeset 192754 19176ab7d700ce6ea6bc9a7ad60ce15cfa837925
parent 192753 93e07b92f879b13c3369f61696711265340c08ab
child 192755 cf50c2bcdbd246174dccbcf1eaf0176376bd3d87
push id27096
push usercbook@mozilla.com
push dateTue, 08 Jul 2014 12:41:54 +0000
treeherdermozilla-central@cfd7caadb22b [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersglandium
bugs978211
milestone33.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 978211 - add 'pretty' targets for automation; r=glandium
Makefile.in
browser/config/mozconfigs/linux64/debug-nonunified
browser/config/mozconfigs/linux64/nightly-nonunified
build/moz-automation.mk
build/mozconfig.automation
--- a/Makefile.in
+++ b/Makefile.in
@@ -245,19 +245,36 @@ endif
 
 # MOZ_SOURCE_STAMP is defined in package-name.mk with a deferred assignment.
 # exporting it makes make run its $(shell) command for each invoked submake,
 # so transform it to an immediate assignment.
 MOZ_SOURCE_STAMP := $(MOZ_SOURCE_STAMP)
 export MOZ_SOURCE_STAMP
 endif
 
+.PHONY: update-packaging
 update-packaging:
 	$(MAKE) -C tools/update-packaging
 
+.PHONY: pretty-package
+pretty-package:
+	$(MAKE) package MOZ_PKG_PRETTYNAMES=1
+
+.PHONY: pretty-package-tests
+pretty-package-tests:
+	$(MAKE) package-tests MOZ_PKG_PRETTYNAMES=1
+
+.PHONY: pretty-l10n-check
+pretty-l10n-check:
+	$(MAKE) l10n-check MOZ_PKG_PRETTYNAMES=1
+
+.PHONY: pretty-update-packaging
+pretty-update-packaging:
+	$(MAKE) -C tools/update-packaging MOZ_PKG_PRETTYNAMES=1
+
 #XXX: this is a hack, since we don't want to clobber for MSVC
 # PGO support, but we can't do this test in client.mk
 ifneq ($(OS_ARCH)_$(GNU_CC), WINNT_)
 # No point in clobbering if PGO has been explicitly disabled.
 ifndef NO_PROFILE_GUIDED_OPTIMIZE
 maybe_clobber_profiledbuild: clean
 else
 maybe_clobber_profiledbuild:
--- a/browser/config/mozconfigs/linux64/debug-nonunified
+++ b/browser/config/mozconfigs/linux64/debug-nonunified
@@ -1,3 +1,7 @@
+MOZ_AUTOMATION_UPLOAD=0
+MOZ_AUTOMATION_UNITTEST_SENDCHANGE=0
+MOZ_AUTOMATION_CHECK=0
+
 . "$topsrcdir/browser/config/mozconfigs/linux64/debug"
 
 ac_add_options --disable-unified-compilation
--- a/browser/config/mozconfigs/linux64/nightly-nonunified
+++ b/browser/config/mozconfigs/linux64/nightly-nonunified
@@ -1,8 +1,9 @@
 MOZ_AUTOMATION_UPLOAD=0
 MOZ_AUTOMATION_UNITTEST_SENDCHANGE=0
 MOZ_AUTOMATION_TALOS_SENDCHANGE=0
 MOZ_AUTOMATION_CHECK=0
+MOZ_AUTOMATION_PRETTY=1
 
 . "$topsrcdir/browser/config/mozconfigs/linux64/nightly"
 
 ac_add_options --disable-unified-compilation
--- a/build/moz-automation.mk
+++ b/build/moz-automation.mk
@@ -17,27 +17,44 @@ include $(topsrcdir)/toolkit/mozapps/ins
 # the uploaded files.
 AUTOMATION_UPLOAD_OUTPUT = $(DIST)/automation-upload.txt
 
 # Helper variables to convert from MOZ_AUTOMATION_* variables to the
 # corresponding the make target
 tier_BUILD_SYMBOLS = buildsymbols
 tier_CHECK = check
 tier_L10N_CHECK = l10n-check
+tier_PRETTY_L10N_CHECK = pretty-l10n-check
 tier_PACKAGE = package
+tier_PRETTY_PACKAGE = pretty-package
 tier_PACKAGE_TESTS = package-tests
+tier_PRETTY_PACKAGE_TESTS = pretty-package-tests
 tier_UPDATE_PACKAGING = update-packaging
+tier_PRETTY_UPDATE_PACKAGING = pretty-update-packaging
 tier_UPLOAD_SYMBOLS = uploadsymbols
 tier_UPLOAD = upload
 
 # Automation build steps. Everything in MOZ_AUTOMATION_TIERS also gets used in
 # TIERS for mach display. As such, the MOZ_AUTOMATION_TIERS are roughly sorted
 # here in the order that they will be executed (since mach doesn't know of the
 # dependencies between them).
-moz_automation_symbols = PACKAGE_TESTS BUILD_SYMBOLS UPLOAD_SYMBOLS PACKAGE UPDATE_PACKAGING CHECK L10N_CHECK UPLOAD
+moz_automation_symbols = \
+  PACKAGE_TESTS \
+  PRETTY_PACKAGE_TESTS \
+  BUILD_SYMBOLS \
+  UPLOAD_SYMBOLS \
+  PACKAGE \
+  PRETTY_PACKAGE \
+  UPDATE_PACKAGING \
+  PRETTY_UPDATE_PACKAGING \
+  CHECK \
+  L10N_CHECK \
+  PRETTY_L10N_CHECK \
+  UPLOAD \
+  $(NULL)
 MOZ_AUTOMATION_TIERS := $(foreach sym,$(moz_automation_symbols),$(if $(filter 1,$(MOZ_AUTOMATION_$(sym))),$(tier_$(sym))))
 
 # Dependencies between automation build steps
 automation/uploadsymbols: automation/buildsymbols
 
 automation/update-packaging: automation/package
 
 automation/l10n-check: automation/package
@@ -48,16 +65,23 @@ automation/upload: automation/buildsymbo
 automation/upload: automation/update-packaging
 
 # automation/package and automation/check should depend on build (which is
 # implicit due to the way client.mk invokes automation/build), but buildsymbols
 # changes the binaries/libs, and that's what we package/test.
 automation/package: automation/buildsymbols
 automation/check: automation/buildsymbols
 
+# The 'pretty' versions of targets run before the regular ones to avoid
+# conflicts in writing to the same files.
+automation/package: automation/pretty-package
+automation/package-tests: automation/pretty-package-tests
+automation/l10n-check: automation/pretty-l10n-check
+automation/update-packaging: automation/pretty-update-packaging
+
 automation/build: $(addprefix automation/,$(MOZ_AUTOMATION_TIERS))
 	$(PYTHON) $(topsrcdir)/build/gen_mach_buildprops.py --complete-mar-file $(DIST)/$(COMPLETE_MAR) --upload-output $(AUTOMATION_UPLOAD_OUTPUT)
 
 # make check runs with the keep-going flag so we can see all the failures
 AUTOMATION_EXTRA_CMDLINE-check = -k
 
 # We need the log from make upload to grep it for urls in order to set
 # properties.
--- a/build/mozconfig.automation
+++ b/build/mozconfig.automation
@@ -14,8 +14,20 @@ mk_add_options "export MOZ_AUTOMATION_CH
 mk_add_options "export MOZ_AUTOMATION_L10N_CHECK=${MOZ_AUTOMATION_L10N_CHECK-1}"
 mk_add_options "export MOZ_AUTOMATION_PACKAGE=${MOZ_AUTOMATION_PACKAGE-1}"
 mk_add_options "export MOZ_AUTOMATION_PACKAGE_TESTS=${MOZ_AUTOMATION_PACKAGE_TESTS-1}"
 mk_add_options "export MOZ_AUTOMATION_TALOS_SENDCHANGE=${MOZ_AUTOMATION_TALOS_SENDCHANGE-1}"
 mk_add_options "export MOZ_AUTOMATION_UNITTEST_SENDCHANGE=${MOZ_AUTOMATION_UNITTEST_SENDCHANGE-1}"
 mk_add_options "export MOZ_AUTOMATION_UPDATE_PACKAGING=${MOZ_AUTOMATION_UPDATE_PACKAGING-0}"
 mk_add_options "export MOZ_AUTOMATION_UPLOAD=${MOZ_AUTOMATION_UPLOAD-1}"
 mk_add_options "export MOZ_AUTOMATION_UPLOAD_SYMBOLS=${MOZ_AUTOMATION_UPLOAD_SYMBOLS-0}"
+
+# If we are also building with MOZ_PKG_PRETTYNAMES, set the corresponding
+# stages.
+if test "$MOZ_AUTOMATION_PRETTY" = "1"; then
+    mk_add_options "export MOZ_AUTOMATION_PRETTY_PACKAGE=${MOZ_AUTOMATION_PACKAGE-1}"
+    mk_add_options "export MOZ_AUTOMATION_PRETTY_PACKAGE_TESTS=${MOZ_AUTOMATION_PACKAGE_TESTS-1}"
+    mk_add_options "export MOZ_AUTOMATION_PRETTY_L10N_CHECK=${MOZ_AUTOMATION_L10N_CHECK-1}"
+
+    # Note that we always build the update packaging with pretty names even if
+    # we don't build it without, so this is set to 1.
+    mk_add_options "export MOZ_AUTOMATION_PRETTY_UPDATE_PACKAGING=1"
+fi