summaryrefslogtreecommitdiffstats
path: root/meta-agl-flutter/tools/configs/desktop-auto.json
blob: 66cec7127212f339386ef9689149678bc756dbe1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
{
  "id": "desktop-auto",
  "load": true,
  "supported_archs": [
    "x86_64"
  ],
  "supported_host_types": [
    "ubuntu",
    "fedora"
  ],
  "flutter_runtime": "debug",
  "type": "host",
  "env": {
    "FLUTTER_AUTO_SRC_DIR": "${FLUTTER_WORKSPACE}/app/ivi-homescreen",
    "FLUTTER_AUTO_BUILD_DIR": "${FLUTTER_WORKSPACE}/app/ivi-homescreen/build",
    "FLUTTER_AUTO_CMAKE_ARGS": "-DCMAKE_BUILD_TYPE=Debug -DBUILD_PLUGIN_SECURE_STORAGE=ON",
    "COMP_SURF_PBR_SRC_DIR": "${FLUTTER_WORKSPACE}/app/comp_surf_pbr",
    "COMP_SURF_PBR_BUILD_DIR": "${FLUTTER_WORKSPACE}/app/comp_surf_pbr/build",
    "COMP_SURF_PBR_CMAKE_ARGS": "-DCMAKE_BUILD_TYPE=Debug",
    "FLUTTER_AUTO_EXE": "LD_LIBRARY_PATH=${COMP_SURF_PBR_BUILD_DIR} ${FLUTTER_AUTO_BUILD_DIR}/shell/flutter-auto --j=${PLATFORM_ID_DIR_RELATIVE}/default_config.json --b=${PLATFORM_ID_DIR_RELATIVE}",
    "PING_CMD": "loginctl show-session $(awk '/tty/ {print $1}' <(loginctl)) -p Type",
    "CREATE_BUNDLE_FOLDER": "mkdir -p ${PLATFORM_ID_DIR_RELATIVE}/data",
    "COPY_PLATFORM_ID_TO_BUNDLE_FOLDER": "cp -r ${PLATFORM_ID_DIR}/default_config.json ${PLATFORM_ID_DIR_RELATIVE}/",
    "COPY_BUNDLE_FOLDER_TO_PLATOFRM_ID": "cp -r ${BUNDLE_FOLDER}/* ${PLATFORM_ID_DIR_RELATIVE}/",
    "CREATE_ASSET_SYMLINK": "ln -rsf build/flutter_assets ${PLATFORM_ID_DIR_RELATIVE}/data/flutter_assets",
    "STAGE_BUNDLE_FOLDER": "${CREATE_BUNDLE_FOLDER} && ${COPY_PLATFORM_ID_TO_BUNDLE_FOLDER} && ${COPY_BUNDLE_FOLDER_TO_PLATOFRM_ID} && ${CREATE_ASSET_SYMLINK}"
  },
  "runtime": {
    "config": {
      "view": [
        {
					"width": 1920,
					"height": 1080,
					"cursor_theme": "DMZ-White",
          "fullscreen": false
        }
      ]
    },
    "pre-requisites": {
      "x86_64": {
        "ubuntu": {
          "cmds": [
            "sudo snap install cmake --classic",
            "sudo add-apt-repository -y ppa:kisak/kisak-mesa",
            "sudo apt update -y",
            "sudo apt install lsb-release wget software-properties-common gnupg apt-file",
            "sudo apt-file update",
            "wget https://apt.llvm.org/llvm.sh",
            "chmod +x ./llvm.sh",
            "sed -i 's|add-apt-repository \"${REPO_NAME}\"|add-apt-repository -y \"${REPO_NAME}\"|g' ./llvm.sh",
            "sudo ./llvm.sh 14",
            "rm ./llvm.sh",
            "sudo apt install -y clang-14 lldb-14 lld-14 clangd-14 clang-tidy-14 clang-format-14 clang-tools-14 llvm-14-dev lld-14 lldb-14 llvm-14-tools libomp-14-dev libc++-14-dev libc++abi-14-dev libclang-common-14-dev libclang-14-dev libclang-cpp14-dev libunwind-14-dev",
            "sudo apt install -y libwayland-dev wayland-protocols mesa-common-dev libegl1-mesa-dev libgles2-mesa-dev mesa-utils libxkbcommon-dev ninja-build",
            "sudo apt install -y build-essential libvulkan-dev vulkan-tools vulkan-validationlayers vulkan-utils libtool",
            "sudo apt autoremove -y",
            "sudo apt clean -y",
            "cmake --version",
            "clang++ --version",
            "apt-file search cmake",
            "apt-file search clang++"
          ]
        },
        "fedora": {
          "cmds": [
            "sudo dnf -y update",
            "sudo dnf -y upgrade",
            "sudo dnf -y install wayland-devel wayland-protocols-devel libxkbcommon-devel cmake ninja-build mesa-dri-drivers mesa-filesystem mesa-libEGL-devel mesa-libGL-devel mesa-libGLU-devel mesa-libgbm-devel mesa-libglapi mesa-libxatracker mesa-vulkan-drivers vulkan-tools libunwind-devel clang clang-analyzer clang-devel clang-libs clang-resource-filesystem llvm-devel clang-tools-extra lld lld-libs lldb libcxx libcxx-devel libcxx-static libcxxabi libcxxabi-devel libcxxabi-static gstreamer1-devel gstreamer1-plugins-base-devel gstreamer1-plugins-bad-free-devel gstreamer1-plugins-bad-free-extras gstreamer1-plugins-base-tools gstreamer1-plugins-good gstreamer1-plugins-good-extras gstreamer1-plugins-ugly-free libtool",
            "sudo dnf -y autoremove",
            "cmake --version",
            "clang++ --version",
            "dnf provides cmake",
            "dnf provides clang++"
          ]
        }
      }
    },
    "post_cmds": [
      {
        "ubuntu": {
          "env": {
            "CC": "/usr/bin/clang",
            "CXX": "/usr/bin/clang++"
          }
        },
        "fedora": {
          "env": {
            "CC": "/usr/lib64/ccache/clang",
            "CXX": "/usr/lib64/ccache/clang++"
          }
        },
        "cwd": "${FLUTTER_AUTO_BUILD_DIR}",
        "cmds": [
          "cmake ${FLUTTER_AUTO_SRC_DIR}  ${FLUTTER_AUTO_CMAKE_ARGS}",
          "make flutter-auto -j"
        ]
      },
      {
        "ubuntu": {
          "env": {
            "CC": "/usr/bin/clang",
            "CXX": "/usr/bin/clang++"
          }
        },
        "fedora": {
          "env": {
            "CC": "/usr/lib64/ccache/clang",
            "CXX": "/usr/lib64/ccache/clang++"
          }
        },
        "cwd": "${COMP_SURF_PBR_BUILD_DIR}",
        "cmds": [
          "cmake ${COMP_SURF_PBR_SRC_DIR}  ${COMP_SURF_PBR_CMAKE_ARGS}",
          "make comp_surf_pbr -j"
        ]
      }
    ]
  },
  "overwrite-existing": true,
  "custom-device": {
    "id": "desktop-auto",
    "label": "Toyota flutter-auto",
    "sdkNameAndVersion": "flutter-auto x86_64",
    "platform": "linux-x64",
    "enabled": true,
    "ping": "bash -c \"${PING_CMD}\"",
    "pingSuccessRegex": "Type=wayland",
    "postBuild": "bash -c \"rm -rf ${PLATFORM_ID_DIR_RELATIVE}\"",
    "install": "bash -c \"${STAGE_BUNDLE_FOLDER}\"",
    "uninstall": "bash -c \"rm -rf ${PLATFORM_ID_DIR_RELATIVE}\"",
    "runDebug": "bash -c \"${FLUTTER_AUTO_EXE}\"",
    "forwardPort": null,
    "forwardPortSuccessRegex": null,
    "screenshot": null
  }
}