J1 module demo plans?
Jonathan.Gibbons at Sun.COM
Tue May 5 19:17:08 PDT 2009
How much of the Library interface does the Resolver need? As I
you hope javac will work by providing an implementation of a Library.
some methods, like Library.listClasses, that javac cannot reasonably
because of chicken and egg issues. If the Resolver requires that to be
implemented, the elastic on the stretch goal just snapped.
Also, the Library API is file-centric, in that the install method works
on a classes/
directory. This is not going to work well with javac/JSR 199, since for
part, javac works in terms of JavaFileObjects returned from a
and does not assume a File based implementation.
How do you envisage javac using the Jigsaw API?
Mark Reinhold wrote:
>> Date: Tue, 05 May 2009 09:41:20 -0400
>> From: karen.kinnear at sun.com
>> What are our current plans for a J1 demo? What have we gotten done
>> for that and what is left?
> The current plan for the J1 demo is to show the download-size and
> native-packaging benefits of Jigsaw on Ubuntu Linux. The main tasks
> (1) A quick-and-dirty "modularization" of the JDK, done by shuffling
> around the files from a regular JDK build rather than by rewriting
> the JDK makefiles (Mark)
> (2) Add whatever remaining run-time features are needed for (1), e.g.,
> resources, native libraries, and possibly commands (Mark)
> (3) Write the packaging tool, jpkg, so that we can create .deb files
> from modules (Dalibor)
> (4) Upgrade javac to understand -modulepath and the new modularized
> output-directory format (Jon)
> (5) (Stretch goal) Upgrade javac to resolve dependences against a
> module library (Jon)
> We can have a credible demo without (5), we just won't be able to show
> how compile-time visibility checking works.
> At this point I'm pretty sure we won't need any further VM changes for
> this demo, but I could be wrong.
> The demo itself will go something like this:
> - Start with an Ubuntu box that has no Java installed on it.
> - Using Synaptic, install the "bootstrap" JRE from a nearby package
> repository. While selecting the package, compare its size to a
> currently-available full-JRE package.
> - Show that this minimal JRE can run the usual command-line "Hello,
> world!" program, packaged as an ordinary stand-alone class file
> rather than a module.
> - Show that it can't run even a trivial Swing application.
> - Install the Swing package, which in turn will cause one or more
> intermediate packages (e.g., AWT/2D) to be installed.
> - Show that a simple Swing application can be run.
> - Repeat this pattern as desired to show the installation of
> additional components (e.g., XML, JAX-WS, ...).
> - Show how to write and run the command-line "Hello, world!"
> program as a module.
> - Show how to write a simple Swing application as a module.
> We're not going to have any IDE support for the JSR 294 language
> constructs in time for J1, so this will be an Emacs-and-shell sort
> of demo.
> - Mark
More information about the jigsaw-dev