vaadin / testbench

Vaadin TestBench is a tool for automated user interface testing of Vaadin applications.
https://vaadin.com/testbench
Other
20 stars 22 forks source link

Synchronize gwt-elemental version with Flow #1115

Open Legioth opened 6 years ago

Legioth commented 6 years ago

Starting form Flow 1.1, com.vaadin.external.gwt:gwt-elemental:jar:2.8.2.vaadin1 will be used instead of the previously used com.google.gwt:gwt-elemental:jar:2.8.2 version because of OSGi compatibility. This causes lots of warnings during application startup about having the same class from multiple locations. This can be seen when doing mvn jetty:run for the test-root-context module in Flow.

alvarezguille commented 6 years ago

@Legioth com.vaadin.external.gwt:gwt-elemental:jar:2.8.2.vaadin1 is just a fork with fixed osgi metadata? how breaking do you consider this dependency swap?

Legioth commented 6 years ago

I believe that OSGi metadata is the only change. Maybe @tsuoanttila or @Artur- can confirm?

If that is the case, then it seems like the changes would be quite compatible. The worst that would happen is that the project has an explicit dependency on the original variant and thus ends up with two identical copies on the classpath. This would to my knowledge only cause exactly the warning that everyone would get if no change is made. I would still recommend that the minor version is bumped for this kind of change.

Legioth commented 6 years ago

Turns out that version 2.8.2.vaadin1 is slightly broken in the way that it accidentally also depends on the upstream 2.8.2 module. As a workaround for now, the additional dependency needs to be excluded, as is also done in Flow: https://github.com/vaadin/flow/pull/4594/files#diff-26a8a46cbbd867f8990882dd732e4439

alvarezguille commented 6 years ago

wouldn't it make more sense to release a fixed 2.8.2.vaadin2?

Legioth commented 6 years ago

Yes, but that will require some additional effort because of the way 2.8.2.vaadin1 has been made.

There's https://github.com/vaadin/flow/issues/4598 for eventually creating a more sustainable solution.