Hi Devs,

Yegor: What exactly is wrong with Batik?  Does it pull conflicting transitive 
dependencies?
technically: https://issues.apache.org/jira/browse/BATIK-1260
organizational: same as POI - too few people to have frequent releases

Yegor: we need to ensure users get an exception with a sensible message with 
instructions on what/how to add on the classpath.

If the dependency is required, JPMS will check at the program start and quits 
if it isn't there.
If it's optional (requires static), we probably can use reflection to check for 
the classes.
My preferred way in the long run would be more/specialized POI modules.
When one is using Gradle capabilities, you have the problem that the features 
are mutual exclusive.
So I've defined a "signing", "render" and "rendersign" feature.
This would be unnecessary with dedicated render and signing modules.
We had discussions on this point also several times, which resulted in no 
change.
Basically we would weigh between confusing users with new modules vs. users not 
reading a FAQ entry, which explains on how to use the components (e.g. how to 
exclude or include dependencies).

Yegor: Do we care about existing applications running POI  and Batik/XmlSec?
I think the answer is not so simple:
do we care about existing applications which are now need to exclude modules 
after the upgrade?
e.g. https://stackoverflow.com/questions/67789203
do we care about people complaining, that we/I change the (part of the) API 
with each release?

PJ: we should include all the transitive dependencies and document how users 
can choose to exclude certain dependencies
My idea was to work with mavens optional dependencies. The dependency will be 
marked as optional, if the dependency is part of Gradle feature/capability. So 
if a user looks at the pom, they might get the idea what to include.

PJ: it feels like you need to use '--add-module'
I have to correct myself, it's enough to add the module in the module-info.
Similar to the maven pom, the expectation would be, that the user looks in the 
module-info of the corresponding POI jar.

If you don't mind, I would commit my excludes now and wait for your feedback 
before the release.

Andi

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to