Add a new image for Flutter instrument cluster app 72/27872/1
authorAakash Solanki <tech2aks@gmail.com>
Sat, 6 Aug 2022 11:49:55 +0000 (13:49 +0200)
committerAakash Solanki <tech2aks@gmail.com>
Sat, 6 Aug 2022 12:28:10 +0000 (14:28 +0200)
- Add a new image: agl-cluster-demo-platform-flutter
- Add recipe for instrument cluster app
- Pin instrument cluster app with kuksa-val-server.

Bug-AGL: SPEC-4508

Change-Id: I04dc536e5700fb6b92e8c9a672ebb107c73e6724
Signed-off-by: aakashs45 <tech2aks@gmail.com>
recipes-demo/flutter-cluster-dashboard/files/flutter-cluster-dashboard.service [new file with mode: 0644]
recipes-demo/flutter-cluster-dashboard/files/ic_on_bg-debug.json [new file with mode: 0644]
recipes-demo/flutter-cluster-dashboard/files/ic_on_bg-profile.json [new file with mode: 0644]
recipes-demo/flutter-cluster-dashboard/files/ic_on_bg-release.json [new file with mode: 0644]
recipes-demo/flutter-cluster-dashboard/flutter-cluster-dashboard_git.bb [new file with mode: 0644]
recipes-platform/images/agl-cluster-demo-platform-flutter.bb [new file with mode: 0644]

