Vaadin 7 consists of three separate repositories
- https://github.com/vaadin/vaadin.git
- https://github.com/vaadin/gwt.git
- https://github.com/vaadin/gwt-tools.git
Start by cloning these repositories into the same folder:
git clone https://github.com/vaadin/vaadin.git
git clone https://github.com/vaadin/gwt.git
git clone https://github.com/vaadin/gwt-tools.git
The vaadin and gwt repositories contain project code. The gwt-tools project only contain dependency jars used by the other projects.
Do not rename the repositories as the rest of this document relies on using the standard naming.
Assuming you have cloned the repositories as described in “Cloning the project repositories” above, you can import the vaadin and gwt projects into Eclipse as follows:
Start Eclipse and use the root checkout folder (the one containing the vaadin, gwt and gwt-tools folders) as the workspace folder
To be able to find all files, the GWT project requires you to define a couple of variables:
- Open Window -> Preferences (Windows) or Eclipse -> Preferences (Mac)
- Go to General -> Workspace -> Linked Resources
- Add a new Path Variable GWT_ROOT referring to the gwt folder containing the gwt project
- Go to Java -> Build Path -> Classpath Variables
- Add two new variables
- GWT_TOOLS referring to the gwt-tools folder containing the dependency jars
- JDK_HOME referring to your jdk installation directory
- Go to Java -> Compiler
- Check that the compliance level has been set to 1.6 (or higher)
- Do File -> Import -> General -> Existing Projects into Workspace
- Select the workspace folder as root directory
- Click “deselect all” and select
- gwt-dev
- gwt-user
- Click “finish” to complete the import of GWT
- Then repeat by doing File -> Import -> General -> Existing Projects into Workspace
- Select the workspace folder as root directory
- Click “deselect all” and select
- vaadin
- Click “finish” to complete the import of Vaadin Framework
You should now have three projects in your workspace. If the vaadin project does not compile without errors, choose Ivy -> Resolve from the vaadin project popup menu. Now all projects should compile without errors (there might be warnings).
Note that the first compilation takes a while to finish as Ivy downloads dependencies used in the projects.
Compile the default widget set by executing the default target in build/ide.xml in the vaadin project. In Eclipse this is done by opening build/ide.xml, right clicking on it and choosing Run As -> Ant Build.
The vaadin project includes an embedded Jetty which is used for running the UI tests. It is a standard Java application: com.vaadin.launcher.DevelopmentServerLauncher. Launch it in debug mode in Eclipse by right clicking on it and selecting Debug As -> Java Application.
This launches a Jetty on port 8888 which allows you to run any UI class in the project by opening http://localhost:8888/run/<UI class name>?restartApplication in your browser, e.g. http://localhost:8888/run/com.vaadin.tests.components.label.LabelModes?restartApplication (Add ?restartApplication to ensure).
The JUnit tests for the projects can be run using
ant test
Running this in the gwt directory will run the GWT JUnit tests. Running it in the vaadin directory will run the Vaadin JUnit tests.
Running the Vaadin TestBench tests currently requires access to a correctly configured TestBench 2 cluster, only available inside Vaadin.
The distribution files can be built in a few steps. First build the gwt project by running
ant
in the gwt directory. The elemental package needs to be built separately:
ant elemental
Building the elemental package is not possible on Windows as it requires gcc.
Move to the vaadin project directory and unpack the previously built gwt jars
ant -f gwt-files.xml unpack.gwt
Then build the vaadin project by running
ant
in the vaadin directory.