[Mondrian] RE: Eigenbase perforce change 9201 for review

Julian Hyde julianhyde at speakeasy.net
Thu May 3 04:54:34 EDT 2007


Thiyagu,

Can you elaborate why you need this change? I am loathe to support a new
means of generating jdk14-compatible jar files.

If you intend to use features which retroweaver cannot handle, then
everyone is going to need to switch to retrotranslator, yes?

How great is the performance benefit of using these features versus the
features which retroweaver can handle?

An alternative approach would be to put the incompatible code behind the
UtilCompatible interface. (I did this for EnumSet because retroweaver
does not handle this correctly.) JDK1.4 users would not get the benefit
of these features, but hey, we need to give them some incentive to
upgrade!

Julian

> -----Original Message-----
> From: Thiyagu Palanisamy [mailto:thiyagu at gmail.com] 
> Sent: Wednesday, May 02, 2007 11:40 PM
> To: Andreas Voss; Bart Pappyn; Julian Hyde; John V. Sichi; 
> Matt Campbell; Sam Birney; Zelaine Fong
> Subject: Eigenbase perforce change 9201 for review
> 
> http://p4web.eigenbase.org/@md=d&c=6PU@//9201?ac=10
> 
> Change 9201 by thiyagu at thiyagu.laptop.dev on 2007/05/02 23:39:06
> 
> 	MONDRIAN: Added new build target for  retro translator. 
> Retrotranslator supports more advavnced features of 
> java.util.concurrent which is not supported by Retroweaver. 
> Parellel Query Execution implementation needs this.
> 
> Affected files ...
> 
> ... //open/mondrian/build.xml#158 edit
> ... //open/mondrian/lib/backport-util-concurrent-3.0.jar#1 add
> ... //open/mondrian/lib/retrotranslator-runtime-1.2.1.jar#1 add
> ... //open/mondrian/lib/retrotranslator-transformer-1.2.1.jar#1 add
> 
> Differences ...
> 
> ==== //open/mondrian/build.xml#158 (ktext) ====
> 
> 2c2
> <   == $Id: //open/mondrian/build.xml#157 $
> ---
> >   == $Id: //open/mondrian/build.xml#158 $
> 130a131,132
> >     <pathelement 
> location="${lib.dir}/retrotranslator-runtime-1.2.1.jar" />
> >     <pathelement 
> location="${lib.dir}/backport-util-concurrent-3.0.jar" />
> 756a759,760
> > ${lib.dir}/retrotranslator-runtime-1.2.1.jar,
> > ${lib.dir}/backport-util-concurrent-3.0.jar,
> 793a798,799
> > ${lib.dir}/retrotranslator-runtime-1.2.1.jar,
> > ${lib.dir}/backport-util-concurrent-3.0.jar,
> 1200a1207,1251
> >     <!--
> >          Just like Retroweaver, Retrotranslator also 
> re-engineers JDK 1.5-compatible code so it can run under
> >          JDK 1.4. Retrotranslator supports backporting of 
> more advavnced features of java.util.concurrent.
> > 
> >          This task compiles all core and test classes under 1.5
> >          then runs retrotranslator to make them 1.4 compatible.
> > 
> >          If you only intend to run on JDK 1.5, there's no 
> need to call this task.
> > 
> >          The inputs to this process are the mondrian.jar 
> file (containing core
> >          files) and the testclasses directory (containing 
> test classes).
> > 
> >          The outputs from this process are the 
> mondrian-jdk14.jar file
> >          and the testclasses-jdk14 directory.
> > 
> >          Note that this task does not modify classes in place.
> > 
> >          After you've run this task, you can invoke 'build 
> test' from a JDK 1.4
> >          and all the tests will run. You should also be 
> able replace mondrian.jar
> >          with mondrian-jdk14.jar and 
> retrotranslator-runtime-1.2.1.jar (retrotranslator's
> >          runtime library) in your web application and run 
> jpivot, but I haven't
> >          tried that.
> > 
> >          When you run the regression under JDK 1.4, you 
> must use ant-1.6.0.
> >          Later versions of ant include junit4, which 
> requires JDK 1.5.
> >           -->
> >     <target name="retrotranslator" depends="jar, compile.tests">
> >         <taskdef name="retrotranslator" 
> classname="net.sf.retrotranslator.transformer.RetrotranslatorTask">
> >             <classpath>
> >                 <pathelement 
> location="${lib.dir}/retrotranslator-transformer-1.2.1.jar"/>
> >                 <pathelement 
> location="${lib.dir}/retrotranslator-runtime-1.2.1.jar"/>
> >                 <pathelement 
> location="${lib.dir}/backport-util-concurrent-3.0.jar"/>
> >             </classpath>
> >         </taskdef>
> >         <delete quiet="true">
> >             <fileset dir="." includes="${jar-jdk14.file}"/>
> >             <fileset dir="${testclasses-jdk14.dir}"/>
> >         </delete>
> >         <mkdir dir="${testclasses-jdk14.dir}"/>
> >         <retrotranslator destdir="${testclasses-jdk14.dir}" 
> verify="false">
> >             <fileset dir="${testclasses.dir}" 
> includes="**/*.class"/>
> >         </retrotranslator>
> >         <retrotranslator srcjar="${jar.file}" 
> destjar="${jar-jdk14.file}" verify="false"/>
> >     </target>
> > 
> 




More information about the Mondrian mailing list