langtools in b20
Jonathan Gibbons
Jonathan.Gibbons at Sun.COM
Sat Sep 8 22:56:53 PDT 2007
It is my intent to update KSL with langtools once that becomes
available,
so that langtools and KSL will by definition have the same build system,
at least on the main trunk.
On Sep 8, 2007, at 7:34 PM, Ted Neward wrote:
> 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