Compile Vaadin 7 Widgetset, how to?

Hi everybody,

Here’s my Vaadin 7 dependencies:


		<!-- Vaadin 7 -->

		<dependency>
			<groupId>com.vaadin</groupId>
			<artifactId>vaadin-server</artifactId>
			<version>${vaadin.version}</version>
		</dependency>

		<dependency>
			<groupId>com.vaadin</groupId>
			<artifactId>vaadin-client</artifactId>
			<version>${vaadin.version}</version>
		</dependency>

		<dependency>
			<groupId>com.vaadin</groupId>
			<artifactId>vaadin-shared</artifactId>
			<version>${vaadin.version}</version>
		</dependency>

		<dependency>
			<groupId>com.vaadin</groupId>
			<artifactId>vaadin-client-compiled</artifactId>
			<version>${vaadin.version}</version>
		</dependency>

		<dependency>
			<groupId>com.vaadin</groupId>
			<artifactId>vaadin-themes</artifactId>
			<version>${vaadin.version}</version>
		</dependency>

		<dependency>
			<groupId>com.vaadin</groupId>
			<artifactId>vaadin-client-compiler</artifactId>
			<version>${vaadin.version}</version>
		</dependency>

		<dependency>
			<groupId>com.vaadin</groupId>
			<artifactId>vaadin-theme-compiler</artifactId>
			<version>${vaadin.version}</version>
		</dependency>


		<!-- Web Dependencies -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-web</artifactId>
			<version>3.1.1.RELEASE</version>
		</dependency>

		<dependency>
			<groupId>org.aspectj</groupId>
			<artifactId>aspectjrt</artifactId>
			<version>1.6.11</version>
		</dependency>

		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>servlet-api</artifactId>
			<version>2.5</version>
			<scope>provided</scope>
		</dependency>

		<!-- Vaadin Addons -->

		<dependency>
			<groupId>com.vaadin.addon</groupId>
			<artifactId>vaadin-charts</artifactId>
			<version>1.1.1</version>
		</dependency>

		<dependency>
			<groupId>org.vaadin.addons</groupId>
			<artifactId>wizards-for-vaadin</artifactId>
			<version>1.0.0-beta1</version>
		</dependency>

		<dependency>
			<groupId>org.vaadin.addons</groupId>
			<artifactId>pagedtable</artifactId>
			<version>0.6.5</version>
		</dependency>

		<dependency>
			<groupId>org.vaadin.addon</groupId>
			<artifactId>confirmdialog</artifactId>
			<version>2.0.4</version>
		</dependency>

And here’s my build section:

<profiles>
		<profile>
			<id>compile-widgetset</id>
			<build>
				<plugins>
					<plugin>
						<groupId>com.vaadin</groupId>
						<artifactId>vaadin-maven-plugin</artifactId>
						<version>${vaadin.plugin.version}</version>
						<configuration>
							<extraJvmArgs>-Xmx512M -Xss1024k</extraJvmArgs>
							<webappDirectory>${basedir}/src/main/webapp/VAADIN/widgetsets</webappDirectory>
							<hostedWebapp>${basedir}/src/main/webapp/VAADIN/widgetsets</hostedWebapp>
							<noServer>true</noServer>
							<draftCompile>false</draftCompile>
							<style>OBF</style>
							<compileReport>true</compileReport>
							<runTarget>http://localhost:8080/</runTarget>
						</configuration>
						<executions>
							<execution>
								<configuration>
								</configuration>
								<goals>
									<goal>resources</goal>
									<goal>update-widgetset</goal>
									<goal>compile</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>
	</profiles>

	<build>
		<plugins>
			<plugin>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>2.5.1</version>
				<configuration>
					<source>1.7</source>
					<target>1.7</target>
				</configuration>
			</plugin>
			<plugin>
				<artifactId>maven-clean-plugin</artifactId>
				<version>2.5</version>
				<configuration>
					<filesets>
						<fileset>
							<directory>src/main/webapp/VAADIN/widgetsets</directory>
						</fileset>
						<fileset>
							<directory>src/main/webapp/VAADIN/gwt-unitCache</directory>
						</fileset>
					</filesets>
				</configuration>
			</plugin>
			<plugin>
				<groupId>com.vaadin</groupId>
				<artifactId>vaadin-maven-plugin</artifactId>
				<version>${vaadin.plugin.version}</version>
				<configuration>
					<extraJvmArgs>-Xmx512M -Xss1024k</extraJvmArgs>
					<webappDirectory>${basedir}/src/main/webapp/VAADIN/widgetsets</webappDirectory>
					<hostedWebapp>${basedir}/src/main/webapp/VAADIN/widgetsets</hostedWebapp>
					<noServer>true</noServer>
					<draftCompile>false</draftCompile>
					<style>OBF</style>
					<compileReport>true</compileReport>
					<runTarget>http://localhost:8080/</runTarget>
				</configuration>
				<executions>
					<execution>
						<configuration>
						</configuration>
						<goals>
							<goal>resources</goal>
							<goal>update-widgetset</goal>
							<goal>compile</goal>
						</goals>
					</execution>
				</executions>
			</plugin>

			<plugin>
				<groupId>org.mortbay.jetty</groupId>
				<artifactId>jetty-maven-plugin</artifactId>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-war-plugin</artifactId>
				<configuration>
					<webResources>
						<webResource>
							<directory>${basedir}/src/main/webapp/WEB-INF</directory>
							<includes>
								<include>*.xml</include>
							</includes>
							<targetPath>WEB-INF</targetPath>
							<filtering>true</filtering>
						</webResource>
					</webResources>
				</configuration>
			</plugin>
		</plugins>

		<pluginManagement>
			<plugins>
				<plugin>
					<artifactId>maven-compiler-plugin</artifactId>
					<version>2.5.1</version>
					<configuration>
						<source>1.7</source>
						<target>1.7</target>
					</configuration>
				</plugin>
			</plugins>
		</pluginManagement>
	</build>

