Porter des Applications sur Focal

Lors du passage à Focal, certains changements ont été apportés à l’environnement de l’application. Afin de s’assurer que l’application continuera à fonctionner, il est recommandé de mettre à jour votre application vers Focal.

QML

La plupart des changements devront être apportés aux fichiers QML. Les références à Ubuntu ont été supprimées des importations QML et de la plupart des classes QML. Bien qu’il existe une couche de compatibilité, il est recommandé de passer aux modules Lomiri.

// import Ubuntu.Components 1.3
import Lomiri.Components 1.3

D’autres références à Ubuntu ont également été changées en Lomiri, comme UbuntuColors renommé LomiriColors. Celles-ci doivent également être mises à jour. Cela peut être quelque peu automatisé :

find -name '*.qml' | xargs -I {} sed -i 's/import Ubuntu\./import Lomiri./g' {}
find -name '*.qml' | xargs -I {} sed -i 's/UbuntuAnimation/LomiriAnimation/g' {}
find -name '*.qml' | xargs -I {} sed -i 's/UbuntuNumberAnimation/LomiriNumberAnimation/g' {}
find -name '*.qml' | xargs -I {} sed -i 's/UbuntuListView/LomiriListView/g' {}
find -name '*.qml' | xargs -I {} sed -i 's/UbuntuColors/LomiriColors/g' {}
find -name '*.qml' | xargs -I {} sed -i 's/UbuntuShape/LomiriShape/g' {}

Configuration Files

clickable.yaml

Si votre projet a un fichier clickable.json au lieu d’un fichier clickable.yaml, il est recommandé de convertir d’abord le fichier JSON en un fichier YAML. Ensuite, ajoutez ce qui suit :

framework: ubuntu-sdk-20.04

AppArmor file

Mettez à jour la version de la politique dans le fichier AppArmor :

{
  "policy_groups": [
     "..."
   ]
  "policy_version": 20.04
}

Desktop File

Remplacez X-Ubuntu-Touch par X-Lomiri-Touch :

[Desktop Entry]
_Name=App Name
Exec=...
Icon=assets/logo.svg
Terminal=false
Type=Application
X-Lomiri-Touch=true

Build Files

CMakeLists.txt

Si l’application est basée sur l’un des App Templates, mettez à jour le Click Framework par défaut dans le fichier CMake :

if(DEFINED ENV{SDK_FRAMEWORK})
    set(CLICK_FRAMEWORK "$ENV{SDK_FRAMEWORK}")
else()
    # set(CLICK_FRAMEWORK "ubuntu-sdk-16.04.3")
    set(CLICK_FRAMEWORK "ubuntu-sdk-20.04")
endif()

.gitlab-ci.yml

Si vous avez un fichier CI Gitlab, vous devez le mettre à jour :

variables:
    GIT_SUBMODULE_STRATEGY: recursive
    DOCKER_DRIVER: overlay2
    CLICKABLE_VERSION: "7"
    # UT_VERSION: "16.04"
    UT_VERSION: "20.04"