Ah my bad. Yes, branch-0.23 is separated. I was compiling trunk and noticed this to be a non issue :)
On 21-Nov-2011, at 10:18 PM, Praveen Sripati wrote: > Harsh, > > Branch-0.23 has "File workDir;" while the trunk has "final File workDir;" > in RunJar.java. > > For the 0.23 build, should I get the code from branch-0.23 or trunk? I > thought that the 0.23 release was build from branch-0.23. > > Thanks, > Praveen > > On Mon, Nov 21, 2011 at 8:58 PM, Harsh J <ha...@cloudera.com> wrote: > >> This appears to have already been fixed since >> a7654ba4324a1cc831fcef3988d9dca767bcdef3. I can compile the trunk right now >> -- try a fetch+rebase/pull/up again perhaps? >> >> But yes, that value has to be final as the compiler noted. >> >> On 21-Nov-2011, at 8:22 PM, Praveen Sripati wrote: >> >>> Hi, >>> >>> I got the latest code from branch-0.23 and got the below error. Think >> this >>> is related to HADOOP-6614. >>> >>> [ERROR] >>> >> /home/praveensripati/Hadoop/0.23/source/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/RunJar.java:[171,31] >>> local variable workDir is accessed from within inner class; needs to be >>> declared final >>> >>> The error is around this block >>> >>> Runtime.getRuntime().addShutdownHook(new Thread() { >>> public void run() { >>> FileUtil.fullyDelete(workDir); >>> } >>> }); >>> >>> >>> JLS says >>> >>> http://java.sun.com/docs/books/jls/third_edition/html/classes.html >>> >>> Any local variable, formal method parameter or exception handler >> parameter >>> used but not declared in an inner class must be declared final. Any local >>> variable, used but not declared in an inner class must be definitely >>> assigned (ยง16) before the body of the inner class. >>> >>> Should workDir be declared as final? >>> >>> Thanks, >>> Praveen >> >>