But when I try to compile my widgetset with maven, using:


mvn clean com.vaadin:vaadin-maven-plugin:7.0.7:compile

I receive the following error from maven stacktrace:


[INFO]
 [clean:clean {execution: default-clean}]

[INFO]
 Deleting file set: /home/yourecm/workspace/kiwi/extensions/ye-commons/target (included: [**]
, excluded: [])
[INFO]
 Preparing vaadin:compile
[INFO]
 [resources:resources {execution: default-resources}]

[INFO]
 Using 'UTF-8' encoding to copy filtered resources.
[INFO]
 Copying 1 resource
[INFO]
 [vaadin:compile {execution: default-cli}]

[WARNING]
 GWT plugin is configured to detect modules, but none were found.
[WARNING]
 Failed to retrieve com.vaadin:vaadin-client based on project POM
[INFO]
 ------------------------------------------------------------------------
[ERROR]
 FATAL ERROR
[INFO]
 ------------------------------------------------------------------------
[INFO]
 null
[INFO]
 ------------------------------------------------------------------------
[INFO]
 Trace
java.lang.NullPointerException
	at org.codehaus.mojo.gwt.AbstractGwtMojo.getJarAndDependencies(AbstractGwtMojo.java:295)
	at org.codehaus.mojo.gwt.AbstractGwtMojo.getGwtUserJar(AbstractGwtMojo.java:274)
	at org.codehaus.mojo.gwt.shell.CompileMojo.compile(CompileMojo.java:299)
	at org.codehaus.mojo.gwt.shell.CompileMojo.doExecute(CompileMojo.java:281)
	at org.codehaus.mojo.gwt.shell.AbstractGwtShellMojo.execute(AbstractGwtShellMojo.java:172)
	at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490)
	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694)
	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:569)
	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:539)
	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387)
	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:348)
	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180)
	at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328)
	at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)
	at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
	at org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:601)
	at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
	at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
	at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
	at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
[INFO]
 ------------------------------------------------------------------------
[INFO]
 Total time: 5 seconds
[INFO]
 Finished at: Sun Jun 30 20:17:09 BRT 2013
[INFO]
 Final Memory: 31M/373M

What I’m missing? Anyone knows?

Thanks!


