# 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/.

TESTPATH := $(srcdir)/src/org/mozilla/gecko/tests

ANDROID_EXTRA_JARS += \
  $(srcdir)/libs/robotium-solo-4.3.1.jar \
  $(NULL)

_JAVA_HARNESS := \
  Actions.java \
  Assert.java \
  Driver.java \
  Element.java \
  FennecInstrumentationTestRunner.java \
  FennecNativeActions.java \
  FennecMochitestAssert.java \
  FennecTalosAssert.java \
  FennecNativeDriver.java \
  FennecNativeElement.java \
  LaunchFennecWithConfigurationActivity.java \
  RoboCopException.java \
  RobocopShare1.java \
  RobocopShare2.java \
  RobocopUtils.java \
  PaintedSurface.java \
  StructuredLogger.java \
  $(NULL)

java-harness := $(addprefix $(srcdir)/src/org/mozilla/gecko/,$(_JAVA_HARNESS))
java-tests   := \
  $(wildcard $(TESTPATH)/*.java) \
  $(wildcard $(TESTPATH)/components/*.java) \
  $(wildcard $(TESTPATH)/helpers/*.java)

PP_TARGETS += manifest
manifest := $(srcdir)/AndroidManifest.xml.in
manifest_TARGET := export
manifest_FLAGS += \
  -DMOZ_ANDROID_SHARED_ID='$(ANDROID_PACKAGE_NAME).sharedID' \
  $(NULL)

ANDROID_MANIFEST_FILE := $(CURDIR)/AndroidManifest.xml

GARBAGE += \
  AndroidManifest.xml \
  $(NULL)

JAVAFILES += \
  $(java-harness) \
  $(java-tests) \
  $(NULL)

include $(topsrcdir)/config/rules.mk

tools:: $(ANDROID_APK_NAME).apk

# The test APK needs to know the contents of the target APK while not
# being linked against them.  This is a best effort to avoid getting
# out of sync with base's build config.
jars_dir := $(DEPTH)/mobile/android/base
stumbler_jars_dir := $(DEPTH)/mobile/android/stumbler
ANDROID_CLASSPATH_JARS += \
  $(wildcard $(jars_dir)/*.jar) \
  $(wildcard $(stumbler_jars_dir)/*.jar) \
  $(NULL)
# We don't have transitive dependencies: these are the browser jar
# dependencies inserted manually.
ANDROID_CLASSPATH_JARS += \
  $(ANDROID_SUPPORT_V4_AAR_LIB) \
  $(ANDROID_SUPPORT_V4_AAR_INTERNAL_LIB) \
  $(ANDROID_RECYCLERVIEW_V7_AAR_LIB) \
  $(ANDROID_APPCOMPAT_V7_AAR_LIB) \
  $(NULL)
