Hi Peter,
On Thu, Dec 31, 2009 at 12:42 PM, Olsen, Peter C. Peter.Olsen@jhuapl.edu wrote:
Ladies and Gentlemen,
I've come to the point where it would be convenient for me to establish a system-wide run-time configuration so that every invocation of ABCL for every user starts with a few common packages. The only way I can find to do that is to have everyone put the appropriate code in their .abclrc files. I've tried to put a load command in the shell script that starts the interpreter, but it doesn't work.
/usr/bin/java -classpath abcl.jar:jscheme.jar org.armedbear.lisp.Main "(load "invoke.lisp")" $@
I suggest that we consider changing the processInitializationFile method in Interpreter.java to look for some sort of initialization file in the directory in which abcl.jar is located when the Interpreter starts. That seems to be a simple change. A more elegant solution would be add some code to determine the OS and then look for configuration files in an appropriate place for each one.
I'm a newbie to this project, so I don't want to overstep my bounds. Having said that, I'd be happy to make and test the changes I've proposed.
Comments (particularly on the OS variation)?
As pointed out by Alessio, we may be in an environment where global access is not granted (such as Google App Engine) or where there is no real convention for centralized config files (such as Windows - which uses the registry, generally).
However, we seem to have one common location in all operating systems: our Jar file. What about loading custom statements added to the Jar if it contains an abclrc file?
Bye,
Erik.