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]
