Loading ...
Sorry, an error occurred while loading the content.

88Welcome to the discussion group for JSR199 (standard API for Java compilers)

Expand Messages
  • Neal M Gafter
    Jun 23, 2003
    • 0 Attachment
      Welcome to the discussion group for JSR 199, which will define
      a standard interface for Java compilers.

      This Yahoo group was previously a public forum for this topic, but
      discussion seems to have died down. The list is now moderated. All
      (and only) of the members of the JSR 199 expert group are moderators
      of this group. Only the members of JSR 199 can post messages to this
      group. We expect to carry on our discussions here, so if you're not
      on the expert group you can still listen in by remaining subscribed to
      this group. You can always send me feedback by private email.

      First, two pieces of bad news. First, the Tiger (1.5) release of J2SE
      will not include a file system API, which we were depending on.
      Second, the folks who define the Tiger release contents have decided
      not to drop JSR 199 altogether from Tiger, but to reduce its scope
      considerably. For 1.5, the Tiger team wants to have a relaiable way
      to invoke javac, without having to depend on any unsupported APIs.

      Our first decision was to have our discussion in this public forum.
      Our second decision will be whether or not we want to define this
      simplified API, or whether we want to focus our attention on the more
      complex API that is described in
      <http://www.jcp.org/en/jsr/detail?id=199>

      If we make the simplified API the goal for JSR 199, then we can
      complete our work and ship the result within the next few months and
      expect it to go into J2SE 1.5. However, the disadvantage is that we
      would have to form a brand new expert group and start a new JSR if we
      want to do the more ambitious spec, because the work of the expert
      group will have been completed. We could probably do that very easily
      with exactly the same set of members, but we would have to go through
      the JCP process of proposing a new JSR.

      On the other hand, if we focus our attention on the more ambitious
      spec, then we cannot expect our work to be included in J2SE until the
      1.6 release at the earliest, because that is the soonest we could
      expect a filesystem API to be included in J2SE; that is the next
      feature release of the platform after Tiger. However, we will be able
      to produce public prototypes of our work in the meantime.

      I suggest we take a middle road. We should state as the explicit goal
      of JSR 199 that we will produce a spec as originally planned.
      Meanwhile, we will define the simpler API as an unofficial product of
      JSR 199 and I will get it included in Tiger.

      I have attached a draft of my recommended simple API. If we go with
      something like this, I will make it work with javac, javap, javah,
      javadoc, and possibly rmic as well in Tiger.

      It's used something like this:

      import javax.shell.*;

      try {
      Command javac = Command.findTool("com.sun.tools.javac");
      PrintWriter out = new PrintWriter(System.out);
      String[] ags = {"-source", "1.5", "/tmp/Foo.java"};
      javac.run(null, out, out, args);
      } catch (CommandNotFound ex) {
      // appropriate cleanup
      }

      What do you think?
    • Show all 8 messages in this topic