summaryrefslogtreecommitdiff
path: root/odk/build-examples_common.mk
diff options
context:
space:
mode:
authorRene Engelhard <rene@debian.org>2018-04-24 14:12:38 +0200
committerRene Engelhard <rene@debian.org>2018-04-24 22:29:07 +0200
commitd3fd9d026592a7c180f2abf763c618624fe016e7 (patch)
tree26fed49bf82556b229be587f043f4732f6148f32 /odk/build-examples_common.mk
parent336d91a6f2bc12ff0342f984cdbb2cf64abd0b56 (diff)
split odk/build-examples Java tests out into a build-examples_java test
... since archs with the "Zero VM" take loooong otherwise and eventually gets killed after 150 minutes of "inactivity" (no output) Change-Id: If421378920c791fdc5d165cc452bdd40e136c8d1
Diffstat (limited to 'odk/build-examples_common.mk')
-rw-r--r--odk/build-examples_common.mk48
1 files changed, 48 insertions, 0 deletions
diff --git a/odk/build-examples_common.mk b/odk/build-examples_common.mk
new file mode 100644
index 000000000000..7459afd45b92
--- /dev/null
+++ b/odk/build-examples_common.mk
@@ -0,0 +1,48 @@
+$(eval $(call gb_CustomTarget_CustomTarget,$(testname)))
+
+.PHONY: $(call gb_CustomTarget_get_target,$(testname))
+
+$(call gb_CustomTarget_get_target,$(testname)): \
+ $(call gb_CustomTarget_get_workdir,$(testname))/setsdkenv
+ifneq ($(gb_SUPPRESS_TESTS),)
+ @true
+else
+ $(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),CHK,1)
+ rm -fr $(call gb_CustomTarget_get_workdir,$(testname))/{out,user}
+ifeq (MACOSX,$(OS))
+ $(eval ODK_BUILD_SHELL := $(shell $(gb_MKTEMP)))
+ cp /bin/sh "$(ODK_BUILD_SHELL)"
+ chmod 0700 "$(ODK_BUILD_SHELL)"
+endif
+ (saved_library_path=$${$(gb_Helper_LIBRARY_PATH_VAR)} && . $< \
+ $(if $(filter MACOSX,$(OS)),, \
+ && $(gb_Helper_LIBRARY_PATH_VAR)=$$saved_library_path) \
+ && export \
+ UserInstallation=$(call gb_Helper_make_url,$(call gb_CustomTarget_get_workdir,$(testname))/user) \
+ $(foreach my_dir,$(my_example_dirs), \
+ && (cd $(INSTDIR)/$(SDKDIRNAME)/examples/$(my_dir) \
+ && printf 'yes\n' | LC_ALL=C make \
+ $(if $(filter MACOSX,$(OS)), SHELL=$(ODK_BUILD_SHELL), )))) \
+ >$(call gb_CustomTarget_get_workdir,$(testname))/log 2>&1 \
+ || (RET=$$? \
+ $(if $(filter MACOSX,$(OS)), && rm -f $(ODK_BUILD_SHELL) , ) \
+ && cat $(call gb_CustomTarget_get_workdir,$(testname))/log \
+ && exit $$RET)
+ifeq (MACOSX,$(OS))
+ -rm -f $(ODK_BUILD_SHELL)
+endif
+endif
+
+$(call gb_CustomTarget_get_workdir,$(testname))/setsdkenv: \
+ $(SRCDIR)/odk/config/setsdkenv_unix.sh.in \
+ $(BUILDDIR)/config_$(gb_Side).mk | \
+ $(call gb_CustomTarget_get_workdir,$(testname))/.dir
+ $(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),SED,1)
+ sed -e 's!@OO_SDK_NAME@!sdk!' \
+ -e 's!@OO_SDK_HOME@!$(INSTDIR)/$(SDKDIRNAME)!' \
+ -e 's!@OFFICE_HOME@!$(INSTROOTBASE)!' -e 's!@OO_SDK_MAKE_HOME@!!' \
+ -e 's!@OO_SDK_ZIP_HOME@!!' -e 's!@OO_SDK_CAT_HOME@!!' \
+ -e 's!@OO_SDK_SED_HOME@!!' -e 's!@OO_SDK_CPP_HOME@!!' \
+ -e 's!@OO_SDK_JAVA_HOME@!$(JAVA_HOME)!' \
+ -e 's!@OO_SDK_OUTPUT_DIR@!$(call gb_CustomTarget_get_workdir,$(testname))/out!' \
+ -e 's!@SDK_AUTO_DEPLOYMENT@!YES!' $< > $@