Add aglwgt class
authorJan-Simon Möller <jsmoeller@linuxfoundation.org>
Wed, 28 Dec 2016 13:54:42 +0000 (14:54 +0100)
committerStephane Desneux <stephane.desneux@iot.bzh>
Mon, 27 Mar 2017 13:33:39 +0000 (15:33 +0200)
This change adds a aglwgt.bbclass which does:
- simplify the application (wrapper) recipes within AGL
- enforces that 'make package' is present to guarantee the SDK workflow works
- places the wgt in the standard location of the AGL reference distro /usr/AGL/apps/

Later the following features will be added to the class:
- automatic generation of a wrapper for smoke-test of install/uninstall operations (ptest script)
- build-time format checks

Change-Id: Ie4f8281061febf3495d33bb1483f8c64b54ed8e9
Signed-off-by: Jan-Simon Möller <jsmoeller@linuxfoundation.org>
Signed-off-by: Stephane Desneux <stephane.desneux@iot.bzh>
meta-app-framework/classes/aglwgt.bbclass [new file with mode: 0644]

diff --git a/meta-app-framework/classes/aglwgt.bbclass b/meta-app-framework/classes/aglwgt.bbclass
new file mode 100644 (file)
index 0000000..f7da1e4
--- /dev/null
@@ -0,0 +1,37 @@
+#
+# aglwgt bbclass
+#
+# Jan-Simon Moeller, jsmoeller@linuxfoundation.org
+#
+# This class expects a "make package" target in the makefile
+# which creates the wgt files in the package/ subfolder.
+# The makefile needs to use wgtpkg-pack.
+#
+
+
+# 'wgtpkg-pack' in af-main-native is required.
+DEPENDS_append = " af-main-native"
+
+# for bindings  af-binder is required.
+DEPENDS_append = " af-binder"
+
+do_aglwgt_package()  {
+        cd ${B}
+        make package || ( \
+          bbwarn "Your makefile must support the 'make package' target" ; \
+          bbwarn "and generate a .wgt file using wgtpack in the"; \
+          bbwarn "subfolder ./package/ !" ; \
+          bbwarn "Fix your package as it will not work within the SDK" ; \
+          bbwarn "See: https://wiki.automotivelinux.org/troubleshooting/app-recipes" \
+                        )
+}
+
+do_aglwgt_deploy() {
+        install -d ${D}/usr/AGL/apps
+        install -m 0644 ${B}/package/*.wgt ${D}/usr/AGL/apps/
+}
+
+FILES_${PN} += " /usr/AGL/apps/*.wgt "
+
+addtask aglwgt_package before do_build after do_compile
+addtask aglwgt_deploy  before do_build after do_install
\ No newline at end of file