Aller au contenu

Lancer les scripts sous Windows

Les outils du dépôt sont des scripts bash : la suite de vérification (run_tests.sh) et la construction du site (make_docs.sh). Sous Windows, ils tournent avec le bash de Git for Windows (« Git Bash »). Un lanceur .cmd du même nom, dans le dossier tools/, s'occupe de le trouver : on les lance depuis PowerShell, cmd ou l'Explorateur sans ouvrir Git Bash. Ces outils sont repris de modelica_micropython3.

Prérequis

Outil Pour quoi Où le trouver
Git for Windows tous les scripts (Git Bash) https://git-scm.com/download/win
OpenModelica run_tests installation habituelle, plus OPENMODELICAHOME (ci-dessous)
Python + pip install zensical make_docs Python du poste

Régler OPENMODELICAHOME une fois pour toutes

run_tests trouve omc et le compilateur C (MinGW) d'OpenModelica grâce à la variable d'environnement OPENMODELICAHOME, qui doit pointer sur la racine de l'installation (le dossier qui contient bin\omc.exe), par exemple D:\Programmes\OpenModelica1.27.1-64bit.

setx OPENMODELICAHOME "D:\Programmes\OpenModelica1.27.1-64bit"

La variable ne vaut que pour les programmes lancés après ce réglage : quitter entièrement VS Code et le relancer (un nouveau terminal ne suffit pas).

Pour changer de version le temps d'une session PowerShell :

$env:OPENMODELICAHOME = "D:\Programmes\OpenModelica1.24.4-64bit"
.\tools\run_tests.cmd --copy

Si OPENMODELICAHOME est vide mais que omc est dans le PATH Windows, le lanceur déduit la variable de l'emplacement de omc, pour cet appel seulement.

Les commandes

Dans un terminal PowerShell, à la racine du dépôt :

Commande Effet
.\tools\run_tests.cmd toute la suite de vérification, dans le dépôt
.\tools\run_tests.cmd --copy la suite sur une copie des fichiers suivis par git, hors du dépôt : à faire avant un tag
.\tools\run_tests.cmd verify_03_toggle.mos seulement ce scénario
.\tools\run_tests.cmd -j 2 -k 2 exécutions simultanées, artefacts et journaux gardés
.\tools\make_docs.cmd construit le site dans public/ (comme la CI, en --strict)
.\tools\make_docs.cmd serve fr aperçu local du site français sur http://localhost:8000 ; serve en pour l'anglais

Le préfixe .\ est obligatoire dans PowerShell. Un double-clic sur un .cmd lance aussi le script, sans argument, et attend une touche à la fin.

Comment marchent les lanceurs

Chaque lanceur appelle tools/gitbash.cmd avec le chemin de son script. gitbash.cmd prend le bash.exe de Git for Windows (jamais le bash du PATH, qui est WSL dans PowerShell), passe le chemin du script avec des /, met la console en UTF-8 le temps du script et renvoie son code de sortie.

Pièges

  • Fins de ligne : les .sh doivent rester en LF et les .cmd en CRLF ; .gitattributes l'impose.
  • *.bat est ignoré par git (artefacts de compilation d'OpenModelica) : un nouveau lanceur doit être en .cmd.
  • Pas de lanceur .ps1 : la politique d'exécution par défaut de Windows les bloque.
  • Suite lente dans OneDrive : voir Suite de vérification ; --copy la fait tourner hors du dossier synchronisé.