Référence des scripts
Infos supplémentaires en bref - Pour référence en cas de besoin sur les scripts de développement pour des dépôts d’applications construits sur Pankosmia
Table des matières
Configuration de l’écosystème
Ce dépôt rassemble plusieurs bibliothèques et projets en une seule application. Les projets sont répartis sur plusieurs dépôts pour permettre une réutilisation modulaire. Des scripts suivent pour aider à la configuration, bien que tout puisse également être configuré manuellement. Ce qui suit suppose que les dépôts sont installés avec la structure de répertoires suivante.
Ceci est un exemple. Les clients utilisés peuvent varier. La configuration est gérée via app_config.env et le script app_setup.
|-- repos
|-- pankosmia
|-- core-client-content repository
|-- core-client-dashboard repository
|-- core-client-i18n-editor repository
|-- core-client-remote-repos repository
|-- core-client-settings repository
|-- core-client-workspace repository
|-- [your-desktop-app-repo-name] (30 characters or less on windows!)
|-- resource-core
|-- webfonts-core
Installation des clients
Le local_server (pankosmia_web) sert les fichiers compilés depuis le répertoire build de chaque client, chaque client doit être compilé.
Ceci est géré par les scripts clone et build_clients, bien que tout puisse également être exécuté manuellement, ce qui est utile pendant le développement.
# Dans chaque dépôt client, PAS dans ce dépôt !
npm ci
npm run build
L’exécution de run, build_server ou bundle_... copie la dernière version compilée vers l’environnement de build.
Scripts
Configuration
Les fichiers de configuration doivent correspondre aux clients et assets utilisés. Des scripts pour les générer sont fournis, selon app_config.env. Les fichiers créés par le script app_setup sont :
| Linux | Windows | MacOS |
|---|---|---|
| buildSpec.json /globalBuildResources/i18nPatch.json /globalBuildResources/product.json /linux/buildResources/setup/app_setup.json | buildSpec.json \globalBuildResources\i18nPatch.json \globalBuildResources\product.json \windows\buildResources\setup\app_setup.json | buildSpec.json /globalBuildResources/i18nPatch.json /globalBuildResources/product.json /macos/buildResources/setup/app_setup.json |
Vérifiez app_config.env et ajustez si nécessaire, puis exécutez l’un des scripts de configuration qui suivent. Relancez le script app_setup chaque fois que app_config.env est modifié.
Scripts de configuration :
Exécutez depuis l’emplacement indiqué :
| Description | Linux: cd linux/scripts | Windows:[1] cd windows\scripts | MacOS: cd macos/scripts |
|---|---|---|---|
| Utilise app_config.env pour générer/reconstruire/remplacer app_setup.json, buildSpec.json, product.json et i18nPatch.json | ./app_setup.bsh | .\app_setup.bat | ./app_setup.zsh |
Scripts de configuration :
Exécutez depuis l’emplacement indiqué :
| Description | Linux: cd linux/scripts | Windows:[1] cd windows\scripts | MacOS: cd macos/scripts |
|---|---|---|---|
Clone tous les dépôts dans /app_config.env si un répertoire portant ce nom n’existe pas déjà | ./clone.bsh Clone par défaut via HTTPS. Argument optionnel : ./clone.bsh -sClone via SSH. | .\clone.bat Clone par défaut via HTTPS. Argument optionnel : .\clone.bat -sClone via SSH. | ./clone.zsh Clone par défaut via HTTPS. Argument optionnel : ./clone.zsh -sClone via SSH. |
Pour chaque dépôt d’assets dans /app_config.env : git checkout main, git pullPour chaque dépôt client dans /app_config.env : git checkout main, git pull, npm ci et npm run build.Les développeurs doivent compiler manuellement lorsqu’ils testent des branches. | ./build_clients.bsh Argument optionnel : ./build_clients.bsh -dSupprime les anciens logs sans demander. | .\build_clients.bat Argument optionnel : .\build_clients.bat -dSupprime les anciens logs sans demander. | ./build_clients.zsh Argument optionnel : ./build_clients.zsh -dSupprime les anciens logs sans demander. |
| Créer une visionneuse Electronite à utiliser avec l’environnement de build de développement local. | ./build_viewer.bsh | .\build_viewer.ps1(utilisez un terminal powershell) | ./build_viewer.zsh |
Scripts d’utilisation :
Note : Plusieurs arguments peuvent être appliqués dans n’importe quel ordre, par exemple ./run.zsh -s -d est identique à ./run.zsh -d -s
| Description | Linux: cd linux/scripts | Windows:[1] cd windows\scripts | MacOS: cd macos/scripts |
|---|---|---|---|
supprime le répertoire de build et exécute cargo clean[4] | ./clean.bsh Arguments optionnels : ./clean.bsh -sNe demandera pas si le serveur est arrêté | .\clean.bat Arguments optionnels : .\clean.bat -sNe demandera pas si le serveur est arrêté | ./clean.zsh Arguments optionnels : ./clean.zsh -sNe demandera pas si le serveur est arrêté |
exécute cargo build et node build.js | ./build_server.bsh Arguments optionnels : ./build_server.bsh -sNe demandera pas si le serveur est arrêté ./build_server.bsh -dCompile le serveur en mode debug | .\build_server.bat Arguments optionnels : .\build_server.bat -sNe demandera pas si le serveur est arrêté .\build_server.bat -dCompile le serveur en mode debug | ./build_server.zsh Arguments optionnels : ./build_server.zsh -sNe demandera pas si le serveur est arrêté ./build_server.zsh -dCompile le serveur en mode debug |
| Assemble l’environnement de build (clients) et démarre le serveur [2] | ./run.bsh Arguments optionnels : ./run.bsh -sNe demandera pas si le serveur est arrêté .\run.bsh -dExécute le serveur en mode debug | .\run.bat Arguments optionnels : .\run.bat -sNe demandera pas si le serveur est arrêté .\run.bat -dExécute le serveur en mode debug | ./run.zsh Arguments optionnels : ./run.zsh -sNe demandera pas si le serveur est arrêté .\run.zsh -dExécute le serveur en mode debug |
Lance la visionneuse Electronite pour l’utiliser avec l’environnement de développement. (Nécessite que la visionneuse ait été préalablement créée via le script build_viewer.) | ./viewer.bsh Outils de développement : Ctrl + Shift + I Argument optionnel : ./viewer.bsh [PORT#](par défaut 19119) | .\viewer.bat Outils de développement : Ctrl + Shift + I Argument optionnel : .\viewer.bat [PORT#](par défaut 19119) | ./viewer.zsh Outils de développement : Cmd + Option + I Argument optionnel : ./viewer.zsh [PORT#](par défaut 19119) |
Supprime les derniers bundles et le contenu temporaire pour le système d’exploitation donné (s’ils existent), puis sur ce dépôt exécute git checkout main, git pull et npm ci, exécute app_setup.bat pour assurer la cohérence des versions, exécute node build.js, puis crée un bundle de release zip et un installateur autonome. (*) (•) | ./bundle_viewer.bsh (Ne compile et ne crée le bundle que pour la visionneuse. Faites tout le reste de la description manuellement ou via d’autres scripts listés ici.) | .\bundle_viewer.ps1 Arguments optionnels : ou : « y » ; Ne demandera pas si le serveur est arrêté | ./bundle_viewer.zsh Arguments optionnels : ./bundle_viewer.zsh -sNe demandera pas si le serveur est arrêté |
Supprime le dernier bundle de release .zip s’il existe, puis sur ce dépôt exécute git checkout main, git pull et npm ci, exécute app_setup.bat pour assurer la cohérence des versions, exécute node build.js, puis crée un bundle de release zip [2] | ./bundle_tgz.bsh Arguments optionnels : ./bundle_tgz.bsh -sNe demandera pas si le serveur est arrêté /bundle_tgz.bsh -gExécuter depuis Github Actions | .\bundle_zip.ps1 Arguments optionnels : -ServerOff “Y” ou : « y » ; Ne demandera pas si le serveur est arrêté -IsGHA “Y” ou : « y » ; Exécuter depuis Github Actions | ./bundle_zip.zsh Arguments optionnels : /bundle_zip.zsh -sNe demandera pas si le serveur est arrêté /bundle_zip.zsh -gExécuter depuis Github Actions |
Supprime le dernier bundle de release .exe s’il existe, puis sur ce dépôt exécute git checkout main, git pull et npm ci, exécute app_setup.bat pour assurer la cohérence des versions, exécute node build.js, puis crée un installateur exe [2][3] | .\bundle_exe.ps1 Arguments optionnels : ou : « y » ; Ne demandera pas si le serveur est arrêté [3] |
Scripts de maintenance :
Exécutez depuis l’emplacement indiqué :
| Description | Linux: cd linux/scripts | Windows:[1] cd windows\scripts | MacOS: cd macos/scripts |
|---|---|---|---|
| Facilite la synchronisation avec l’upstream en excluant les fichiers susceptibles de différer : | ./sync.bsh Arguments optionnels : ./sync.bsh -pNe demandera pas si la dernière version est déjà récupérée. | .\sync.bat Arguments optionnels : .\sync.bat -pNe demandera pas si la dernière version est déjà récupérée | ./sync.zsh Arguments optionnels : ./sync.zsh -pNe demandera pas si la dernière version est déjà récupérée. |
Notes de bas de page
[1] … Lors de l’exécution d’un script bat depuis une invite de commandes, le .\ inclus dans les exemples est facultatif.
[2] … Assurez-vous que le serveur (build_server.bat) est à jour !
[3] … Prérequis d’environnement pour exécuter le build exe localement : Installez Inno Setup - testé avec la v6.4.3
[4] … Conseils de nettoyage ciblé :
- Pour nettoyer uniquement le serveur de développement : allez dans le répertoire /local_server et exécutez
cargo clean --target-dir target/debug - Pour nettoyer uniquement le serveur de développement : allez dans le répertoire /local_server et exécutez
cargo clean --target-dir target/release - Pour nettoyer uniquement l’environnement de build, allez dans le sous-répertoire de votre OS (c’est-à-dire /macos, /linux ou /windows), puis supprimez récursivement son sous-répertoire build.
- (Le script clean fait tout ce qui précède.)