Hi Romain, if it is possible to invoke “:quit” within a Scala code block, this would be fine. Not sure if that is possible, though. Right now, I am having some troubles getting a working OpenMOLE build again after I update the master branch and cannot try it out. I was experiencing some issues with my plugin that I believe used to work before. But with the most recent master branch my plugin doesn’t work b/c of changes of InputOutputBuilder and the snapshot MAVEN .jar files not being in sync with these most recent changes.
If you could update the MAVEN snapshot archives which I compile my plugin against, I should be able to run my code in the latest OpenMOLE master branch version and try out the recent return code related changes. Thanks, Andreas > On 28 Apr 2015, at 18:34, Romain Reuillon <[email protected]> wrote: > > Hi Andreas, > > I just pushed some code so the console should return a non-0 return code in > case of compilation error. For runtime errors so, you should wrap your code > in a try catch and use the ":quit erno" command to get an non 0 return code. > Would that suite your requierements? > > Romain > > Le 23/04/2015 15:51, Andreas Schuh a écrit : >> It turns out for the first purpose, to quit when no appropriate arguments >> were supplied, I should just check these in my wrapping application *before* >> starting OpenMOLE console process at all… sorry I didn’t see this earlier. >> >> On the other hand, I would like to be able to catch errors in the script and >> if one is encountered exit with non-zero return code. The problem with :quit >> is that it cannot be part of a conditional branch, e.g., >> >> if (args.length == 0) :quit 1 >> >> doesn’t work b/c :quit is not actually a Scala function, but a special >> console command. >> >> Is it feasible to have something similar to Bash’s “set -e” which would make >> the OpenMOLE process quit as soon as it encounters an error in one of the >> statements or catches an unhandled exception ? >> >> If it’s too complicated or requires more than just small changes, I can life >> with checking all arguments in my wrapper App before starting the OpenMOLE >> console. >> >>> On 23 Apr 2015, at 11:22, Romain Reuillon <[email protected] >>> <mailto:[email protected]>> wrote: >>> >>> Yep, I am placing much hopes in this JSR: >>> https://jcp.org/en/jsr/detail?id=376 >>> <https://jcp.org/en/jsr/detail?id=376>, that will make it possible... >>> >>> Le 23/04/2015 12:20, Andreas Schuh a écrit : >>>> Thanks, Romain, that’ll do. I think in the long run it would anyway be >>>> nicer to be able to use OpenMOLE as library. Then this wouldn’t be needed >>>> any longer. >>>> >>>>> On 23 Apr 2015, at 10:41, Romain Reuillon <[email protected] >>>>> <mailto:[email protected]>> wrote: >>>>> >>>>> Hi Andreas, >>>>> >>>>> I just pushed code so you may now pass a return code to the quit command: >>>>> :q 14 will exit OpenMOLE and you'll get the 14 exit code for the openmole >>>>> process. >>>>> >>>>> This is a bit hacky though and depends on some scala console internal >>>>> behaviour, I hope it will not be too hard to maintain in the long run. >>>>> >>>>> cheers, >>>>> Romain >>>>> >>>>> Le 22/04/2015 18:19, Andreas Schuh a écrit : >>>>>> Sorry, wanted to include more specifics on my intention… a wrong >>>>>> argument would be for example one that doesn’t exist in the >>>>>> configuration file or simply no argument at all. In that case I would >>>>>> rather print a help screen and exit. In a way I would like to use an >>>>>> OpenMOLE script within the REPL as in any other scripting language. If I >>>>>> could execute my plugin code without the OpenMOLE console (REPL) but >>>>>> directly via a library call, that would be best of course... >>>>>> >>>>>> Within the REPL, exceptions are caught and the next instruction is read >>>>>> from STDIN and executed. In my case, I would prefer if the execution >>>>>> would stop then and the console quit with error code instead. >>>>>> >>>>>>> On 22 Apr 2015, at 17:16, Andreas Schuh <[email protected] >>>>>>> <mailto:[email protected]>> wrote: >>>>>>> >>>>>>> Not sure if that would be enough. An “exit” command that can be passed >>>>>>> a return code for the OpenMOLE console would be nice. >>>>>>> >>>>>>> Here’s my main function where I execute OpenMOLE as a subprocess: >>>>>>> https://github.com/schuhschuh/REPEAT/blob/a8ebb2ca826616fca66fcd91832dc87ed585a2ff/src/main/scala/com/andreasschuh/repeat/app/Main.scala#L41 >>>>>>> >>>>>>> <https://github.com/schuhschuh/REPEAT/blob/a8ebb2ca826616fca66fcd91832dc87ed585a2ff/src/main/scala/com/andreasschuh/repeat/app/Main.scala#L41> >>>>>>> >>>>>>>> On 22 Apr 2015, at 17:13, Romain Reuillon <[email protected] >>>>>>>> <mailto:[email protected]>> wrote: >>>>>>>> >>>>>>>> .... actually returning at the end of the start method would be ok. >>>>>>>> >>>>>>>> Le 22/04/2015 18:11, Romain Reuillon a écrit : >>>>>>>>> Hi Andreas, >>>>>>>>> >>>>>>>>> would you like to be able to set the retrun code it from a script ? >>>>>>>>> What does an incorect argument mean in your case? >>>>>>>>> >>>>>>>>> I would say, this post is a good starting point to implement such a >>>>>>>>> feature into openmole: >>>>>>>>> http://stackoverflow.com/questions/6431119/control-over-exit-codes-in-a-osgi-shutdown >>>>>>>>> >>>>>>>>> <http://stackoverflow.com/questions/6431119/control-over-exit-codes-in-a-osgi-shutdown>, >>>>>>>>> we could add a command in the console to achieve that. >>>>>>>>> >>>>>>>>> Romain >>>>>>>>> >>>>>>>>> Le 22/04/2015 17:38, Andreas Schuh a écrit : >>>>>>>>>> Hi, >>>>>>>>>> >>>>>>>>>> I was wondering if it is somehow possible to have a OpenMOLE batch >>>>>>>>>> script (read either from file or STDIN), terminate the console with >>>>>>>>>> a non-zero exit code ? In my particular case, I start a workflow >>>>>>>>>> execution within an application that wraps the OpenMOLE console >>>>>>>>>> execution. Users need not be to be aware that they are running >>>>>>>>>> OpenMOLE… if some error occurs or when the user forgot some command >>>>>>>>>> arguments, I want to be able to print an error message and exit (the >>>>>>>>>> console) with non-zero exit code. >>>>>>>>>> >>>>>>>>>> Andreas >>>>>>>>>> _______________________________________________ >>>>>>>>>> OpenMOLE-users mailing list >>>>>>>>>> [email protected] <mailto:[email protected]> >>>>>>>>>> http://fedex.iscpif.fr/mailman/listinfo/openmole-users >>>>>>>>>> <http://fedex.iscpif.fr/mailman/listinfo/openmole-users> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> _______________________________________________ >>>>>>>>> OpenMOLE-users mailing list >>>>>>>>> [email protected] <mailto:[email protected]> >>>>>>>>> http://fedex.iscpif.fr/mailman/listinfo/openmole-users >>>>>>>>> <http://fedex.iscpif.fr/mailman/listinfo/openmole-users> >>>>>>>> >>>>>>> >>>>>> >>>>> >>>> >>> >> >
_______________________________________________ OpenMOLE-users mailing list [email protected] http://fedex.iscpif.fr/mailman/listinfo/openmole-users
