(the following discusses religious practices ... please don't break into flames)
In the past, the simplest approach I have seen for dealing with this is to simply put the generated code under the normal source dir and check it in. This is particularly handy with Thrift since it is common for users of the code to not have a working version of the Thrift compiler. I then have an optional profile that does the code generation. In my cases, I made that profile conditional on a thrift compiler being found, but there are other reasonable strategies. I did the code generation by generating into a temp dir and then copying the code into the source tree so that if the generation failed, no code was changed. The nice side effect is that IDE's see the generated code as first class code. Many consider various aspects of this style to be bad practice. Some condemn checking in generated code as akin to checking in jars. I kind of agree, but lack of thrift or javacc is common enough that it really has to be dealt with by checking these in somewhere. Only if your code generator really is ubiquitous is it feasible not to check in generated code. Others consider the commingling of generated an "real" code in the same directory tree to be a mortal sin. I agree, but in a lesser form. I strongly condemn the use of a single directory for generated and non-generated code, but if all directories avoid such miscegenation, then I don't see this as much of a problem. Most people recognize that a package with a name "generated" will contain generated code. On Tue, Aug 2, 2011 at 5:44 PM, Tom White <[email protected]> wrote: > > I like to debug through the code :) It would be nice if there were an > > automated way to handle that folder, but in the meantime, it would > probably > > be useful to document that along with the eclipse instructions. > > I had to do this step too. I've added it to the instructions on > http://wiki.apache.org/hadoop/EclipseEnvironment, but I agree it would > be nice to automate this if anyone knows the relevant setting. >
