In order to support the new module system, we need to provide a module-info.java in the codebase that defines all the imports we provide. I believe that we (unfortunately) can't fully encapsulate our dependencies because they are not going to support modules yet, but we should be able to present a proper module interface for when POI catches up.
We also need to make sure to support Java8 folks as well, as there are likely going to be people stuck on that version for at least another year or two. I believe this can be done by generating two Maven artifacts, one called xlsx-streamer (java8) and one called xlsx-streamer-jdk11 (java11). This also means that we won't be able to use some of the goodies from Java9-11 (including var) in the codebase.
In order to support the new module system, we need to provide a module-info.java in the codebase that defines all the imports we provide. I believe that we (unfortunately) can't fully encapsulate our dependencies because they are not going to support modules yet, but we should be able to present a proper module interface for when POI catches up.
We also need to make sure to support Java8 folks as well, as there are likely going to be people stuck on that version for at least another year or two. I believe this can be done by generating two Maven artifacts, one called
xlsx-streamer
(java8) and one calledxlsx-streamer-jdk11
(java11). This also means that we won't be able to use some of the goodies from Java9-11 (includingvar
) in the codebase.