langtools in b20

Ted Neward ted at tedneward.com
Sat Sep 8 19:34:04 PDT 2007


Coolness; next question: how easy would it be to slipstream the KSL project
in place of the langtools-javac project? In other words, build a JDK with
the KSL compiler instead of javac? Is there any plans to bring those two
build systems in sync with one another? Or is that just a pipe dream? :-)

Ted Neward
Java, .NET, XML Services
Consulting, Teaching, Speaking, Writing
http://www.tedneward.com
 

> -----Original Message-----
> From: Jonathan.Gibbons at Sun.COM [mailto:Jonathan.Gibbons at Sun.COM]
> Sent: Tuesday, September 04, 2007 10:00 PM
> To: Ted Neward
> Cc: compiler-dev at openjdk.java.net
> Subject: Re: langtools in b20
> 
> 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
> >
> >
> 
> No virus found in this incoming message.
> Checked by AVG Free Edition.
> Version: 7.5.485 / Virus Database: 269.13.5/988 - Release Date:
> 9/4/2007 9:14 AM
> 

No virus found in this outgoing message.
Checked by AVG Free Edition. 
Version: 7.5.485 / Virus Database: 269.13.10/995 - Release Date: 9/8/2007
1:24 PM
 




More information about the compiler-dev mailing list