A ROO plugin for Vaadin ?

http://blog.springsource.com/2009/06/18/roo-part-3/

Roo is made of a core and plugins.

Is a Roo plugin for Vaadin considered ?

It would allow the automatic creation of Vaadin java classes for the views, instead of JSP pages for example.

Cheers

Might be a great idea. Any volunteers for prototyping this?

Created a starter project to
incubator
. Just initial commit, not doing much yet.

Just a note - there is an active on-going development for building a full-featured well supported Vaadin plugin for Spring Roo. You can follow the development at
http://dev.vaadin.com/browser/addons/SpringRooPlugin/
. Stay tuned :)

Absolutely excellent. This would give us the best of both worlds – round-tripping the data model via roo and generating a quick interface. If the interface could then be tweaked with the visual editor, that would be ever so neat !

This is the goal :)

Yeah ! the springsource team is working hard with google to produce a Gwt addon with the scaffolding.
It’s a nice move from Vaadin to start such project at the beginning. I will follow closely.

Is the latest trunk version broken or I’m missing something?

  • I’m checkout the entire trunk 14993
  • on Eclipse found 3 projects (parent, addon and annotation)
  • follow the readme.txt istructions and execute “perform assembly”

eve i got the following


[INFO]
 Scanning for projects...
[INFO]
 ------------------------------------------------------------------------
[INFO]
 Building Vaadin Addon for Spring Roo
[INFO]
    task-segment: [package]

[INFO]
 ------------------------------------------------------------------------
[INFO]
 [properties:read-project-properties {execution: default}]

[INFO]
 ------------------------------------------------------------------------
[ERROR]
 FATAL ERROR
[INFO]
 ------------------------------------------------------------------------
[INFO]
 null
[INFO]
 ------------------------------------------------------------------------
[INFO]
 Trace
java.lang.NullPointerException
	at org.codehaus.mojo.properties.ReadPropertiesMojo.execute(ReadPropertiesMojo.java:76)
	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.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:556)
	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:535)
	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:616)
	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: 2 seconds
[INFO]
 Finished at: Mon Oct 04 18:24:21 CEST 2010
[INFO]
 Final Memory: 19M/149M
[INFO]
 ------------------------------------------------------------------------

I tried with roo 1.1.0.M2 and M3, I tried on each one of maven projects but ever I got the same error

Then I tried to create and install a roo addon from scratch and it worked.

What was wrong?

Hi Pietro!

I just had the exact same problem in another of our projects (BeanValidation add-on). The cause for the error is that the pom.xml defines two plugins for signing the release with GPG and the first one crashes and burns when it cannot find ${gpg.passphrase.file}. To get it to build (without signing) you can comment the following two plugin declarations in the pom.xml:

      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>properties-maven-plugin</artifactId>
        <version>1.0-alpha-2</version>
        <executions>
          <execution>
            <phase>initialize</phase>
            <goals>
              <goal>read-project-properties</goal>
            </goals>
            <configuration>
              <files>
                <file>${gpg.passphrase.file}</file>
              </files>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-gpg-plugin</artifactId>
        <executions>
          <execution>
            <id>sign-artifacts</id>
            <phase>verify</phase>
            <goals>
              <goal>sign</goal>
            </goals>
          </execution>
        </executions>
      </plugin>

HTH,
/Jonatan

EDIT: I was just informed that this problem is fixed in the Roo plugin, but I’ll leave the answer as is, if someone finds this through google.

For a quick overview of the Vaadin Plugin for Spring Roo, see
http://vaadin.com/wiki/-/wiki/Main/Spring%20Roo%20Plugin


Is there a new version of the addon in development?

I cannot install the addon in the latest Roo-Release 1.2.1.

Yes, there is a version for Roo 1.2.1 under development, but not yet available. There are no new features apart from Roo version upgrade in the current development version.

The addon now compiles and loads and the very basic functionality seems to be mostly working, but more testing and some basic review is needed and some functionality has not been tested at all. There is no explicit support for multi-module projects in the current version - they might or might not work.

In case you would be interested in testing a preliminary version and commenting on it (most likely next week), please let us know.

I am not a Roo expert but I did use it one year ago for a little contest.

Since I am in the need for a RAD project where I just want to avoid having to use Excel :wink: I am fine with a single-project solution. Can you point me where I can download sources so I can build and install in my local ROO? Binaries would also be better though :smiley:

I’ll commit the updates so far for Roo 1.2.1 compatibility and build a binary tomorrow or early next week.

I attached a test build and some instructions for installing it in
ticket #8568
.
Please report any problems found in the ticket.

Hi Henri

Thanks for the plugin and sorry that I couldnt test it earlier.

I do have a problem though with the installation. I cannot install the annotations-jar to my repository since I dont know the groupid/artifactid/version that is needed by the plugin. I managed to install the addon and its listet in the running shell. But there is no command “vaadin” or something similar that I can call.

To be absolutely sure I am following the pizza-example and this is what I get

vaadin generate all --package ~.web.ui --visuallyComposable true
Command ‘vaadin generate all --package ~.web.ui --visuallyComposable true’ not found (for assistance press CTRL+SPACE or type “hint” then hit ENTER)
Located add-on that may offer this command
1 found, sorted by rank; T = trusted developer; R = Roo 1.2 compatible
ID T R DESCRIPTION -------------------------------------------------------------
01 Y Y 1.1.1 Spring Roo addon for creating rich internet applications with…

[HINT]
use ‘addon info id --searchResultId …’ to see details about a search result
[HINT]
use ‘addon install id --searchResultId …’ to install a specific search result, or
[HINT]
use ‘addon install bundle --bundleSymbolicName TAB’ to install a specific add-on version
~.domain.PizzaOrder roo>

Is this due to the missing annotations.jar or did I miss something else?
Thanks