Largest enhancements in Vaadin 7.7 are related to the handling of your application Widgetset. Widgetsets in Vaadin are GWT modules which combine client side component implementations from the core and from various add-ons to a compact client side engine needed by your application. Since 7.7, widgetset handling became much easier for newcomers and there is also a cloud service that makes working with add-ons much faster. Join the webinar hosted by Matti Tahvonen and Teemu Suo-Anttila to learn how to work with these enhancements.
Webinar takes place on Thursday September 1, 2016 @ 2PM CEST
Is there a possibility to have the vaadin default widgetset get from cdn and my own widgset from local (in .war), or better, define per widget where is located?
Edison, that is not how GWT is designed, so the answer is no. GWT does all it can to combine and optimized a monolithic JS engine for the end users. Thus it needs a full compilation with all the modules and in that it combines just on junk of JS. This way the JS engine is faster and more compact.
cheers,
matti
PS. Sorry for the nasty sound issues, somebody had touched our mixer during summer vacation We did a re-recording right aways.
Do I need to change some code in my pom.xml with Vaadin 7.7?
I get the following error when I do a “clean package”
Could not find or load main class com.vaadin.server.widgetsetutils.WidgetSetBuilder
I also have a red label in my pom.xml after switching to vaadin 7.7
Failed to update widgetset (com.vaadin:vaadin-maven-plugin:7.7.0:update-widgetset:default:generate-resources)
If I switch back to vaadin 7.6.8, everything compiles correctly.
Here is my pom.xml from my widgetset module
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>dungeonsstory</artifactId>
<groupId>com.dungeonstory</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>dungeonsstory-widgetset</artifactId>
<name>dungeonsstory-widgetset</name>
<packaging>jar</packaging>
<dependencies>
<!-- Versions for these are configured in the parent POM -->
<dependency>
<groupId>com.vaadin</groupId>
<artifactId>vaadin-client</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.vaadin</groupId>
<artifactId>vaadin-client-compiler</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>com.vaadin</groupId>
<artifactId>vaadin-maven-plugin</artifactId>
<configuration>
<extraJvmArgs>-Xmx512M -Xss1024k</extraJvmArgs>
<webappDirectory>${basedir}/target/classes/VAADIN/widgetsets</webappDirectory>
<draftCompile>true</draftCompile>
<compileReport>false</compileReport>
<!-- Change to PRETTY (or possibly DETAILED) to get
unobfuscated client side stack traces. A better approach
for debugging is to use Super Dev Mode -->
<style>OBF</style>
<strict>true</strict>
</configuration>
<executions>
<execution>
<goals>
<goal>update-widgetset</goal>
<goal>compile</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifestEntries>
<Vaadin-Package-Version>1</Vaadin-Package-Version>
<Vaadin-Widgetsets>com.dungeonstory.DSWidgetset</Vaadin-Widgetsets>
</manifestEntries>
</archive>
<!-- Exclude some unnecessary files generated by the
GWT compiler. -->
<excludes>
<exclude>VAADIN/gwt-unitCache/**</exclude>
<exclude>VAADIN/widgetsets/WEB-INF/**</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>
</project>
Try specifying the version for vaadin-maven-plugin. Also you should be able to get rid of most configurations now, there are much better defaults now. Try with this:
<plugin>
<groupId>com.vaadin</groupId>
<artifactId>vaadin-maven-plugin</artifactId>
<version>7.7.0</version>
<executions>
<execution>
<goals>
<goal>compile</goal>
<!-- Comment out compile-theme goal to use on-the-fly theme compilation -->
<goal>compile-theme</goal>
</goals>
</execution>
</executions>
</plugin>
I’m trying with a new project from maven archetype, set “cdn” instead of “local” for widgetset mode and added Vaadin Charts dependence. But when I build the project I get an error with my Charts CVAL license (perpetual license, no subscription):
[ERROR]
Failed to execute goal com.vaadin:vaadin-maven-plugin:7.7.0:update-widgetset (default) on project vaadin-app: Cval license check failed! Vaadin Charts 3 registered to xxxxxxxxx@xxxxxxx.xxx → [Help 1]
With “local” mode everything goes right. Are perpetual licenses supported in CDN mode?