Passer au contenu principal
Version: Prochaine version 🚧

Compilations manuelles

Le CLI Wails fait beaucoup de travail pour le projet, mais il est parfois souhaitable de construire manuellement votre projet. Ce document discutera des différentes opérations que fait le CLI et des différentes façons d'y parvenir.

Processus de construction

Lorsque wails build ou wails dev sont utilisés, le CLI Wails effectue un processus de construction commun:

- Installation des dépendances frontend
- Construire le projet frontend
- Générer des ressources de construction
- Compiler l'application
- [optionnel] Compresser l'application

Installation des dépendances frontend

Étapes CLI

  • Si l'option -s est donné, cette étape est ignorée
  • Vérifie wails.json pour voir s'il y a une commande install dans frontend:install
  • S'il n'y en a pas, il saute cette étape
  • Si le fichier existe, vérifie si package.json existe dans le répertoire du frontend. S'il n'existe pas, il saute cette étape
  • Un hash MD5 est générée à partir du contenu du fichier package.json
  • Il vérifie l'existence de package.json.md5 et, s'il existe, compare son contenu (une somme MD5) avec celui généré pour voir si le contenu a changé. S'ils sont les mêmes, cette étape est ignorée
  • Si package.json.md5 n'existe pas, il le crée en utilisant la somme MD5 générée
  • Si une compilation est maintenant requise, ou si node_modules n'existe pas, ou si l'option -f est donnée, la commande install est exécutée dans le répertoire frontend

Étapes manuelles

Cette étape peut être réalisée à partir de la ligne de commande ou d'un script avec npm install.

Construire le projet frontend

CLI Wails

  • Si l'option -s est donné, cette étape est ignorée
  • Vérifie wails.json pour voir s'il y a une commande de construction dans la clé frontend:build
  • S'il n'y en a pas, il saute cette étape
  • S'il existe, il est exécuté dans le répertoire du frontend

Étapes manuelles

Cette étape peut être réalisée à partir de la ligne de commande ou d'un script avec npm run build ou quel que soit le script de construction du frontend.

Générer les ressources

CLI Wails

  • Si l'option -nopackage est activée, cette étape est ignorée
  • Si le fichier build/appicon.png n'existe pas, un fichier par défaut est créé
  • Pour Windows, voir Empaquetage pour Windows
  • Si build/windows/icon.ico n'existe pas, il la créera à partir de l'image build/appicon.png.
Windows
  • Si build/windows/icon.ico n'existe pas, il le créera à partir de build/appicon.png en utilisant les tailles d’icônes de 256, 128, 64, 48, 32 et 16. Ceci est fait en utilisant winicon.
  • Si le fichier build/windows/<projectname>.manifest n'existe pas, il le crée à partir d'une version par défaut.
  • Compile l'application en tant que version de production
  • Utilise winres pour regrouper l'icône et manifest dans un fichier .syso prêt à être lié.

Étapes manuelles

  • Créez le fichier icon.ico en utilisant l'outil CLI winicon (ou n'importe quel autre outil).
  • Créez / Mettez à jour un fichier .manifest pour votre application
  • Utilisez le CLI winres pour générer un fichier .syso.

Compiler l'application

CLI Wails

  • Si l'option -clean est fourni, le répertoire build est supprimé et recréé
  • Pour wails dev, les options suivantes de Go sont utilisées : -tags dev -gcflags "all=-N -l"
  • Pour wails build, les options suivantes de Go sont utilisées : -tags desktop,production -ldflags "-w -s"
    • Sous Windows, -ldflags "-w -h -H windowsgui"
  • Des tags additionnels peuvent être ajoutées à la liste par défaut en utilisant l'option -tags dans le CLI
  • Des ldftags additionnels peuvent être ajoutés à la liste par défaut en utilisant l'option -ldflags dans le CLI
  • L'option -o est transmise
  • Le compilateur Go spécifié par -compiler sera utilisé pour la compilation

Étapes manuelles

  • Pour la compilation du dev, la commande minimale serait : go build -tags dev -gcflags "all=-N -l"
  • Pour la compilation en production, la commande minimale serait : go build -tags desktop,production -ldflags "-w -s -H windowsgui"
  • Assurez-vous que vous compilez dans le même répertoire que le fichier .syso

Compresser l'application

CLI Wails

  • Si l'option -upx est définie, le programme upx sera exécuté pour compresser l'application avec les paramètres par défaut
  • Si l'option -upxflags est également passée, les options définies seront utilisées à la place des options par défaut

Étapes manuelles

  • Exécutez manuellement upx [flags] pour compresser l'application.