Vaadin is a Java framework for building modern web applications that look great, perform well and make you and your users happy.
For instructions about using Vaadin to develop applications, please refer to https://vaadin.com/learn
To contribute, first refer to https://vaadin.com/wiki/-/wiki/Main/Contributing+Code for general instructions and requirements for contributing code to the Vaadin framework.
Instructions on how to set up a working environment for developing the Vaadin framework follow below.
git clone https://github.com/vaadin/vaadin.git
- Install IvyDE, including Ant Tasks, if needed (http://www.apache.org/dist/ant/ivyde/updatesite)
- Import the project into Eclipse
- Run build/ide.xml in Eclipse
For more details, see below
The Vaadin repository can be cloned using
git clone https://github.com/vaadin/vaadin.git
or using your favorite Git tool.
If using Windows, you might want to add these Git settings: core.autocrlf=false and core.fileMode=false.
Start Eclipse with the workspace you would like to use. It is usually a good idea to use the parent folder of the Git repository as the workspace folder.
You'll need the Apache Ivy plug-in for Eclipse to build the project:
- Go to Help -> Install New Software...
- Enter
http://www.apache.org/dist/ant/ivyde/updatesite
in the "Work with:" text field - Select and install all items
If you have installed IvyDE via the Eclipse Marketplace previously, make sure that you also have Apache Ivy Ant Tasks installed, which is not included in that IvyDE installation:
- Go to Help -> Install New Software...
- Click the hyperlink in the "What is already installed?" sentence near the bottom right-hand corner
- Verify that the list includes Apache Ivy Ant Tasks
- If it isn't included, follow the installation process above, but select only Apache Ivy library > Apache Ivy Ant Tasks
- Do File -> Import -> General -> Existing Projects into Workspace
- Select the vaadin folder (where you cloned the project)
- Ensure the vaadin project is checked
- Click “finish” to complete the import of Vaadin Framework
The project should compile without further configuration. If the project does not compile without errors, choose Ivy -> Resolve from the vaadin project popup menu to ensure all dependencies have been resolved.
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 following preferences need to be set to keep the project consistent. You need to do this especially to be able to contribute changes to the project.
- Open Window -> Preferences (Windows) or Eclipse -> Preferences (Mac)
- Go to General -> Workspace
- Set Text file encoding to UTF-8
- Set New text file line delimiter to Unix
- Go to XML -> XML Files -> Editor
- Ensure the settings are follows:
Line width: 72
Format comments: true
Join lines: true
Insert whitespace before closing empty end-tags: true
Indent-using spaces: true
Indentation size: 4
The vaadin project includes an embedded Jetty (com.vaadin.launcher.DevelopmentServerLauncher) which is used for running the UI tests. In Eclipse you can launch it using the included launch configuration: Right click on *eclipse/Development Server (vaadin).launch" and select Debug As -> Development Server (vaadin).
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 (Use ?restartApplication to ensure the correct UI is shown).
The unit tests for the projects can be run using
ant test
Note that the included Vaadin TestBench (browser) tests require access to a TestBench cluster, currently only available internally at Vaadin Ltd.
The distribution files can be built in two steps.
- Unpack required gwt jars into the project
ant -f gwt-files.xml unpack.gwt
- Build the project by running
ant
in the project root directory (add -Dvaadin.version=1.2.3 to use a specific version number).