The Source for Java Technology Collaboration
User: Password:



Kelly O'Hair

Kelly O'Hair's Blog

OpenJDK Mercurial Transition Update 4

Posted by kellyohair on October 02, 2007 at 11:57 AM | Comments (4)

Update 4

    We tried very hard to split out corba, jaxp, and jaxws in Build 21 but didn't make it, however they just now got integrated into Build 22. This splits out an additional 6,000 files or so from the primary j2se workspace. This would not have been accomplished at all without the dedicated hard work of Seema, thank you Seema.

    So with Build 22 we will now have:

    • control
      Primary control build make files. Builds a complete or partial set of the components listed below.
    • langtools
      Independently buildable javac, javah, javap, javadoc, and apt sources. Uses a Makefile over an ant build script. Contains NetBeans projects and tests.
    • corba
      Independently buildable corba sources. Currently uses Makefiles only, which will change in the future. Requires a BOOTDIR jdk and optionally the langtools bootstrap tools.
    • jaxp
      Independently buildable jaxp sources. Uses a Makefile over an ant build script. Requires a BOOTDIR jdk and optionally the langtools bootstrap tools.
    • jaxws
      Independently buildable jaxws sources. Uses a Makefile over an ant build script. Requires a BOOTDIR jdk and optionally the langtools bootstrap tools.
    • hotspot
      Independently buildable hotspot sources, mostly native code but some Java code. It does need access to a BOOTDIR javac during a build.
    • j2se
      Independently buildable jdk, with access to a JDK_IMPORT_PATH. Requires a BOOTDIR jdk and optionally the langtools bootstrap tools. You can point it at the dist areas of langtools, corba, jaxp, and jaxws, for these classes, or it will pull the classes out of the JDK_IMPORT_PATH rt.jar and tools.jar.

    The langtools component is built with the BOOTDIR jdk and creates the jdk contribution files (dist/lib/classes.jar and dist/lib/src.zip) for the resulting jdk image being built, plus bootstrap tools that can be run with the BOOTDIR jdk for building the complete jdk with the latest class versions etc.

    The corba, jaxp, and jaxws components are given a BOOTDIR jdk to build with (and optionally the langtools bootstrap files when doing a full control build). All the components create contribution files (dist/lib/classes.jar and dist/lib/src.zip). Corba also contributes some special jdk image files (dist/bin.zip).

    Build 22 continues to be our target for the last JDK7 promotion built via the TeamWare workspaces, the Build after this one would be done via Mercurial repositories. There is some risk to this target, and it's possible it might slip, but it continues to be out target, and the momentum is building up.

    There will still be a few SCCS keywords in the Mercurial sources at first, but these should be harmless. We'll continue to clean up the source as we go.

-kto


Bookmark blog post: del.icio.us del.icio.us Digg Digg DZone DZone Furl Furl Reddit Reddit
Comments
Comments are listed in date ascending order (oldest first) | Post Comment


  • Hi kelly, i there a plan to continue to split the j2se workspace after build 22,
    by example to create an AWT/swing workspace, a sql one, etc

    Rémi

    Posted by: forax on October 02, 2007 at 01:05 PM

  • After the Mercurial split anything could happen. But there are issues with splitting sources off. The components we have done so far are what I call pre-components. They can be built with a previous jdk or a previous jdk plus the latest langtools compiler. They don't depend on any new jdk7 runtime interfaces. Since all of these components have secret lives as separate products or deliver into other products, they want to be independent of any new jdk interfaces that have not been FCS'd yet, so they all qualify as "pre-components" and can be built before the jdk7 runtime is built.

    Things like swing and awt would probably be post-components (something I just invented in this comment reply :^). I have NO idea how to split out post-components yet. Currently the j2se workspace builds classes, libraries, demos, and also creates the jdk image. So the first step is to to tease apart the actual jdk image creation and understand how a post-component might be created. A post-component should be able to use all the latest jdk7 runtime interfaces and be an intimate part of the jdk7 runtime or tools.

    It seems to me that the first post-component might be the demos, which contribute to the jdk7 image, and need a running jdk7 to be created, but don't really impact the basic runtime of the jdk7. I have no idea when this will happen, but once the image creation is teased out, that's when you could start. But the image creation logic is not trivial, so nobody should underestimate this effort.

    Just my opinions of course.

    -kto

    Posted by: kellyohair on October 02, 2007 at 01:30 PM

  • Hi Kelly. Is that jax-ws really just the JAX-WS piece? no JAXB? If so, where is JAXB? If it includes JAXB, how does it relate to the rest of Metro?
    Thanks, - eduard/o

    Posted by: pelegri on October 02, 2007 at 05:41 PM

  • The sources for javax.xml.bind is in the jaxws workspace, so the jdk jaxws workspace includes JAXB.

    Posted by: kellyohair on October 02, 2007 at 07:08 PM





Powered by
Movable Type 3.01D
 Feed java.net RSS Feeds