Jan 29, 2011

Περί κωδικών σφαλμάτων σε ojdeploy scripts στα Windows και στο Linux

Μια εξαιρετική περιγραφή του ojdeploy και μάλιστα σε σχέση με ένα ANT script βρίσκεται εδώ (http://jdeveloperfaq.blogspot.com/2010/01/faq-10-how-to-configure-ojdeploy-as-ant.html) Αν μάλιστα κατασκευάσουμε ένα ojdeploy deployment script που θα καλείται από το πρόγραμμα ojdeploy, τότε θα χρειαστεί να χειριστούμε τον κωδικό λάθους που θα προκύψει ώστε να συνεχίσουμε ανάλογα την ροή του script μας. Όπως έχω παρατηρήσει, αν προκύψει compilation error, τότε ο κωδικός που επιστρέφει το ojdeploy είναι το 4, ενώ αν όλα πάνε καλά το 0.

Σε περιβάλλον Linux, θα μπορούσαμε να έχουμε μια ροή script που θα πάει όπως στο παράδειγμα που ακολουθεί. Σε ένα shell script, η έκφραση $? κρατά τον κωδικό λάθους της τελευταίας εντολής, ενώ η ανακατεύθυνση της εξόδου λαθών (error stream) τροφοδοτείται στο standard output (έκφραση 2>&1)

$OJDEPLOY_ROOT/ojdeploy -buildfile ojdeploy-build.xml -define app_root_dir=$DEV_ROOT > $DEV_TMPDIR/ojdeploy.txt 2>&1

if [ "$?" -ne "0" ]; then
echo "ojdeploy failed"
exit 1
else
exit 0
fi

αντίστοιχα στα Windows η μεταβλητή errorlevel διατηρεί το exit code της τελευταίας εντολής.

%OJDEPLOY_ROOT%\ojdeploy -buildfile ojdeploy-build.xml -define app_root_dir=%DEV_ROOT% > %TEMP%/ojdeploy.txt 2>&1

if %errorlevel% LEQ 1 goto done
echo ojdeploy failed
exit /b 1

:done
exit /b 0

No comments: