summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTeemu Suo-Anttila <teemusa@vaadin.com>2016-05-02 14:30:42 +0300
committerTeemu Suo-Anttila <teemusa@vaadin.com>2016-06-01 10:59:24 +0300
commitfb63a60cc40133a0062dd77b9694d80b1b39155c (patch)
tree594dcba2dba8c732860fd6dd436a9ae93a658755
parent68784363dca98529286420206b22a9a8881c70dc (diff)
downloadvaadin-framework-fb63a60cc40133a0062dd77b9694d80b1b39155c.tar.gz
vaadin-framework-fb63a60cc40133a0062dd77b9694d80b1b39155c.zip
Use gwt-user and gwt-dev dependencies in client and compiler
This removes GWT dependency from the server and shared parts of the framework Change-Id: Iafbb752c0184611a18d4a9d61c9e03229d42836e
-rw-r--r--all/pom.xml9
-rw-r--r--all/src/main/templates/release-notes.html28
-rw-r--r--client-compiler/pom.xml63
-rw-r--r--client/pom.xml73
-rw-r--r--server/pom.xml41
-rw-r--r--shared/pom.xml32
-rw-r--r--uitest/pom.xml14
7 files changed, 48 insertions, 212 deletions
diff --git a/all/pom.xml b/all/pom.xml
index 5d29cd73cb..7742b54f7d 100644
--- a/all/pom.xml
+++ b/all/pom.xml
@@ -126,18 +126,11 @@
<expandproperties />
<replacetokens begintoken="@" endtoken="@">
<token key="version" value="${project.version}" />
- </replacetokens>
- <replacetokens begintoken="@" endtoken="@">
<token key="version-minor"
value="${parsedVersion.majorVersion}.${parsedVersion.minorVersion}" />
- </replacetokens>
- <replacetokens begintoken="@" endtoken="@">
+ <token key="gwt-version" value="${vaadin.gwt.version}" />
<token key="builddate" value="${maven.build.timestamp}" />
- </replacetokens>
- <replacetokens begintoken="@" endtoken="@">
<token key="release-notes-tickets" value="${release-notes-tickets}" />
- </replacetokens>
- <replacetokens begintoken="@" endtoken="@">
<token key="release-notes-authors" value="${release-notes-authors}" />
</replacetokens>
</filterchain>
diff --git a/all/src/main/templates/release-notes.html b/all/src/main/templates/release-notes.html
index 8c2a7d653e..9d942d3134 100644
--- a/all/src/main/templates/release-notes.html
+++ b/all/src/main/templates/release-notes.html
@@ -48,6 +48,7 @@
<li><a href="#incompatible">Incompatible or Behavior-altering Changes in
@version-minor@</a></li>
<li><a href="#knownissues">Known Issues and Limitations</a></li>
+ <li><a href="#gwtdep">GWT Dependency Changes</a></li>
<li><a href="#vaadin">Vaadin Installation</a></li>
<li><a href="#package">Package Contents</a></li>
<li><a href="#migrating">Migrating from Vaadin 6</a></li>
@@ -115,6 +116,7 @@
<li>The return type of BootstrapHandler.getWidgetsetForUI() has changed.</li>
<li>Vaadin shared no longer depends on a custom build of Guava. Any project that depends on Guava as a transitive dependency should use standard Guava.</li>
<li>Valo theme field error styles now apply to NativeSelect, ListSelect and TwinColSelect as well.</li>
+ <li>The way we handle GWT dependencies has been completely changed. See <a href="#gwtdep">this section</a> for more details</li>
</ul>
<h3 id="knownissues">Known Issues and Limitations</h3>
<ul>
@@ -157,6 +159,32 @@
<li>Grid does not support adding components to cells. Instead light-weight Renderers can be
used to present and edit data.</li>
</ul>
+
+ <h3 id="gwtdep">GWT Dependency Changes</h3>
+
+ <p>
+ The GWT dependencies for Vaadin are now provided as actual dependencies
+ and not bundled with Vaadin packages. This means that you can override
+ the GWT version in your own project if you want to. Note that the GWT Elemental
+ is still partially bundled with shared package to avoid having the gwt-user as a
+ dependency everywhere.
+ </p>
+
+ <ul>
+ <li>Basic Vaadin server-side only use does not need any changes to your project.</li>
+ <li>Custom widgets and Add-ons should work just like before.</li>
+ <li>Projects that use GWT RPC or other utils from the com.google package should add gwt-servlet dependency
+ <pre>
+&lt;dependency>
+ &lt;groupId>com.vaadin.external.gwt&lt;/groupId>
+ &lt;artifactId>gwt-servlet&lt;/artifactId>
+ &lt;version>@gwt-version@&lt;/version>
+&lt;/dependency>
+ </pre>
+ </li>
+ <li>OSGi currently does not work with client and client-compiler packages. Those should not be used with OSGi.</li>
+ </ul>
+
<h2 id="vaadin">Vaadin Installation</h2>
diff --git a/client-compiler/pom.xml b/client-compiler/pom.xml
index ef6f5cbeb4..33a3423b3f 100644
--- a/client-compiler/pom.xml
+++ b/client-compiler/pom.xml
@@ -69,21 +69,6 @@
<version>1.6.5</version>
</dependency>
<dependency>
- <groupId>org.ow2.asm</groupId>
- <artifactId>asm</artifactId>
- <version>5.0.3</version>
- </dependency>
- <dependency>
- <groupId>org.ow2.asm</groupId>
- <artifactId>asm-util</artifactId>
- <version>5.0.3</version>
- </dependency>
- <dependency>
- <groupId>org.ow2.asm</groupId>
- <artifactId>asm-commons</artifactId>
- <version>5.0.3</version>
- </dependency>
- <dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-annotations</artifactId>
<version>8.1.12.v20130726</version>
@@ -185,7 +170,6 @@
<groupId>com.vaadin.external.gwt</groupId>
<artifactId>gwt-dev</artifactId>
<version>${vaadin.gwt.version}</version>
- <scope>provided</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
@@ -206,51 +190,6 @@
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-dependency-plugin</artifactId>
- <executions>
- <execution>
- <id>unpack-dependencies</id>
- <phase>generate-resources</phase>
- <goals>
- <goal>unpack</goal>
- </goals>
- <configuration>
- <artifactItems>
- <artifactItem>
- <groupId>com.vaadin.external.gwt</groupId>
- <artifactId>gwt-dev</artifactId>
- <includes>
- about_files/**,
- com/google/gwt/core/**,
- com/google/gwt/dev/**,
- com/google/gwt/lang/**,
- com/google/gwt/soyc/**,
- com/google/gwt/thirdparty/json/**,
- com/google/gwt/thirdparty/guava/**,
- com/google/gwt/util/**,
- license/LICENSE.sax.txt,
- netscape/**,
- org/apache/COPYING,
- org/apache/jasper/**,
- org/apache/commons/el/**,
- org/apache/commons/lang3/**,
- templates/*,
- about.html,
- jetty-dir.css,
- plugin.properties
- </includes>
- <excludes>
- com/google/gwt/dev/protobuf/**,
- com/google/gwt/dev/About.properties
- </excludes>
- </artifactItem>
- </artifactItems>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<executions>
<execution>
@@ -291,7 +230,7 @@
<configuration>
<instructions>
<Bundle-RequiredExecutionEnvironment>JavaSE-1.6</Bundle-RequiredExecutionEnvironment>
- <Export-Package>com.vaadin.*;version="${project.version}",com.google.gwt.*;version="${project.version}"</Export-Package>
+ <Export-Package>com.vaadin.*;version="${project.version}"</Export-Package>
<!--TODO decide gwt packages version number<Export-Package>com.vaadin.*;version="${project.version}",com.google.gwt.*;version="${vaadin.gwt.version}"</Export-Package> -->
<Import-Package></Import-Package> <!--todo find out what should be in Import-Package -->
</instructions>
diff --git a/client/pom.xml b/client/pom.xml
index 8a80b3ddbb..87a6e93d53 100644
--- a/client/pom.xml
+++ b/client/pom.xml
@@ -36,28 +36,6 @@
</exclusions>
</dependency>
- <!-- gwt-user dependencies -->
- <dependency>
- <groupId>org.w3c.css</groupId>
- <artifactId>sac</artifactId>
- <version>1.3</version>
- </dependency>
-
- <!-- Bean Validation API -->
- <dependency>
- <groupId>javax.validation</groupId>
- <artifactId>validation-api</artifactId>
- <version>${javax.validation.version}</version>
- <scope>provided</scope>
- </dependency>
-
- <dependency>
- <groupId>javax.validation</groupId>
- <artifactId>validation-api</artifactId>
- <version>${javax.validation.version}</version>
- <classifier>sources</classifier>
- </dependency>
-
<!-- Testing dependencies -->
<dependency>
<groupId>junit</groupId>
@@ -76,62 +54,13 @@
<!-- Needed GWT dependencies. Required parts are packaged to jar -->
<dependency>
<groupId>com.vaadin.external.gwt</groupId>
- <artifactId>gwt-user</artifactId>
- <version>${vaadin.gwt.version}</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>com.vaadin.external.gwt</groupId>
<artifactId>gwt-elemental</artifactId>
<version>${vaadin.gwt.version}</version>
- <scope>provided</scope>
</dependency>
</dependencies>
<build>
<plugins>
-
- <!-- Copy needed GWT dependencies to package -->
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-dependency-plugin</artifactId>
- <executions>
- <execution>
- <id>unpack-dependencies</id>
- <phase>generate-resources</phase>
- <goals>
- <goal>unpack</goal>
- </goals>
- <configuration>
- <artifactItems>
- <artifactItem>
- <groupId>com.vaadin.external.gwt</groupId>
- <artifactId>gwt-user</artifactId>
- <excludes>
- META-INF/**,
- **/*.gwtar,
- com/google/gwt/*/server/**,
- com/google/gwt/*/shared/**,
- com/google/gwt/*/*/shared/**,
- com/google/web/bindery/*/shared/**,
- com/google/gwt/user/client/rpc/IsSerializable.*,
- com/google/gwt/thirdparty/streamhtmlparser/**,
- org/w3c/**,
- javax/servlet/**
- </excludes>
- </artifactItem>
- <artifactItem>
- <groupId>com.vaadin.external.gwt</groupId>
- <artifactId>gwt-elemental</artifactId>
- <excludes>META-INF/**</excludes>
- </artifactItem>
- </artifactItems>
- </configuration>
- </execution>
- </executions>
- </plugin>
-
-
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<executions>
@@ -167,7 +96,7 @@
<configuration>
<instructions>
<Bundle-RequiredExecutionEnvironment>JavaSE-1.6</Bundle-RequiredExecutionEnvironment>
- <Export-Package>com.vaadin.*;version="${project.version}",com.google.*;version="${project.version}"</Export-Package>
+ <Export-Package>com.vaadin.*;version="${project.version}"</Export-Package>
<Import-Package></Import-Package>
</instructions>
</configuration>
diff --git a/server/pom.xml b/server/pom.xml
index 6ea5ab87fc..fcd11f3a47 100644
--- a/server/pom.xml
+++ b/server/pom.xml
@@ -147,49 +147,10 @@
<!-- For manual testing with PostgreSQL (see SQLTestConstants) -->
<!-- <dependency><groupId>postgresql</groupId><artifactId>postgresql</artifactId><version>9.1-901.jdbc3</version></dependency> -->
-
- <!-- Needed GWT dependencies. Required parts are packaged to jar -->
- <dependency>
- <groupId>com.vaadin.external.gwt</groupId>
- <artifactId>gwt-user</artifactId>
- <version>${vaadin.gwt.version}</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>com.vaadin.external.gwt</groupId>
- <artifactId>gwt-elemental</artifactId>
- <version>${vaadin.gwt.version}</version>
- <scope>provided</scope>
- </dependency>
</dependencies>
<build>
<plugins>
- <!-- Copy needed GWT dependencies to package -->
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-dependency-plugin</artifactId>
- <executions>
- <execution>
- <id>unpack-dependencies</id>
- <phase>generate-resources</phase>
- <goals>
- <goal>unpack</goal>
- </goals>
- <configuration>
- <artifactItems>
- <artifactItem>
- <groupId>com.vaadin.external.gwt</groupId>
- <artifactId>gwt-user</artifactId>
- </artifactItem>
- </artifactItems>
- <includes>com/google/gwt/*/server/**</includes>
- </configuration>
- </execution>
- </executions>
- </plugin>
-
-
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<executions>
@@ -260,7 +221,7 @@
<configuration>
<instructions>
<Bundle-RequiredExecutionEnvironment>JavaSE-1.6</Bundle-RequiredExecutionEnvironment>
- <Export-Package>com.vaadin.*;version="${project.version}",com.google.*;version="${project.version}"</Export-Package>
+ <Export-Package>com.vaadin.*;version="${project.version}"</Export-Package>
<Import-Package>javax.servlet;version="${javax.servlet.version}",
javax.servlet.http;version="${javax.servlet.version}",
javax.validation;version="${javax.validation.version}";resolution:=optional,
diff --git a/shared/pom.xml b/shared/pom.xml
index b94cfd7475..f8bff03e6b 100644
--- a/shared/pom.xml
+++ b/shared/pom.xml
@@ -20,19 +20,6 @@
<description>Vaadin shared</description>
<dependencies>
- <!-- Actual dependencies -->
- <dependency>
- <groupId>com.vaadin.external.flute</groupId>
- <artifactId>flute</artifactId>
- <version>${flute.version}</version>
- </dependency>
- <dependency>
- <groupId>com.vaadin.external.streamhtmlparser</groupId>
- <artifactId>streamhtmlparser-jsilver</artifactId>
- <version>${streamhtmlparser.version}</version>
- </dependency>
-
-
<!-- Needed GWT dependencies. Required parts are packaged to jar -->
<dependency>
<groupId>com.vaadin.external.gwt</groupId>
@@ -40,12 +27,6 @@
<version>${vaadin.gwt.version}</version>
<scope>provided</scope>
</dependency>
- <dependency>
- <groupId>com.vaadin.external.gwt</groupId>
- <artifactId>gwt-user</artifactId>
- <version>${vaadin.gwt.version}</version>
- <scope>provided</scope>
- </dependency>
<dependency>
<groupId>junit</groupId>
@@ -94,21 +75,12 @@
elemental/util/Map*
</includes>
</artifactItem>
- <artifactItem>
- <groupId>com.vaadin.external.gwt</groupId>
- <artifactId>gwt-user</artifactId>
- <includes>
- com/google/gwt/*/shared/**,
- com/google/gwt/*/*/shared/**,
- com/google/web/bindery/*/shared/**,
- com/google/gwt/user/client/rpc/IsSerializable.*
- </includes>
- </artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
+
<plugin>
<artifactId>maven-resources-plugin</artifactId>
@@ -145,7 +117,7 @@
<configuration>
<instructions>
<Bundle-RequiredExecutionEnvironment>JavaSE-1.6</Bundle-RequiredExecutionEnvironment>
- <Export-Package>com.vaadin.*;version="${project.version}",com.google.*;version="${project.version}",elemental.*;version="${project.version}"</Export-Package>
+ <Export-Package>com.vaadin.*;version="${project.version}",elemental.*;version="${project.version}"</Export-Package>
<Import-Package>com.google.gwt.thirdparty.streamhtmlparser;version="${streamhtmlparser.version}",
com.google.gwt.thirdparty.streamhtmlparser.impl;version="${streamhtmlparser.version}",
com.google.gwt.thirdparty.streamhtmlparser.util;version="${streamhtmlparser.version}",
diff --git a/uitest/pom.xml b/uitest/pom.xml
index fadca2f028..866c45a273 100644
--- a/uitest/pom.xml
+++ b/uitest/pom.xml
@@ -106,6 +106,7 @@
</exclusion>
</exclusions>
</dependency>
+
<dependency>
<groupId>com.vaadin</groupId>
<artifactId>vaadin-client</artifactId>
@@ -117,6 +118,19 @@
</exclusion>
</exclusions>
</dependency>
+
+ <dependency>
+ <groupId>com.vaadin.external.gwt</groupId>
+ <artifactId>gwt-elemental</artifactId>
+ <version>${vaadin.gwt.version}</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>com.vaadin.external.gwt</groupId>
+ <artifactId>gwt-servlet</artifactId>
+ <version>${vaadin.gwt.version}</version>
+ </dependency>
+
<dependency>
<groupId>com.vaadin</groupId>
<artifactId>vaadin-client-compiled</artifactId>