Hello Emond,

On Fri, 25 Aug 2023 at 14:38, Emond Papegaaij <emond.papega...@gmail.com> wrote:
>
> Op vr 25 aug 2023 om 07:02 schreef Maxim Solodovnik <solomax...@gmail.com>:
>
> > So if (for whatever reason) we do have
> > wicket-core 9.8.0+ AND wicket-util 9.7.0-
> >
> > In class path WebApplication will fail to start with
> > java.lang.NoSuchMethodError
> >
>
> This is perfectly fine. Semver only is about Wicket as a whole, so you
> should not be mixing different versions of parts of Wicket.
>
> Also, the problem you are describing is about forward compatibility (if
> were to be an external piece of code using this new method): you are using
> code that is compiled against a newer version of Wicket and use it with an
> older version. Semver does guarantee forward compatibility on any level.
>
> Finally, in minor releases you are allowed to add new functionality, this
> is by definition not forward compatible. You cannot build something that
> uses this new functionality in a piece of code and then expect it to work
> with a version of Wicket where this functionality did not yet exist.

Let me explain the situation I found during debugging :)

I was testing org.wicketstuff:openlayers3-examples:war:9.14.0

here is it's <partial> dependency tree:

[INFO] +- de.agilecoders.wicket:wicket-bootstrap-extensions:jar:4.0.4:compile
[INFO] |  +- de.agilecoders.wicket:jquery-selectors:jar:3.0.3:compile
[INFO] |  |  +- com.fasterxml.jackson.core:jackson-core:jar:2.11.4:compile
[INFO] |  |  \- com.fasterxml.jackson.core:jackson-databind:jar:2.15.1:compile
[INFO] |  |     \-
com.fasterxml.jackson.core:jackson-annotations:jar:2.15.1:compile
[INFO] |  +- org.apache.wicket:wicket-extensions:jar:9.14.0:compile
[INFO] |  +- org.apache.wicket:wicket-util:jar:9.3.0:compile
[INFO] |  |  +- commons-fileupload:commons-fileupload:jar:1.4:compile
[INFO] |  |  +- commons-io:commons-io:jar:2.12.0:compile
[INFO] |  |  \- org.apache.commons:commons-collections4:jar:4.4:compile

[INFO] \- org.apache.wicket:wicket-core:jar:9.14.0:compile
[INFO]    +- com.github.openjson:openjson:jar:1.0.12:compile
[INFO]    +- org.apache.wicket:wicket-request:jar:9.14.0:compile
[INFO]    \- org.danekja:jdk-serializable-functional:jar:1.9.0:compile

As you can see it directly depends on
`org.apache.wicket:wicket-core:jar:9.14.0:compile`
BUT it has no direct dependency on wicket-util :(

The other (very much old) library
wicket-bootstrap-extensions:jar:4.0.4 has it's dependency

So we have conflict :(

Maybe it worth to add some redundancy to our dependency:tree and add
`wicket-util` as direct dependency of `wicket-core`?

>
> Best regards,
> Emond



-- 
Best regards,
Maxim

Reply via email to