diff --git a/recipes-demo/flutter-cluster-dashboard/files/flutter-cluster-dashboard.service b/recipes-demo/flutter-cluster-dashboard/files/flutter-cluster-dashboard.service
new file mode 100644 (file)
index 0000000..71ab791
--- /dev/null
@@ -0,0 +1,10 @@
+[Unit]
+Requires=agl-compositor.service
+After=agl-compositor.service
+
+[Service]
+ExecStart=/usr/bin/flutter-auto --j=/usr/share/flutter/default.json
+Restart=on-failure
+
+[Install]
+WantedBy=agl-session.target
diff --git a/recipes-demo/flutter-cluster-dashboard/files/ic_on_bg-debug.json b/recipes-demo/flutter-cluster-dashboard/files/ic_on_bg-debug.json
new file mode 100644 (file)
index 0000000..3cee350
--- /dev/null
@@ -0,0 +1,11 @@
+{
+        "view" : [ {
+                "window_type" : "BG",
+                "bundle_path" : "/usr/share/flutter/ic",
+                "vm_args":["--observatory-host", "0.0.0.0", "--observatory-port", "1234"],
+                "width" : 1920,
+                "height": 1080,
+                "fullscreen": true
+                }
+        ]
+}
diff --git a/recipes-demo/flutter-cluster-dashboard/files/ic_on_bg-profile.json b/recipes-demo/flutter-cluster-dashboard/files/ic_on_bg-profile.json
new file mode 100644 (file)
index 0000000..c7ea10f
--- /dev/null
@@ -0,0 +1,11 @@
+{
+        "view" : [ {
+                "window_type" : "BG",
+                "bundle_path" : "/usr/share/flutter/ic",
+                "vm_args":["--observatory-host", "0.0.0.0", "--observatory-port", "1234", "--start-paused"],
+                "width" : 1920,
+                "height": 1080,
+                "fullscreen": true
+                }
+        ]
+}
diff --git a/recipes-demo/flutter-cluster-dashboard/files/ic_on_bg-release.json b/recipes-demo/flutter-cluster-dashboard/files/ic_on_bg-release.json
new file mode 100644 (file)
index 0000000..fdff54f
--- /dev/null
@@ -0,0 +1,10 @@
+{
+        "view" : [ {
+                "window_type" : "BG",
+                "bundle_path" : "/usr/share/flutter/ic",
+                "width" : 1920,
+                "height": 1080,
+                "fullscreen": true
+                }
+        ]
+}
diff --git a/recipes-demo/flutter-cluster-dashboard/flutter-cluster-dashboard_git.bb b/recipes-demo/flutter-cluster-dashboard/flutter-cluster-dashboard_git.bb
new file mode 100644 (file)
index 0000000..5e90331
--- /dev/null
@@ -0,0 +1,58 @@
+SUMMARY = "Flutter Instrument Cluster "
+DESCRIPTION = "An instrument cluster app written in dart for the flutter runtime"
+AUTHOR = "Aakash Solanki"
+HOMEPAGE = "https://github.com/aakash-s45/ic"
+
+SECTION = "graphics"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE.md;md5=0c52b0e4b5f0dbf57ea7d44bebb2e29d"
+
+SRC_URI = "git://github.com/aakash-s45/ic;protocol=https;branch=main \
+    file://flutter-cluster-dashboard.service \
+    file://ic_on_bg-debug.json \
+    file://ic_on_bg-profile.json \
+    file://ic_on_bg-release.json \
+"
+
+PV = "1.0+git${SRCPV}"
+SRCREV = "32f72bb68142a0dbde9ccf28b27c445598c95112"
+
+S = "${WORKDIR}/git"
+
+PUBSPEC_APPNAME = "ic"
+
+FLUTTER_APPLICATION_INSTALL_PREFIX = "/flutter"
+
+inherit flutter-app
+
+APP_CONFIG = "ic_on_bg-release.json"
+APP_CONFIG:class-runtimedebug = "ic_on_bg-debug.json"
+APP_CONFIG:class-runtimeprofile = "ic_on_bg-profile.json"
+
+# To avoid conflicts with the systemd template scheme added via bbappend in
+# meta-agl-demo, package the standalone systemd unit separately.  This is not
+# needed when meta-agl-flutter is used without meta-agl-demo, but that is not
+# going to be the default usecase for most users, so this still allows them to
+# build working agl-image-flutter images in the same build tree.
+#
+# This can be dropped if/when flutter-gallery is no longer packaged as a demo
+# in meta-agl-demo.
+
+#SYSTEMD_SERVICE:${PN}-init = "flutter-cluster-dashboard.service"
+
+do_install:append() {
+    install -D -m 0644 ${WORKDIR}/flutter-cluster-dashboard.service ${D}${systemd_user_unitdir}/flutter-cluster-dashboard.service
+    install -d ${D}${systemd_user_unitdir}/agl-session.target.wants
+    ln -s ../flutter-cluster-dashboard.service ${D}${systemd_user_unitdir}/agl-session.target.wants/flutter-cluster-dashboard.service
+
+    install -D -m 0644 ${WORKDIR}/${APP_CONFIG} ${D}${datadir}/flutter/default.json
+}
+
+PACKAGE_BEFORE_PN += "${PN}-init"
+
+FILES:${PN} += "${datadir}"
+
+FILES:${PN}-init = "${systemd_user_unitdir}"
+
+RDEPENDS:${PN}-init = "${PN}"
\ No newline at end of file
diff --git a/recipes-platform/images/agl-cluster-demo-platform-flutter.bb b/recipes-platform/images/agl-cluster-demo-platform-flutter.bb
new file mode 100644 (file)
index 0000000..40aa6e8
--- /dev/null
@@ -0,0 +1,25 @@
+SUMMARY = "Baseline Flutter Image for Release"
+
+LICENSE = "MIT"
+
+
+require recipes-platform/images/agl-image-weston.inc
+
+# generic
+IMAGE_INSTALL:append = "\
+    agl-compositor \
+    agl-compositor-init \
+    packagegroup-agl-profile-graphical \
+    packagegroup-agl-ivi-services \
+    "
+
+# flutter
+IMAGE_INSTALL:append = "\
+    weston-ini-conf-landscape \
+    \
+    flutter-cluster-dashboard-runtimerelease \
+    flutter-cluster-dashboard-runtimerelease-init \
+    flutter-auto-runtimerelease \
+    "
+
+CLANGSDK = "1"