You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
elmot e6ae6a6100 Updated READMEs 8 years ago
.settings Convert Eclipse project to Maven based 8 years ago
all Updated READMEs 8 years ago
bom Move organization, license and SCM to parent POM 8 years ago
buildhelpers Final working configuration for nexus staging plugin 8 years ago
checkstyle checkstyle configuration contains invalid module RedundantThrows (#18941) 8 years ago
client Merge branch 'master' into feature/mavenize 8 years ago
client-compiled Compile default widgetset with maven plugin, fix unit cache 8 years ago
client-compiler Clean up obsolete Ivy/Ant confs/targets 8 years ago
documentation Update gwt-rpc.asciidoc 8 years ago
eclipse Remove obsolete launch files 8 years ago
liferay Final working configuration for nexus staging plugin 8 years ago
push Move organization, license and SCM to parent POM 8 years ago
scripts Remove duplicate link, improve tag script variable ordering 8 years ago
server Merge branch 'master' into feature/mavenize 8 years ago
shared Merge branch 'master' into feature/mavenize 8 years ago
themes Compile default widgetset with maven plugin, fix unit cache 8 years ago
uitest Compile default widgetset with maven plugin, fix unit cache 8 years ago
widgets Move organization, license and SCM to parent POM 8 years ago
.classpath Convert Eclipse project to Maven based 8 years ago
.gitignore Convert Eclipse project to Maven based 8 years ago
.project Convert Eclipse project to Maven based 8 years ago
LICENSE Specify the license of the documentation in the LICENSE file. 8 years ago
README.md Updated READMEs 8 years ago
build.properties Convert Eclipse project to Maven based 8 years ago
common.xml Change default target in common.xml 8 years ago
ivy-taskdefs.xml Use Maven to build vaadin-push 8 years ago
ivysettings.xml Use parameter for uitest Ivy repository 8 years ago
pom-template.xml Use vaadin-parent as parent in POMs (#17300) 9 years ago
pom.xml Compile default widgetset with maven plugin, fix unit cache 8 years ago

README.md

Vaadin

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 Contributing Code for general instructions and requirements for contributing code to the Vaadin framework.

Instructions on how to set up a working environments for developing the Vaadin framework follow below.

Eclipse Quick Setup

  1. Run git clone https://github.com/vaadin/vaadin.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

TODO check if it’s relevant

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

TODO

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

Building a package

The distribution files can be built by running maven goal

maven clean install
in the project root directory.

To use a specific version number, modify <version> tag in root pom.xml file. This goal runs all project tests TestBench tests, which require access to a a TestBench cluster, currently only available internally at Vaadin Ltd.

Running TestBench tests

TODO

The unit tests for the projects can be run using

ant test

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. Formatting settings TODO
  4. Clone the repository, using menu VCS -> Checkout from Version Control -> Git -> Git Repository URL -> https://github.com/vaadin/vaadin.git. When the repository is cloned, do NOT open it as a project.
  5. Open cloned repository as a maven object. Use File -> Open and choose root pom.xml file
  6. Have a coffee break while IDEA is loading dependencies and indexing the project
  7. Use Maven tool window to compile modules and the whole project
  8. Run UI tests

    1. Open File -> Project Structure -> vaadin-uitest
    2. Click Dependencies tab
    3. Click green + -> Library…
    4. From project libraries select *Maven: com.vaadin.external.gwt:gwt-** and click Add selected
    5. Compile default themes and widgetset (see above)
    6. Click Run -> Edit Configurations… -> Green + -> Application
    7. Set Main class into com.vaadin.launcher.DevelopmentServerLauncher, Working dir into $MODULE_DIR$, Use classpath of module into vaadin-uitest and click Apply. Now you have a run configuration for UI tests
  9. Run SuperDev mode TODO

TODO remove following & ask Sauli to add a notification about outdated instructions