Currently, there are three default installation paths in CompilerPreferenceInitializer, each for one operating system. I usually install software to a non-default location, so applying defaults on the compiler preference page will always destroy the lilypond path.
I suggest modifying the initializer in the following way:
check for a start parameter (analogous to the unit test start parameter -Dlilypond.path)
check for the Oomph user setup variable "lilypondlocation" (as used in the Elysium Oomph setup)
if none of these exist, fall back to the current implementation
Currently, there are three default installation paths in CompilerPreferenceInitializer, each for one operating system. I usually install software to a non-default location, so applying defaults on the compiler preference page will always destroy the lilypond path.
I suggest modifying the initializer in the following way: