Powerbuilder pour les completement Geeks !

Le forum (ô combien francophone) des utilisateurs de Powerbuilder.

Recherche rapide

Annonce

Certaines rubriques, dont des cours, sont uniquement visibles par les membres du forum ^^.
Dans la rubrique Liens & Références, vous avez accès à un sommaire de téléchargement, profitez-en !
Il existe maintenant un nouveau TOPIC "Votre CV en Ligne" accessible uniquement par demande.

#1 12-04-2013 10:08:04

han39  
Membre
Date d'inscription: 12-04-2013
Messages: 5
Pépites: 29
Banque: 0

[RESOLU] PowerBuilder 11.5 : problème compilation orcascript

Bonjour,

je souhaiterai industrialiser la compilation de notre projet via jenkins et je rencontre un petit problème lors de la compilation de l'exécutable

Pour le moment, notre projet est hébergé sous Visual Source (je travail sur un passage vers SVN). Après avoir extrait l'ensemble des librairies, je lance un shell qui me permet de générer mon fichier de script :

Code:

IFS="; "
DIR="Sources_PB\\SRD_CONCEPT"
script="script.orca"

cd $DIR

liblist=`cat srd_concept.pbt | grep LibList | awk -F 'LibList \"' '{print $2}' | awk -F '\";' '{print $1}' | sed -e 's/\\\\\\\/\\\/g'`
applib=`cat srd_concept.pbt | grep applib | awk -F 'applib \"' '{print $2}' | awk -F '\";' '{print $1}'`
appname=`cat srd_concept.pbt | grep appname | awk -F 'appname \"' '{print $2}' | awk -F '\";' '{print $1}'`

echo "start session" > $script
echo "set liblist \"$liblist\"" >> $script
echo "set application \"$applib\" \"$appname\"" >> $script
echo "build application full" >> $script
echo "build project \"$applib\" \"projet_main_srd\"" >> $script
pbdflags=""
for lib in `echo $liblist` ; do
  if [ "$lib" = "$applib" ] ; then
    pbdflags="${pbdflags}n"
  else 
    echo "build library \"$lib\" \"\" pbd" >> $script
    pbdflags="${pbdflags}y"
  fi
done
echo "build executable \"or.exe\" \"..\\BMP\\restauration.ico\" \"\" \"$pbdflags\"" >> $script
echo "end session" >> $script
orcascr115 $script

Le script généré ressemble à cela (je vous passe les longues listes avec des ...) :

Code:

start session
set liblist "srd_concept.pbl;..."
set application "srd_concept.pbl" "srd_concept"
build application full
build project "srd_concept.pbl" "projet_main_srd"
build library ".\PFC\pfewnsrv.pbl" "" pbd
build library ".\PFC\pfcapp.pbl" "" pbd
...
build library ".\TRA\tra_table_de_base.pbl" "" pbd
build executable "or.exe" ".\BMP\restauration.ico" "" "NYYYYY..."
end session

La commande s'exécute correctement jusqu' à la création de l'exécutable et j'obtiens le message suivant :

http://nsa34.casimages.com/img/2013/04/12/130412120024852090.png

J'ai vérifié et j'ai bien autant de N ou de Y que de librairies dans le liblist !

J'ai fait un essai avec quelques librairies et même s'il y a un fichier exécutable généré, j'obtiens malgré tout la fenêtre d'erreur !

