vaadin / flow

Vaadin Flow is a Java framework binding Vaadin web components to Java. This is part of Vaadin 10+.
Apache License 2.0
623 stars 167 forks source link

Consider removing ``com.google.gwt:gwt-elemental`` from ``flow-maven-plugin`` #20359

Open AB-xdev opened 4 weeks ago

AB-xdev commented 4 weeks ago

Describe your motivation

The flow-maven-plugin contains com.google.gwt:gwt-elemental here: https://github.com/vaadin/flow/blob/f1c9673ae2b9f94678144f4918145001c153baf8/flow-plugins/flow-maven-plugin/pom.xml#L50-L59

However it doesn't seem to be used anywhere and can probably be removed.

Describe the solution you'd like

Remove the dependency if it's never used.

mshabarov commented 4 weeks ago

flow-maven-plugin seems to not use gwt-elemental at all in the source code, but uses it transitively in tests classes only. The reason why it is in the plugin pom is perhaps the exclusion for gwt-user.

In the same time, even if we remove this dependency block from plugin's pom, the gwt elemental will be still used as a transitive dependency from flow-server or flow-client. We cannot remove gwt elemental from server and client, because it is used as a part of public API.

We can try to remove the above block if it helps anyhow:

 <dependency> 
     <groupId>com.google.gwt</groupId> 
     <artifactId>gwt-elemental</artifactId> 
     <exclusions> 
         <exclusion> 
             <groupId>com.google.gwt</groupId> 
             <artifactId>gwt-user</artifactId> 
         </exclusion> 
     </exclusions> 
 </dependency>