<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">
	<modelVersion>4.0.0</modelVersion>
	<groupId>com.vaadin.demo</groupId>
	<artifactId>quicktickets-dashboard</artifactId>
	<version>1.0.0</version>
	<packaging>war</packaging>

	<properties>
		<productionMode>false</productionMode>
		<vaadin.version>7.0.4</vaadin.version>
		<vaadin.plugin.version>${vaadin.version}</vaadin.plugin.version>
	</properties>

	<repositories>
		<repository>
			<id>vaadin-addons</id>
			<url>http://maven.vaadin.com/vaadin-addons</url>
			<snapshots>
				<enabled>true</enabled>
			</snapshots>
		</repository>
		<repository>
			<id>sonatype vaadin</id>
			<url>https://oss.sonatype.org/content/repositories/vaadin/</url>
		</repository>
	</repositories>

	<profiles>
		<profile>
			<id>production-mode</id>
			<properties>
				<productionMode>true</productionMode>
			</properties>
			<activation>
				<property>
					<name>productionMode</name>
					<value>true</value>
				</property>
			</activation>
			<build>
				<plugins>
					<plugin>
						<groupId>org.codehaus.mojo</groupId>
						<artifactId>exec-maven-plugin</artifactId>
						<version>1.2.1</version>
						<executions>
							<execution>
								<phase>prepare-package</phase>
								<configuration>
									<mainClass>com.vaadin.sass.SassCompiler</mainClass>
									<workingDirectory>${project.basedir}</workingDirectory>
									<arguments>
										<argument>${project.build.directory}/${artifactId}-${version}/VAADIN/themes/dashboard/styles.scss</argument>
										<argument>${project.build.directory}/${artifactId}-${version}/VAADIN/themes/dashboard/styles.css</argument>
									</arguments>
								</configuration>
								<goals>
									<goal>java</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>
	</profiles>

	<dependencies>
		<dependency>
			<groupId>com.vaadin</groupId>
			<artifactId>vaadin-server</artifactId>
			<version>${vaadin.version}</version>
		</dependency>
		<dependency>
			<groupId>com.vaadin</groupId>
			<artifactId>vaadin-themes</artifactId>
			<version>${vaadin.version}</version>
		</dependency>
		<dependency>
			<groupId>com.vaadin</groupId>
			<artifactId>vaadin-client</artifactId>
			<version>${vaadin.version}</version>
		</dependency>
		<dependency>
			<groupId>com.vaadin</groupId>
			<artifactId>vaadin-client-compiler</artifactId>
			<version>${vaadin.version}</version>
		</dependency>
		<dependency>
			<groupId>com.vaadin</groupId>
			<artifactId>vaadin-theme-compiler</artifactId>
			<version>${vaadin.version}</version>
		</dependency>
		<dependency>
			<groupId>com.vaadin.addon</groupId>
			<artifactId>vaadin-calendar-cval-2.0</artifactId>
			<version>2.0.0.beta3</version>
		</dependency>
		<dependency>
			<groupId>com.vaadin.addon</groupId>
			<artifactId>vaadin-charts</artifactId>
			<version>1.0.0</version>
		</dependency>
		<dependency>
			<groupId>org.vaadin.addons</groupId>
			<artifactId>cssinject</artifactId>
			<version>2.0.3</version>
		</dependency>
		<!-- <dependency> -->
		<!-- <groupId>org.vaadin.artur.widgetsetoptimizer</groupId> -->
		<!-- <artifactId>widgetsetoptimizer</artifactId> -->
		<!-- <version>0.1.0</version> -->
		<!-- </dependency> -->
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>2.5.1</version>
				<configuration>
					<source>1.6</source>
					<target>1.6</target>
					 <encoding>UTF-8</encoding>
				</configuration>
			</plugin>
			<plugin>
				<artifactId>maven-clean-plugin</artifactId>
				<version>2.5</version>
				<configuration>
					<filesets>
						<fileset>
							<directory>src/main/webapp/VAADIN/widgetsets</directory>
						</fileset>
						<fileset>
							<directory>src/main/webapp/VAADIN/gwt-unitCache</directory>
						</fileset>
					</filesets>
				</configuration>
			</plugin>
			<plugin>
				<groupId>com.vaadin</groupId>
				<artifactId>vaadin-maven-plugin</artifactId>
				<version>${vaadin.plugin.version}</version>
				<configuration>
					<extraJvmArgs>-Xmx512M -Xss1024k</extraJvmArgs>
					<webappDirectory>${basedir}/src/main/webapp/VAADIN/widgetsets</webappDirectory>
					<hostedWebapp>${basedir}/src/main/webapp/VAADIN/widgetsets</hostedWebapp>
					<noServer>true</noServer>
					<draftCompile>false</draftCompile>
					<style>OBF</style>
					<compileReport>true</compileReport>
					<runTarget>http://localhost:8080/</runTarget>
				</configuration>
				<executions>
					<execution>
						<configuration>
						</configuration>
						<goals>
							<goal>resources</goal>
							<goal>update-widgetset</goal>
							<goal>compile</goal>
						</goals>
					</execution>
				</executions>
			</plugin>

			<plugin>
				<groupId>org.mortbay.jetty</groupId>
				<artifactId>jetty-maven-plugin</artifactId>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-war-plugin</artifactId>
				<configuration>
					<webResources>
						<webResource>
							<directory>${basedir}/src/main/webapp/WEB-INF</directory>
							<includes>
								<include>*.xml</include>
							</includes>
							<targetPath>WEB-INF</targetPath>
							<filtering>true</filtering>
						</webResource>
					</webResources>
				</configuration>
			</plugin>
		</plugins>

		<pluginManagement>
			<plugins>
				<plugin>
					<artifactId>maven-compiler-plugin</artifactId>
					<version>2.5.1</version>
					<configuration>
						<source>1.6</source>
						<target>1.6</target>
					</configuration>
				</plugin>
			</plugins>
		</pluginManagement>
	</build>

</project>

See the config of Vaadin Dashboard demo.

just use

mvn clean install