[jsr294-modularity-eg] Exported packages and wildcard expansion
Andreas Sterbenz
Andreas.Sterbenz at Sun.COM
Mon Apr 23 12:40:38 EDT 2007
Glyn Normington wrote:
>
> The current strawman allows a package to be exported by specifying a *
> wildcard such as example.foo.myapp.*. The wildcard is expanded by javac.
>
> This places some constraints on separate compilation. The superpackage
> must be compiled at a point in time when all the classes belonging to
> the package are (a) known and (b) available to javac.
>
> So some scenarios must be handled carefully. Suppose two developers are
> collaborating to produce a superpackage and both are contributing
> classes to an exported package. It is not sufficient for them to share
> the superpackage source file and any shared code. They must also share
> the full set of contributed classes so that javac can perform the
> correct expansion.
This is what the separate compilation proposal that is the other aspect of
JSR 294 was designed for. It will allow developers to reference code at
compile time with only signatures being available but not the full source
or class files.
We are working on producing a strawman proposal as we did for
superpackages, but we are not quite there yet. In the meantime, the best
description of the idea can be found in Gilad's blog [1] and his JavaOne
presentation from last year [2].
Andreas.
[1] http://blogs.sun.com/gbracha/entry/developing_modules_for_development
[2]
http://developers.sun.com/learning/javaoneonline/2006/coreplatform/TS-3885.html
More information about the jsr294-modularity-eg
mailing list