eclipse-ee4j / jaxb-ri

Jaxb RI
https://eclipse-ee4j.github.io/jaxb-ri/
BSD 3-Clause "New" or "Revised" License
198 stars 109 forks source link

Add istack-commons-tools to jaxb-bom #1744

Open mattrpav opened 10 months ago

mattrpav commented 10 months ago

Currently istack-commons-runtime is listed in the bom, but istack-commons-tools is not.

xsom has a transitive dep on istack-common-sools

antoniosanct commented 9 months ago

Hi, @mattrpav

xsom has a transitive dep on istack-common-sools

Where did you see it?

Regards, Antonio.

mattrpav commented 9 months ago

dtd-parser rather

[INFO] +- org.glassfish.jaxb:jaxb-xjc:jar:3.0.2:compile
[INFO] |  +- org.glassfish.jaxb:xsom:jar:3.0.2:compile
[INFO] |  |  \- com.sun.xml.bind.external:relaxng-datatype:jar:3.0.2:compile
[INFO] |  +- org.glassfish.jaxb:codemodel:jar:3.0.2:compile
[INFO] |  +- com.sun.xml.bind.external:rngom:jar:3.0.2:compile
[INFO] |  +- com.sun.xml.dtd-parser:dtd-parser:jar:1.4.5:compile
[INFO] |  \- com.sun.istack:istack-commons-tools:jar:4.0.1:compile
antoniosanct commented 9 months ago

Hi, @mattrpav Then dtd-parser is not belonging to jaxb-ri, but eclipse-ee4j/jaxb-dtd-parser it is. I think this issue doesn't apply here. Regards, Antonio.

mattrpav commented 9 months ago

Hmm.. looks like jaxb-ri/xjc has a direct dependency on both dtd-parser and istack-common-tools

...
        <dependency>
            <groupId>com.sun.xml.dtd-parser</groupId>
            <artifactId>dtd-parser</artifactId>
        </dependency>
        <dependency>
            <groupId>com.sun.istack</groupId>
            <artifactId>istack-commons-tools</artifactId>
        </dependency>
...

ref: https://github.com/eclipse-ee4j/jaxb-ri/blob/57ebae184cfd23497f8ec502cb3283e5bac0768c/jaxb-ri/xjc/pom.xml#L86

laurentschoelens commented 9 months ago

@mattrpav : maybe we should switch to https://github.com/eclipse-ee4j/jaxb-ri/blob/master/jaxb-ri/boms/bom-ext/pom.xml This one contains more jaxb dependencies that we use...

mattrpav commented 9 months ago

My view on BOM use cases:

  1. jaxb-api, jaxb-impl users (need the JAXB API, JAXB impl and transitive deps for doing marshal/unmarshal of XML <-> Java.
  2. xjc schema-to-code generating users. Includes everything from #1 and adds the xjc deps
  3. SPI-side users. Like, highsource/jaxb-tools. Maven modules, xjc plugins, episode handlers and schema location resolving, etc. This is an advanced use case.

jaxb-ri/bom - users #1 and #2 as it is most 'software developers using jaxb' jaxb-ri/bom-ext - jaxb tools developers who are implementing and extending jaxb stuff

If the above is agreed, then it would make sense to include istack-commons-tools in the bom pom to support software developers using xjc