Vaadin Framework allows you to build modern web apps efficiently in plain Java, without touching low level web technologies.
For instructions about using Vaadin to develop applications, please refer to Vaadin tutorial and other documentation.
To contribute, first refer to 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.
The distribution files can be built by running the standard Maven goal mvn install
in the project root.
- Run
git clone https://github.com/vaadin/framework.git
command or clone the repository your favorite Git tool. If using Windows, you might want to add these Git settings:core.autocrlf=false
,core.fileMode=false
andcore.longpaths=true
. - Run
mvn install
in the project root. Note that the first compilation takes a while to finish as maven downloads dependencies used in the projects. - 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.
- Import the project into Eclipse as a maven project. Use File -> Import -> Maven -> Existing Maven Projects.
- Select the framework folder (where you cloned the project)
- Click “Finish” to complete the import of Vaadin Framework
Now the project should compile without further configuration.
- Compile the default widgetset by running
install
maven goal invaadin-client-compiled
module root. In Eclipse this is done by right clicking on vaadin-client-compiled project it and choosing Run As -> Maven Build.... - Compile the default themes by running
install
maven goal invaadin-themes
module root. In Eclipse this is done by right clicking on vaadin-themes project it and choosing Run As -> Maven 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
- In a Project Explorer right-click vaadin-uitest
- Open Run As -> Maven build...
- Type in
jetty:run-exploded
into Goals and click Run - Open URL http://localhost:8888/run/<testUI>
For full instructions please visit README-TESTS.md.
- Install and run IDEA. Ultimate Edition is better but Community Edition should also work.
- Ensure if Git and Maven plugins are installed, properly configured and enabled.
- Clone the repository, using menu VCS -> Checkout from Version Control -> Git -> Git Repository URL -> https://github.com/vaadin/framework.git. When the repository is cloned, do NOT open it as a project.
- Open cloned repository as a maven object. Use File -> Open and choose root pom.xml file
- Have a coffee break while IDEA is loading dependencies and indexing the project
- Run Maven targets
clean
andinstall
using Maven Projects tool window to compile the whole project
- Open Maven Projects
- Open vaadin-uitest -> Plugins -> jetty -> jetty:run-exploded
- Open URL http://localhost:8888/run/<testUI>
For full instructions please visit README-TESTS.md.
- Open Run menu and click Edit Configurations
- Click green + sign at top left corner, select Maven from popup
- In the run configuration page, set any name for the configuration, select vaadin-uitest project folder as Working directory
- Type
exec:exec@run-development-server
into Command line and save the configuration - Run the configuration and open URL http://localhost:8888/run/<testUI>
- Type
exec:exec@debug-development-server
into Command line and save the configuration - In the same dialog, create new "Remote" debug configuration, using localhost and Port 5005
- Start both configurations and open URL http://localhost:8888/run/<testUI>