gecko-dev/mobile/android/build.mk
Andrew Halberstadt 795728d89d Bug 1293295 - Replace all mochitest 'flavor' options with a single --flavor argument, r=jmaher
This accomplishes three things:

1) Easier to use CLI when running without the benefit of testing/mochitest/mach_commands.py
2) Guarantees these arguments are mutually exclusive
3) Simplifies a bunch of logic in the test harness

The primary motivation for this change is to slightly improve the UX when running mochitest
from a taskcluster interactive loaner. However, this is more of a bandaid solution that was
easy to implement before the proper fix in bug 1293259 can be landed.

MozReview-Commit-ID: IeHBGrJ0Sji

--HG--
extra : rebase_source : ba1b7e437881e363fe0051dccd3d732221311c59
2016-08-08 11:48:49 -04:00

67 lines
1.6 KiB
Makefile

# 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)/toolkit/mozapps/installer/package-name.mk
installer:
@$(MAKE) -C mobile/android/installer installer
package:
@$(MAKE) -C mobile/android/installer
ifeq ($(OS_TARGET),Android)
ifneq ($(MOZ_ANDROID_INSTALL_TARGET),)
ANDROID_SERIAL = $(MOZ_ANDROID_INSTALL_TARGET)
endif
ifneq ($(ANDROID_SERIAL),)
export ANDROID_SERIAL
else
# Determine if there's more than one device connected
android_devices=$(words $(filter device,$(shell $(ADB) devices)))
define no_device
@echo 'No devices are connected. Connect a device or start an emulator.'
@exit 1
endef
define multiple_devices
@echo 'Multiple devices are connected. Define ANDROID_SERIAL to specify the install target.'
$(ADB) devices
@exit 1
endef
install::
@# Use foreach to avoid running adb multiple times here
$(foreach val,$(android_devices),\
$(if $(filter 0,$(val)),$(no_device),\
$(if $(filter-out 1,$(val)),$(multiple_devices))))
endif
install::
$(ADB) install -r $(DIST)/$(PKG_PATH)$(PKG_BASENAME).apk
else
@echo 'Mobile can't be installed directly.'
@exit 1
endif
deb: package
@$(MAKE) -C mobile/android/installer deb
upload::
@$(MAKE) -C mobile/android/installer upload
ifdef ENABLE_TESTS
# Implemented in testing/testsuite-targets.mk
mochitest-browser-chrome:
$(RUN_MOCHITEST) --flavor=browser
$(CHECK_TEST_ERROR)
mochitest:: mochitest-browser-chrome
.PHONY: mochitest-browser-chrome
endif
ifeq ($(OS_TARGET),Linux)
deb: installer
endif