WLSCRIPT v1.4

WLScript est un petit programme pour Linux qui permet de charger une WDL contenant classes ou fonctions afin d'executer du code windev en ligne de commande.
Via une classe et une librairie linux, ce projet complète les fonctions manquantes du framework Windev.
Il permet aussi de tester la compilation dynamique, qui ne fonctionne pas encore complétement sous Linux.

Voici les différents modes de fonctionnemment :

wlscript 1.3.x86 VM11.00Qd  
Usage: 
  Fonction globale : wlscript -f <filename.wdl> <function> [<param1> <param2> ...]
  Classe : wlscript -c <filename.wdl> <classe> <function> [<param1> <param2> ...]
  Fichier source : wlscript -s <filename.wl>
  Code direct : wlscript -d <code>

Rendez vous sur le forum pour en discuter...

Attention :
En mode Source : la fonction Compile ne fonctionne pas bien pour le moment sous Linux
En mode direct : Les caractères ( ) et " doivent etre précédés par un antislash \ sinon ils sont interprétés par le bash

Classe exemple :

root@ubuntu:/usr/share/wlscript# ./wlscript -c wltest11.wdl cTest Execute test
Parametre fourni :test
Répertoire en cours :/usr/share/wlscript
Variable d'environnement PATH :/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
root@ubuntu:/usr/share/wlscript#

Vous pouvez dans votre code utiliser la fonction globale ENV(param) pour obtenir une variable d'environnement linux.
Vous pouvez aussi utiliser les fonctions stdout(sTexte) stderr(sTexte) et sMaVariable=scanf()

Code source de la méthode :

PROCEDURE Execute(sParametre est une chaîne="")
 
sRes est chaîne
 
:sRepEnCours=fRepEnCours()
 
sRes+="Parametre fourni :"+sParametre+RC
sRes+="Répertoire en cours :"+:sRepEnCours+RC
sRes+="Variable d'environnement PATH :"+ENV("PATH")+RC
sRes+="Commande executée :"+ENV("_")+RC+RC
 
//pour debugger:
//stdout("blablabla")
 
RENVOYER sRes

Installation :
Copiez les fichiers (ainsi que les DLL du framework linux) dans un nouveau répertoire /usr/share/wlscript

cd /usr/share/wlscript
chmod +x wlscript

Test:

cd /usr/share/wlscript
./wlscript -s test.wl

Note :
N'oubliez pas les DLL du framework Linux nécessaires (au minimum VM CPL HF et STD)
Il faut aussi vérifier que vous avez installé la version de stdlibc nécessaire a tous les produits PCSoft

Sur Debian/Ubuntu

apt-get install libstdc++2.10-glibc2.2

(ou pour obtenir le nom du package : apt-file search libstdc++-libc6.2-2.so.3 puis apt-get install nom du package )

Sur Fedora Core pour obtenir le nom du package : yum search compat-libstd puis yum install nom du package


HISTORIQUE :
Version 1.5 (déc 2009)
Passage à Windev 15
Premiers pas avec ncurses

Version 1.4
Utilisation de stderr pour les erreurs
Simplification des erreurs retournées par défaut
Ajout d'un fichier de configuration facultatif (/etc/wlscript.conf) permettant d'activer le log des erreurs, et le contenu de celles ci
Modification des paramètres du projet (gain sur la taille de la WDL)
Séparation des fonctions utilisateur afin de pouvoir les inclure dans des projets de librairies WDL

Version 1.3
Retour à Windev 11, car Windev 12 n'apporte rien de plus pour le moment, et Windev 10 ne permet pas du tout la fonction Compile() sous linux.
Simplification du projet, la classe cLinux gere directement les variables d'environnement

Version 1.2
Implémentation des E/S de ligne de commande :
Ajout des fonctions globales stdout,stderr pour ecrire vers ces sorties standard, ainsi que de la fonction scanf
Ajout de ces fonctions globales en EXTERNE directement dans la déclaration de classe

AttachmentSizeDownloadsLast Download
Classe/WDL Exemple WD1187.08 KB498332 min 19 sec ago
Projet Windev 11 v1.4217.85 KB50585 days 17 hours ago