Using modules in open source libraries

Jochen Theodorou blackdrag at gmx.org
Tue Jul 26 12:49:31 UTC 2016


Groovy-core  44 exported and 25 maybe not exported


On 26.07.2016 12:10, Stephen Colebourne wrote:
> There has been a lot of discussion about exporting packages - at
> compile time vs runtime and also the related problem of resources. I
> decided to take a look at some open source projects to see whether a
> list of exported packages is useful as currently defined:
>
> These standard open source projects were designed prior to modules:
>
> Joda-Time - 7 exported packages
> Joda-Time-Hibernate - 1 exported package
> Joda-Time-I18N - 1 exported package
> Joda-Time-JspTags - 1 exported package
> Joda-Money - 2 exported packages
> Joda-Primitives - 10 exported packages
> Joda-Convert - 2 exported packages
> Joda-Collect - 1 exported package
> Joda-Beans - 16 exported packages
> Joda-Beans-Maven-Plugin - 1 exported package
> Joda-Beans-UI - 5 exported packages
> ThreeTen-Extra - 3 exported packages
> ThreeTen-Backport - 6 exported packages
> Google Guava - 18 exported packages, 1 non-exported package
> SLF4J - 3 exported packages
> JCommander - 4 exported packages, 1 non-exported package
>
> Looking at the list, it is clear that non-exported packages are a
> small use-case.
> - 81 exported packages
> - 2 non-exported packages
>
> Strata [1] has been designed in Java 8 but with an awareness that
> modules are coming:
>
> Strata-Collect - 8 exported packages
> Strata-Basics - 7 exported packages
> Strata-Data - 2 exported packages
> Strata-Calc - 3 exported packages
> Strata-Product - 23 exported packages
> Strata-Market - 13 exported packages
> Strata-Loader - 3 exported packages, 1 only exported at runtime for reflection
> Strata-Math - 1 exported package, 17 packages exported only to a
> single friend module
> Strata-Pricer - 19 exported packages, 10 non-exported packages
> Strata-Measure - 15 exported packages
>
> - 94 exported packages
> - 17 exported to a single other module
> - 11 non-exported packages
>
> I'll use a different thread to express my opinion on what the data
> means. Please use this thread to add summaries of other open source
> projects.
>
> Stephen
>
> [1] https://github.com/OpenGamma/Strata
>


More information about the jigsaw-dev mailing list