Emulator process working dir should be exec dir
Brought to you by:
blohman,
jrvanderhoeven
The emulator processes are started in temporarily generated subdirectories in the ./exec dir (set in the properties file). However, the working directory of the emulation process is the root directory of the Emulation Framework (i.e. the directory where the EFCore.jar is located). This means that any files changed/written by the emulator process will appear in this directory, and not in the emulator's execution directory.
Not only does this represent a security risk but also a problem when cleaning up the emulator directory and files.
This is a known issue. A good example is the JavaCPC emulator which generates several libraries it needs in the EF root directory.
However, this has been set because starting external processes (such as emulators), must be done using absolute paths, and references to the required digital objects (which may live elsewhere), do not seem to work when using relative paths.
A resolution must be found which changes the working directory of emulators but doesn't break the path references to attached digital objects.