langtools in b20
Jonathan Gibbons
Jonathan.Gibbons at Sun.COM
Tue Sep 4 21:59:32 PDT 2007
Ted,
Well, the current build available on openjdk.java.net is b19,
released aug30,
and we're currently on a two week cycle, so you do the math ...
There will be some docs regarding langtools in the new langtools
area. Specifically,
look in the make/ directory and its subdirectories for README files.
As for architecture, there's not much "architecture" involved;
langtools simply consists
of the source code for javac, javadoc, javah, javap, and apt. The
source code is
laid out the same way it was before, the only thing that is different
is that it is in a new
workspace (internal for now, separate external repository eventually)
and that the
build files are different.
For this build, we chose to go with Ant, because it is a pure-Java
workspace, and to
be able to share the same build system with IDEs, such as NetBeans.
For compatibility
with the rest of the j2se/ workspace, there is a simple Makefile
wrapper around the Ant
build.xml file as well, but you don't have to use that if you don't
want to.
The layout of the make/ directory is much the same as now, albeit
much simpler.
The build.xml file and its wrapper Makefile are in make/. The
NetBeans projects
are in make/netbeans/*, just like in the j2se/ workspace.
There are more NetBeans projects than before. Previously, there were
only projects
for the compiler and javadoc. Now, there are projects for all the
tools, although for
various reasons the javadoc tool comes with two projects -- one for
the tool itself
and one for the standard doclets. Why more projects? Well, as a
developer I want to
be able to work on any part of this workspace, so there has to be a
project for each
and every part :-)
And, because it is a smaller workspace, we don't have to rely on new
features in the
upcoming NetBeans 6.0, so you can stick with NetBeans 5.5 if you
want, until you're
ready to upgrade.
Although there are more projects, you can actually browse the entire
workspace and
build any/all of it from any of the projects. The only difference
between the projects is
how the UI is hooked up -- for example, in the javac project, the
"Clean and Rebuild"
button will rebuild javac, whereas in the javadoc project it will
rebuild javadoc, and so on.
Most of the build smarts is in the main build.xml file, with smaller
project-specific build.xml
files for each project.
For folk who want to build the rest of JDK, you can do it with or
without building
langtools as well. You can either download and build everything, or
you can just
download the j2se/ workspace, and point to a previous build of JDK
with the
ALT_JDK_IMPORT_DIR environment variable. Conceptually, this is
similar to
the current hotspot/ workspace. You can either build it or import it.
If you want to get
more into what the implications were for the rest of the build, I can
tell you more but
this isn't the right place. Suffice it to say that the ugly
"recompile" loop in the j2se/
workspace has gone away (hooray!) and that was a major goal of this
exercise.
The "price" is that the javac source code is constrained to be
compilable by the
"boot javac" (i.e. from the previous release, currently 1.6.0) and
javac, javadoc and
javah must all be runnable using "boot java" because they are all
used while building
j2se/ itself.
I hope this answers your questions. Let me know if you have any more.
-- Jon
P.S. I also note that by coincidence I will be on vacation when b20
is released.
It's a coincidence, really! So I'll be around to answer any questions
when I get back
on the following Monday, assuming I don't get eaten by bears or
anything like that.
On Sep 4, 2007, at 9:18 PM, Ted Neward wrote:
> Where "soon" means....?
>
> Do you have any sort of dox on how the langtools project is
> architected? I
> know there's been some blog chatter, but I was hoping for something
> that
> reflected the state of reality in b20?
>
> Ted Neward
> Java, .NET, XML Services
> Consulting, Teaching, Speaking, Writing
> http://www.tedneward.com
>
>
>> -----Original Message-----
>> From: compiler-dev-bounces at openjdk.java.net [mailto:compiler-dev-
>> bounces at openjdk.java.net] On Behalf Of Jonathan Gibbons
>> Sent: Friday, August 31, 2007 1:42 PM
>> To: compiler-dev at openjdk.java.net
>> Subject: langtools in b20
>>
>> Gang,
>>
>> Andreas just stopped by my office to tell me that the work for the
>> langtools/ separation has made it into the master workspace this
>> morning. This means you all will be able to see it in build 20,
>> coming
>> soon.
>>
>> -- Jon
>>
>> No virus found in this incoming message.
>> Checked by AVG Free Edition.
>> Version: 7.5.484 / Virus Database: 269.13.1/981 - Release Date:
>> 8/31/2007 6:13 AM
>>
>
> No virus found in this outgoing message.
> Checked by AVG Free Edition.
> Version: 7.5.485 / Virus Database: 269.13.5/988 - Release Date:
> 9/4/2007
> 9:14 AM
>
>
More information about the compiler-dev
mailing list