Widget packaging rework
[AGL/meta-agl-demo.git] / recipes-platform / packagegroups / packagegroup-agl-demo-platform.bb
old mode 100755 (executable)
new mode 100644 (file)
index 637bbb2..61b76a5
@@ -5,8 +5,10 @@ LICENSE = "MIT"
 
 inherit packagegroup
 
+PROVIDES = "${PACKAGES}"
 PACKAGES = "\
     packagegroup-agl-demo-platform \
+    packagegroup-agl-demo-platform-devel \
     "
 
 ALLOW_EMPTY_${PN} = "1"
@@ -17,57 +19,84 @@ RDEPENDS_${PN} += "\
 
 RDEPENDS_${PN} += "\
     packagegroup-agl-profile-graphical-qt5 \
+    packagegroup-hmi-framework \
     packagegroup-agl-demo \
     "
 
-MOST_DRIVERS = " "
-MOST_DRIVERS_append_BROKENonIntelQemuRpi3 = " \
-    most \
-    "
-# Don't add MOST support when building for Porter
-MOST_DRIVERS_remove_porter = "most"
-
-# HVAC dependencies depend on drivers above
-MOST_HVAC = " "
-MOST_HVAC_append = " \
-    ${MOST_DRIVERS} \
-    unicens-config \
-    agl-service-unicens \
-    "
-
-# mapviewer and mapviewer-demo requires AGL CES2017 demo mock-up
-MAPVIEWER = "${@bb.utils.contains("DISTRO_FEATURES", "agl-mapviewer-demo", " mapviewer mapviewer-demo", "",d)}"
-
 AGL_APPS = " \
     dashboard \
     hvac \
     mediaplayer \
-    virtual/mixer  \
     virtual/navigation \
     phone \
     poiapp \
     radio \
     settings \
-    high-level-viwi-service \
-    agl-service-signal-composer \
+    messaging \
     low-can-demo \
-    "
-
-AGL_APIS = " \
-    libnaviapi-agl \
+    ${@bb.utils.contains('DISTRO_FEATURES', 'agl-devel', 'taskmanager' , '', d)} \
+    virtual/mixer \
     "
 
 QTAGLEXTRAS = "${@bb.utils.contains("DISTRO_FEATURES", "agl-hmi-framework", " qtaglextras", "",d)}"
+QTAGLEXTRAS_append = " libqtappfw"
+
+# add support for websocket in Qt and QML
+QTAGLEXTRAS_append = " qtwebsockets qtwebsockets-qmlplugins"
+#PREFERRED_PROVIDER_virtual/webruntime = "web-runtime"
+
+# Cluster demo support.
+# ATM no cluster map viewer is supported with the older navigation application.
+MAPVIEWER = "${@bb.utils.contains("PREFERRED_RPROVIDER_virtual/navigation", "ondemandnavi", "tbtnavi", "",d)}"
+CLUSTER_SUPPORT_PACKAGES = " \
+       ${MAPVIEWER} \
+       cluster-demo-network-config \
+       cluster-lin-bridging-config \
+       cluster-demo-simulator \
+"
+CLUSTER_SUPPORT = "${@bb.utils.contains("DISTRO_FEATURES", "agl-cluster-demo-support", "${CLUSTER_SUPPORT_PACKAGES}", "",d)}"
+
+DEMO_UNIT_CONF ?= ""
+# Hook for demo platform configuration
+# ATM used for:
+# 1) Adding udev configuration and scripts for supporting USB attached
+#    I2C devices for RTC and HVAC LED support.
+DEMO_UNIT_CONF += " demo-i2c-udev-conf "
+
+# Preload poi API key for demo if requested, and potentially maps for older
+# navigation application if it is configured.
+DEMO_MAPS_LOCALE ?= "uk"
+DEMO_PRELOAD_MAPS = "${@bb.utils.contains("PREFERRED_RPROVIDER_virtual/navigation", "navigation", " navigation-maps-${DEMO_MAPS_LOCALE}", "",d)}"
+
+# Preload only if agl-demo-preload is set
+DEMO_PRELOAD = "${@bb.utils.contains("DISTRO_FEATURES", "agl-demo-preload", " ${DEMO_PRELOAD_MAPS} ${DEMO_UNIT_CONF} poiapp-api-key", "",d)}"
 
 RDEPENDS_${PN}_append = " \
     qtquickcontrols2-agl \
     qtquickcontrols2-agl-style \
-    linux-firmware-ralink \
-    ${QTAGLEXTRAS} \
-    ${MAPVIEWER} \
-    ${MOST_HVAC} \
+    ${@bb.utils.contains('DISTRO_FEATURES', 'agl-devel', 'unzip' , '', d)} \
     ${AGL_APPS} \
-    ${AGL_APIS} \
+    ${QTAGLEXTRAS} \
+    ${CLUSTER_SUPPORT} \
+    ${DEMO_PRELOAD} \
     "
 
-
+# NOTE: Currently no coverage versions for the application widgets,
+#       they should be added here when available.
+#       Also, the navigation and mixer debug widgets are currently
+#       specified explicitly, as there's no simple way to derive their
+#       names from the virtual/ RPROVIDES at present.
+RDEPENDS_${PN}-devel = " \
+    packagegroup-hmi-framework-devel \
+    dashboard-dbg \
+    hvac-dbg \
+    mediaplayer-dbg \
+    mixer-dbg \
+    phone-dbg \
+    ondemandnavi-dbg \
+    poiapp-dbg \
+    radio-dbg \
+    settings-dbg \
+    messaging-dbg \
+    taskmanager-dbg \
+    "