On 26/07/2016 11:10, Stephen Colebourne wrote:

Please use this thread to add summaries of other open source
projects.

Many general libraries are going to export most or all packages as that is the way that they are structured. No surprise there. Exporting all packages is also the starting point for migration when using automatic modules. When you move to creating explicit modules then you are forced to think about which packages are part of the API, that seems like a good thing!

In any case, here's some data from a recent OpenJDK build. The JDK puts a lot of implementation into non-exported packages so the profile will be different.

java.activation                   1 exported,   1 internal
java.annotations.common           1 exported,   0 internal
java.base                        51 exported, 106 internal
java.compact1                     0 exported,   0 internal
java.compact2                     0 exported,   0 internal
java.compact3                     0 exported,   0 internal
java.compiler                     6 exported,   0 internal
java.corba                       31 exported,  83 internal
java.datatransfer                 1 exported,   1 internal
java.desktop                     50 exported,  75 internal
java.httpclient                   1 exported,   1 internal
java.instrument                   1 exported,   1 internal
java.logging                      1 exported,   3 internal
java.management                  10 exported,  14 internal
java.naming                       5 exported,  11 internal
java.prefs                        1 exported,   0 internal
java.rmi                          6 exported,   7 internal
java.scripting                    1 exported,   1 internal
java.se                           0 exported,   0 internal
java.se.ee                        0 exported,   0 internal
java.security.jgss                2 exported,  15 internal
java.security.sasl                1 exported,   4 internal
java.smartcardio                  1 exported,   1 internal
java.sql                          3 exported,   0 internal
java.sql.rowset                   3 exported,   3 internal
java.transaction                  1 exported,   0 internal
java.xml                         25 exported,  83 internal
java.xml.bind                     6 exported,  51 internal
java.xml.crypto                   6 exported,  26 internal
java.xml.ws                      11 exported, 128 internal
jdk.accessibility                 1 exported,   1 internal
jdk.attach                        2 exported,   1 internal
jdk.charsets                      0 exported,   1 internal
jdk.compiler                      4 exported,  26 internal
jdk.crypto.ec                     0 exported,   1 internal
jdk.crypto.pkcs11                 0 exported,   2 internal
jdk.dynalink                      5 exported,   1 internal
jdk.hotspot.agent                 0 exported,  97 internal
jdk.httpserver                    2 exported,   1 internal
jdk.internal.le                   0 exported,   7 internal
jdk.internal.opt                  0 exported,   3 internal
jdk.jartool                       2 exported,   3 internal
jdk.javadoc                       7 exported,  23 internal
jdk.jcmd                          0 exported,   7 internal
jdk.jconsole                      1 exported,   2 internal
jdk.jdeps                         0 exported,   5 internal
jdk.jdi                           5 exported,   4 internal
jdk.jdwp.agent                    0 exported,   0 internal
jdk.jlink                         1 exported,  10 internal
jdk.jshell                        3 exported,   6 internal
jdk.jsobject                      1 exported,   1 internal
jdk.jstatd                        0 exported,   3 internal
jdk.jvmstat                       0 exported,   7 internal
jdk.localedata                    0 exported,   6 internal
jdk.management                    1 exported,   1 internal
jdk.naming.dns                    0 exported,   2 internal
jdk.naming.rmi                    0 exported,   2 internal
jdk.net                           1 exported,   0 internal
jdk.pack200                       0 exported,   0 internal
jdk.policytool                    0 exported,   1 internal
jdk.rmic                          0 exported,   9 internal
jdk.scripting.nashorn             2 exported,  27 internal
jdk.scripting.nashorn.shell       0 exported,   1 internal
jdk.sctp                          1 exported,   1 internal
jdk.security.auth                 4 exported,   0 internal
jdk.security.jgss                 1 exported,   1 internal
jdk.unsupported                   3 exported,   0 internal
jdk.vm.ci                         3 exported,  13 internal
jdk.xml.bind                      0 exported,  68 internal
jdk.xml.dom                       4 exported,   0 internal
jdk.xml.ws                        0 exported,  27 internal
jdk.zipfs                         0 exported,   1 internal

Total exported: 280
Total internal: 987

The "0 exported" is the norm for service provider module, also API-less tool modules. Also in the above then aggregator modules report "0 exported" because they don't have any content.

Reply via email to