Les tests ont été effectués depuis un poste Windows 7 64 bits - SP1 avec PB 11.5.1 Build 5097. (j'ai les même résultats sur mon serveur de déploiement en Windows 2008 R2)

Merci d'avance pour votre aide !

Dernière modification par han39 (18-04-2013 07:16:46)

Hors ligne

 

#2 12-04-2013 10:19:27

rincevent  
Modérateur
Award: bf
Lieu: Belgique
Date d'inscription: 06-02-2007
Messages: 722
Pépites: 100,002,023
Banque: 0

Re: [RESOLU] PowerBuilder 11.5 : problème compilation orcascript

Alors j'y connais pas grandchose en compil via Orca mais je vais tenter une réponse au vu du dernier screenshot.

Est-ce que par hasard il ne faudrait pas simplement remplacer "PBD" par "Y" dans les instructions que tu crèes ?

c'est sûrement pas ça mais bon comme le msg d'erreur précise qu'il attends un "Y" ou un "N"


http://img114.imageshack.us/img114/8519/userbar175801nb.gif
Pourquoi ne puis-je vivre comme n'importe quel être humain ? Pourquoi mon destin est-il de ne pouvoir cesser de me battre ?

Hors ligne

 

#3 12-04-2013 10:21:29

seki  
0x73656B69
Award: bf
Lieu: Laquenexy & Luxembourg
Date d'inscription: 20-11-2008
Messages: 1118
Pépites: 4,296,080,204
Banque: 9,223,372,036,854,776,000
Site web

Re: [RESOLU] PowerBuilder 11.5 : problème compilation orcascript

cat -> grep -> awk -> awk -> sed

Tu ne préfèrerais pas faire ça en perl directement ?

( et au passage : cat | grep c'est un UUOC (useless use of cat), tu peux faire grep directement : tu gagnes une étape)


The best programs are the ones written when the programmer is supposed to be working on something else. - Melinda Varian

Mes réponses PB sur StackOverflow
http://stackoverflow.com/users/flair/317266.png

Hors ligne

 

#4 12-04-2013 10:22:11

han39  
Membre
Date d'inscription: 12-04-2013
Messages: 5
Pépites: 29
Banque: 0

Re: [RESOLU] PowerBuilder 11.5 : problème compilation orcascript

En fait la dernière commande est tronquée par le message d'erreur. Tu peux voir son contenu dans le script ;)

Hors ligne

 

#5 12-04-2013 10:26:21

han39  
Membre
Date d'inscription: 12-04-2013
Messages: 5
Pépites: 29
Banque: 0

Re: [RESOLU] PowerBuilder 11.5 : problème compilation orcascript

seki a écrit:

cat -> grep -> awk -> awk -> sed

Tu ne préfèrerais pas faire ça en perl directement ?

( et au passage : cat | grep c'est un UUOC (useless use of cat), tu peux faire grep directement : tu gagnes une étape)

Je fais avec les moyens du bord et malheureusement je ne connais pas le perl...

Pour le cat | grep je sais bien mais je fais également des echo | grep et je conserve la même syntaxe

Dernière modification par han39 (12-04-2013 10:27:03)

Hors ligne

 

#6 18-04-2013 07:20:21

han39  
Membre
Date d'inscription: 12-04-2013
Messages: 5
Pépites: 29
Banque: 0

Re: [RESOLU] PowerBuilder 11.5 : problème compilation orcascript

Finalement j'ai trouvé d'où cela provenait !

Pour une raison que j'ignore, le script accepte au maximum 301 PBD, pas 1 de plus

Depuis j'ai fait pas mal de modification en basculant mes sources sous SVN et donc en utilisant les commandes scc.

Je mets une copie de mon script pour ceux que ca intéresserait même si ça va faire grincer des dents avec mes multiples |||

Code:

IFS="; "
script="script.orca"

cd src

liblist=`cat srd_concept.pbt | grep LibList | awk -F 'LibList \"' '{print $2}' | awk -F '\";' '{print $1}' | sed -e 's/\\\\\\\/\\\/g'`
applib=`cat srd_concept.pbt | grep applib | awk -F 'applib \"' '{print $2}' | awk -F '\";' '{print $1}' | sed -e 's/\\\\\\\/\\\/g'`

echo "start session" > $script
echo "scc set connect property localprojpath \".\"" >> $script
echo "scc set connect property logfile \"srd_concept.log\"" >> $script
echo "scc set connect property logappend false" >> $script
echo "scc connect offline" >> $script
echo "scc set target \".\srd_concept.pbt\" importonly" >> $script
echo "scc refresh target full" >> $script

pbdflags=""
for lib in `echo $liblist` ; do
  if [ "$lib" = "$applib" ] ; then
    pbdflags="${pbdflags}n"
  else 
    echo "build library \"$lib\" \"\" pbd" >> $script
    pbdflags="${pbdflags}y"
  fi
done

exename=`head -11 "SRD_CONCEPT\\projet_main_srd.srj" | grep "EXE:" | awk -F 'EXE:' '{print $2}' | awk -F ',' '{print $1}'`
companyname=`head -11 "SRD_CONCEPT\\projet_main_srd.srj" | grep "COM:" | awk -F 'COM:' '{print $2}' | awk -F ',' '{print $1}'`
productname=`head -11 "SRD_CONCEPT\\projet_main_srd.srj" | grep "PRD:" | awk -F 'PRD:' '{print $2}' | awk -F ',' '{print $1}'`
description=`head -11 "SRD_CONCEPT\\projet_main_srd.srj" | grep "DES:" | awk -F 'DES:' '{print $2}' | awk -F ',' '{print $1}'`
copyright=`head -11 "SRD_CONCEPT\\projet_main_srd.srj" | grep "CPY:" | awk -F 'CPY:' '{print $2}' | awk -F ',' '{print $1}'`
productversion=`head -11 "SRD_CONCEPT\\projet_main_srd.srj" | grep "PVS:" | awk -F 'PVS:' '{print $2}'`
fileversion=`head -11 "SRD_CONCEPT\\projet_main_srd.srj" | grep "FVS:" | awk -F 'FVS:' '{print $2}'`
productversionnum=`head -11 "SRD_CONCEPT\\projet_main_srd.srj" | grep "PVN:" | awk -F 'PVN:' '{print $2}'`
fileversionnum=`head -11 "SRD_CONCEPT\\projet_main_srd.srj" | grep "FVN:" | awk -F 'FVN:' '{print $2}'`
echo "set exeinfo property productname \"$productname\"" >> $script
echo "set exeinfo property companyname \"$companyname\"" >> $script
echo "set exeinfo property description \"$description\"" >> $script
echo "set exeinfo property copyright \"$copyright\"" >> $script
echo "set exeinfo property productversion \"$productversion\"" >> $script
echo "set exeinfo property fileversion \"$fileversion\"" >> $script
echo "set exeinfo property productversionnum \"$productversionnum\"" >> $script
echo "set exeinfo property fileversionnum \"$fileversionnum\"" >> $script
echo "build executable \"$exename\" \"..\static\Bmp\restauration.ico\" \"\" \"$pbdflags\"" >> $script

echo "scc close" >> $script
echo "end session" >> $script

orcascr115 $script

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22