Vaadin is a Java framework for building modern web applications that look great, perform well and make you and your users happy.
Java CSS JavaScript HTML Python Shell
Latest commit f42b965 Jan 19, 2017 @denis-anisimov denis-anisimov committed on GitHub Introduce DateTimeFile and InlineDateTimeField. (#8218)
* Introduce DateTimeFile and InlineDateTimeField.

Fixes #8132

* Correct and provide declarative tests.

* Provide a date converter and UI tests.
Permalink
Failed to load latest commit information.
.github Introduce issue template (#8043) Dec 19, 2016
.settings Update Eclipse project to Java 8 Aug 24, 2016
all Integrate BeanBinder functionality into Binder (#8096) Jan 12, 2017
bom Include Framework Element API for TestBench in the project (#8014) Dec 22, 2016
buildhelpers Format project pom files using correct settings (4 spaces) Sep 9, 2016
checkstyle Ignore missing package.html in checkstyle Aug 23, 2016
client-compiled Add Eclipse launch configurations for super dev mode Aug 29, 2016
client-compiler Global java code cleanup using Eclipse Neon.1 Dec 20, 2016
client Introduce DateTimeFile and InlineDateTimeField. (#8218) Jan 19, 2017
compatibility-client-compiled Make it easy to run Sonar on the project (#8118) Jan 3, 2017
compatibility-client Refactor AbstractDateField. (#8146) Jan 10, 2017
compatibility-server Exclude GAE packages from OSGi imports (#8205) Jan 10, 2017
compatibility-shared Make it easy to run Sonar on the project (#8118) Jan 3, 2017
compatibility-themes Make it easy to run Sonar on the project (#8118) Jan 3, 2017
documentation Change BackEndDataProvider into an interface (#8268) Jan 19, 2017
eclipse Remove obsolete launch files Apr 19, 2016
liferay Format project pom files using correct settings (4 spaces) Sep 9, 2016
push Format project pom files using correct settings (4 spaces) Sep 9, 2016
scripts Add TestBench API as an expected artifact in build report (#8075) Dec 22, 2016
server Introduce DateTimeFile and InlineDateTimeField. (#8218) Jan 19, 2017
shared Introduce DateTimeFile and InlineDateTimeField. (#8218) Jan 19, 2017
test Add separate modules to test Bean Validation lib necessity. (#8249) Jan 16, 2017
testbench-api Add getHeaderCellByCaption method to tb-api GridElement (#8248) Jan 17, 2017
tests Introduce DateTimeFile and InlineDateTimeField. (#8218) Jan 19, 2017
themes Migrate 7.7.5 branch patches to v8. (#7969) Dec 15, 2016
uitest-common Introduce DateTimeFile and InlineDateTimeField. (#8218) Jan 19, 2017
uitest Introduce DateTimeFile and InlineDateTimeField. (#8218) Jan 19, 2017
.classpath Update Eclipse project to Java 8 Aug 24, 2016
.gitignore Fix vaadin-test and all its submodules (#8076) Jan 9, 2017
.gitmodules Add screenshot submodule to master branch (#88) Dec 5, 2016
.project Convert Eclipse project to Maven based Apr 4, 2016
CONTRIBUTING.md Update CONTRIBUTING.md (#8225) Jan 12, 2017
LICENSE Specify the license of the documentation in the LICENSE file. Feb 2, 2016
README-TESTS.md Converted old Framework TestBench test docs to markdown (#8084) Dec 28, 2016
README.md Replace github.com/vaadin/vaadin with github.com/vaadin/framework (#75) Dec 2, 2016
build.properties Convert Eclipse project to Maven based Apr 4, 2016
common.xml Run checkstyle with Maven Apr 22, 2016
ivy-taskdefs.xml Use Maven to build vaadin-push Feb 29, 2016
ivysettings.xml Include Framework Element API for TestBench in the project (#8014) Dec 22, 2016
pom.xml Make it easy to run Sonar on the project (#8118) Jan 3, 2017

README.md

Vaadin Framework

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.

Building a package

The distribution files can be built by running the standard Maven goal mvn install in the project root.

Eclipse Quick Setup

  1. 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 and core.fileMode=false.
  2. 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.
  3. 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.
  4. Import the project into Eclipse as a maven project. Use File -> Import -> Maven -> Existing Maven Projects.
  5. Select the vaadin folder (where you cloned the project)
  6. Click “Finish” to complete the import of Vaadin Framework

Now the project should compile without further configuration.

Compiling the Default Widget Set and Themes

  • Compile the default widgetset by running install maven goal in vaadin-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 in vaadin-themes module root. In Eclipse this is done by right clicking on vaadin-themes project it and choosing Run As -> Maven Build....

Set up extra workspace preferences

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.

  1. Open Window -> Preferences (Windows) or Eclipse -> Preferences (Mac)
  2. Go to General -> Workspace
    1. Set Text file encoding to UTF-8
    2. Set New text file line delimiter to Unix
  3. Go to XML -> XML Files -> Editor

    1. 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

Running a UI test

  1. In a Project Explorer right-click vaadin-uitest
  2. Open Run As -> Maven build...
  3. Type in jetty:run-exploded into Goals and click Run
  4. Open URL http://localhost:8080/run/

Setting up IntelliJ IDEA to Develop Vaadin 7

  1. Intall and run IDEA. Ultimate Edition is better but Community Edition should also work.
  2. Ensure if Git and Maven plugins are installed, properly configured and enabled.
  3. 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.
  4. Open cloned repository as a maven object. Use File -> Open and choose root pom.xml file
  5. Have a coffee break while IDEA is loading dependencies and indexing the project
  6. Run Maven targets clean and install using Maven Projects tool window to compile the whole project

Running a specific UI test

  1. Open Maven Projects
  2. Open vaadin-uitest -> Plugins -> jetty -> jetty:run-exploded
  3. Open URL http://localhost:8080/run/

Running a Development Server

  1. Open File -> New -> Module...
    1. Choose type Java and click Next
    2. Type in name uitest-run and set Content Root and Module File Location to <your project location>/uitest-run
    3. Click Finish
  2. Open File -> Project Structure...
    1. Choose uitest-run module
    2. Open Dependencies tab
    3. Click + -> Module Dependency -> vaadin-uitest -> OK
    4. Click + -> Library... -> New Library... -> From Maven
    5. Type in org.eclipse.jetty.aggregate:jetty-all:9.4.0.M0 and press Tab
    6. Wait a little while Idea is trying to download the library, then click OK
    7. Close Project Structure dialog by pressing OK
  3. Open Run -> Edit Configurations... then create a new configuration of type Application named DevelopmentServerLauncher
    1. Set Main class to com.vaadin.launcher.DevelopmentServerLauncher
    2. Set Single instance only checkmark
    3. Set VM options to -ea
    4. Set Use classpath options to uitest-run
    5. Set Working directory to uitest
    6. Close Run/Debug Configurations dialog by pressing OK

The run configuration is ready.