harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Nathan Beyer" <nbe...@kc.rr.com>
Subject RE: [app] ant with ecj
Date Mon, 28 Aug 2006 03:52:14 GMT
The current build scripts should be doing this already. For example, this is
a snippet from the 'luni' module's build script.

        <javac sourcepath=""
               srcdir="${hy.luni.src.main.java}"
               destdir="${hy.build}"
               source="${hy.javac.source}"
               target="${hy.javac.target}"
               debug="${hy.javac.debug}">
            <bootclasspath>
                <fileset dir="${hy.jdk}/jre/lib/boot">
                    <include name="**/*.jar" />
                </fileset>
            </bootclasspath>
        </javac>

It points to luni's source directory and puts everything in the deploy
(JDK)/jre/lib/boot folder on the bootclasspath to compile against. In the
case of "java.lang.Object", this should be in the "luni-kernel-stubs.jar".
If you're doing a full compile, then "java.lang.Object" should be included
in the source files.

I just ran the build using the Eclipse compiler and it worked fine. Here's
what I did.
1. Check out all of the code from the classlib trunk [1] down. You need
everything from the folder down.
2. From the 'trunk' folder, run 'ant fetch-depends', which downloads all of
the dependencies for the build.
3. Grab the ecj_3.2.jar from the 'trunk/depends/jars/ecj_3.2' and copied it
into my ANT_HOME/lib folder. This puts ECJ on Ant's classpath.
4. From the 'trunk' folder, run 'ant build
-Dbuild.compiler=org.eclipse.jdt.core.JDTCompilerAdapter' and the entire
federated build runs.

Is this similar to what you're doing? Note, I'm running Ant with JAVA_HOME
pointing to Sun's 5.0_7 JDK.

-Nathan

[1]
https://svn.apache.org/repos/asf/incubator/harmony/enhanced/classlib/trunk/

> -----Original Message-----
> From: Jordan Justen [mailto:jljusten@gmail.com]
> Sent: Sunday, August 27, 2006 10:31 PM
> To: harmony-dev@incubator.apache.org
> Subject: Re: [app] ant with ecj
> 
> Nathan,
> 
> Is there a way to have the javac/ecj task include all of standard harmony
> jars without including them in the CLASSPATH environment variable?
> 
> Thanks,
> 
> -Jordan
> 
> On 8/27/06, Nathan Beyer <nbeyer@kc.rr.com> wrote:
> >
> > Keep in mind that the execution of the Ant scripts and the compilation
> are
> > two separate things, which means they are using two different
> classpaths.
> > If
> > the compilation task is complaining about a missing class, then this
> means
> > the class is missing from the classpath of the compiler, not the
> classpath
> > of the executing Ant. You'll need the Eclipse compiler JAR on Ant's
> > execution classpath to execute the javac task.
> >
> > This can be confusing when using the Eclipse compiler, since it doesn't
> > have
> > any "default" classpath. Normally when you're using 'javac' from a JDK,
> > the
> > classpath of the underlying JRE (all of the java.*, etc classes) is
> > automatically on the classpath. The Eclipse compiler is not part of a
> JDK,
> > so there is nothing on the classpath by default.
> >
> > -Nathan
> >
> > > -----Original Message-----
> > > From: Jordan Justen [mailto:jljusten@gmail.com]
> > > Sent: Sunday, August 27, 2006 8:49 PM
> > > To: harmony-dev@incubator.apache.org
> > > Subject: Re: [app] ant with ecj
> > >
> > > Richard,
> > >
> > > Yes, I also added ecj_3.2.jar to the CLASSPATH.
> > >
> > > Ant works fine, but the first time a javac task is encountered, the
> > > compiler
> > > complained that java.lang.Object was not found.  I then added
> > > jdk/jre/lib/boot/kernel.jar to CLASSPATH.  Now, I see an error that
> > > java.lang.String is not found, so I added luni.jar to CLASSPATH.
> etc...
> > >
> > > Since ant is basically working (mkdir tasks, delete tasks, java tasks
> > all
> > > seem to work), I think the harmony jvm is loading these "boot" jars,
> but
> > > it
> > > seems like when the javac task uses ecj, those jars are not visible.
> > >
> > > I'm using windows xp, ant 1.6.5, and the latest harmony jdk snapshot.
> > >
> > > Thanks again,
> > >
> > > -Jordan
> > >
> > > On 8/27/06, Richard Liang <richard.liangyx@gmail.com> wrote:
> > > >
> > > >
> > > >
> > > > Jordan Justen wrote:
> > > > > Hi all.
> > > > >
> > > > > I'm trying to use ant with the ecj compiler.  I override the
> > compiler
> > > in
> > > > > build.xml like this:
> > > > >  <property name="build.compiler" value="
> > > > > org.eclipse.jdt.core.JDTCompilerAdapter" />
> > > > >
> > > > > This will execute the compiler, but I find I have to add each jar
> > from
> > > > > jdk/jre/lib/boot to CLASSPATH or else ecj won't find the standard
> > > > classes
> > > > > during compilation.
> > > > >
> > > > > This is probably user error, and not related to harmony. :)  Does
> > > anyone
> > > > > know what I might be improperly configuring?
> > > > Hello Jordan,
> > > >
> > > > Do you mean the "build.compiler" property in make/build_java.xml? I
> > just
> > > > give it a try by 1) overriding the compiler as what you have done 2)
> > > > adding C:\harmony\workspace\trunk\depends\jars\ecj_3.2\ecj_3.2.jar
> > into
> > > > classpath.
> > > >
> > > > Everything works OK. :-) Could you give more detailed information
> > about
> > > > this issue? Thanks a lot.
> > > >
> > > > Best regards,
> > > > Richard
> > > > >
> > > > > Thanks,
> > > > >
> > > > > -Jordan
> > > > >
> > > >
> > > > --
> > > > Richard Liang
> > > > China Software Development Lab, IBM
> > > >
> > > >
> > > >
> > > > --------------------------------------------------------------------
> -
> > > > Terms of use : http://incubator.apache.org/harmony/mailing.html
> > > > To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
> > > > For additional commands, e-mail: harmony-dev-
> help@incubator.apache.org
> > > >
> > > >
> >
> >
> > ---------------------------------------------------------------------
> > Terms of use : http://incubator.apache.org/harmony/mailing.html
> > To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
> > For additional commands, e-mail: harmony-dev-help@incubator.apache.org
> >
> >


---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
For additional commands, e-mail: harmony-dev-help@incubator.apache.org


Mime
View raw message