cdevents / sdk-java

Java SDK for CDEvents
Apache License 2.0
5 stars 6 forks source link

Modular dependency tracker #38

Open aalmiray opened 1 year ago

aalmiray commented 1 year ago

Now that a full Java module descriptor is in place thanks to #16 it would also be a good idea to keep track of current dependencies (compile & runtime) to see which ones may need updates in terms of Java modules support. Consumers wishing to use cdevents with modular Java Runtimes (created with jlink) require dependencies with full module descriptors.

Current dependency graph (mvn dependency:tree)

dev.cdevents:cdevents-sdk-java:jar:0.1.0-SNAPSHOT
+- io.cloudevents:cloudevents-core:jar:2.3.0:compile
|  \- io.cloudevents:cloudevents-api:jar:2.3.0:compile
+- com.fasterxml.jackson.core:jackson-databind:jar:2.15.0:compile
|  +- com.fasterxml.jackson.core:jackson-annotations:jar:2.15.0:compile
|  \- com.fasterxml.jackson.core:jackson-core:jar:2.15.0:compile
+- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:2.15.0:compile
+- com.networknt:json-schema-validator:jar:1.0.80:compile
|  +- com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:jar:2.15.0:compile
|  |  \- org.yaml:snakeyaml:jar:2.0:compile
|  +- org.apache.commons:commons-lang3:jar:3.12.0:runtime
|  \- com.ethlo.time:itu:jar:1.7.0:compile
+- org.slf4j:slf4j-api:jar:2.0.7:compile
+- org.slf4j:slf4j-reload4j:jar:2.0.7:runtime
  \- ch.qos.reload4j:reload4j:jar:1.2.22:runtime

Module names per dependency

Dependency Module Name Source Fix
cloudevents-core-2.3.0 io.cloudevents.core manifest
cloudevents-api-2.3.0 io.cloudevents.api manifest
jackson-databind-2.15.0 com.fasterxml.jackson.databind explicit OK
jackson-annotations-2.15.0 com.fasterxml.jackson.annotation explicit OK
jackson-core-2.15.0 com.fasterxml.jackson.core explicit OK
jackson-datatype-jsr310-2.15.0 com.fasterxml.jackson.datatype.jsr310 explicit OK
json-schema-validator-1.0.80 json.schema.validator filename
jackson-dataformat-yaml-2.15.0 com.fasterxml.jackson.dataformat.yaml explicit OK
snakeyaml-2.0 org.yaml.snakeyaml explicit OK
commons-lang3-3.12.0 org.apache.commons.lang3 manifest
itu-1.7.0 itu filename
slf4j-api-2.0.7 org.slf4j explicit OK
slf4j-reload4j-2.0.7 slf4j.reload4j filename
reload4j-1.2.22 reload4j filename
aalmiray commented 1 year ago
aalmiray commented 1 year ago

Depends on https://github.com/cdevents/sdk-java/issues/39

afrittoli commented 1 year ago

@aalmiray is this something you are still working on? It could be a candidate for hacktoberfest otherwise

aalmiray commented 1 year ago

@aalmiray is this something you are still working on? It could be a candidate for hacktoberfest otherwise

@afrittoli I have not looked at the tracker in the past months, but it does make sense to promote it for Hacktoberfest as you suggest.

aalmiray commented 7 months ago

It seems reload4j will not jump to modules. I'd recommend removing any loggin framewrok from runtime dependencies as it's the job of the consuming project to determine which logging framework should be used.

For tests, this project could use slf4j-simple.

UPDATE: this is already done.

aalmiray commented 7 months ago

commons-lang3-3.14.0 defines an explicit module descriptor. I suggest upgrading this dependency at your earliest convenience.