views:

36

answers:

1

I'm trying to figure out how a rather large Java project works by stepping through it in the debugger on my Windows machine, but for it to get past its initialization routines all the values in multiple .properties files must be correct. Many of these .properties files include lines like:

program.root=file://@program.root.dir@

It would be very helpful to my understanding if I could figure out what a default or safe value for any of these variables would be, but I have no clue what should be interpreting them. I know it's not running on my system, since by stepping through the code I can see a URI pointing to "file://@program.root.dir@", which causes errors as soon as it's used. But my system is a far cry from the Linux production servers, so something important is likely missing.

So my question is, what programming/scripting language or virtual machine or environment uses @enclosed@ variables? This kind of thing is notoriously hard to search for, since the internet doesn't allow searches on '@'.

A: 

autoconf can use those, especially in input scripts. On output those @foo@ are replaced with something else.

ldav1s
While this seems intuitively related to the situation -- many configuration files that could vary based on the system being deployed, I don't see any configure.ac or configure.in files anywhere on the repository, nor any mention of autoconf in the internal instructions for running the program. But I'm still trying to think of places to look.
Hammer Bro.
Is there a bootstrap.sh? If yes, run it, it will generate the configure scripts.
Quandary
Unfortunately, no. I'm starting to think that these are just variables that need to be manually configured that the designer just decided to indicate some variables @like.so@. There is a line in the user's guide (of sorts) that says "Make sure all the configuration files are correct." but doesn't go into any more detail than that.
Hammer Bro.
I guess it was just some strange programmer convention, since I'm reasonably confident that these substitutions aren't happening at runtime. But since this is a good answer to my question, although ironically not the solution to my problem (or if so then it's hidden very well), I'll accept it. Thanks.
Hammer Bro.