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.
Artur Signell d850db60f9 Add XML formatting instructions (#11956) 11 years ago
.settings Add default save actions to the project settings 11 years ago
WebContent Add primary style name support for ProgressBar/Indicator (#9913) 11 years ago
all Added push meta module (#11498) 11 years ago
build Build a minified version of vaadinPush.js in vaadin-push.jar (#11630) 11 years ago
buildhelpers Updated commons-io dependency to 2.2 (#11643) 11 years ago
checkstyle Added check for carriage return (#9065) 11 years ago
client Remove workarounds for broken Timer.cancel in IE (#11872) 11 years ago
client-compiled Enabled closure compiler for default widget set (#9103) 11 years ago
client-compiler Updated client-compiler to depend on client-compiler-deps 1.0.2 #11879 11 years ago
eclipse Include uitest/src in development mode launch to make it work with TestingWidgetSet 11 years ago
push Don't build and publish sources for package without source files 11 years ago
scripts Commit and push everything before a conflicting commit 11 years ago
server Fix streaming issue with iOS6 (#11934) 11 years ago
shared Add primary style name support for ProgressBar/Indicator (#9913) 11 years ago
tests/testbench/com/vaadin/tests/components More specific workaround for no rows in TreeTable with pagelenght = 0 (#9203) 11 years ago
theme-compiler Updated to custom build of Smartsprites 0.2.10 which includes a fix for SMARTSPRITES-36 (#9959) 11 years ago
themes Renamed "tests" target to "test" and added "test-all" (#9998) 11 years ago
uitest Add primary style name support for ProgressBar/Indicator (#9913) 11 years ago
.classpath Upgrade to Atmosphere 1.0.13 (#11861) 11 years ago
.gitignore Build a minified version of vaadinPush.js in vaadin-push.jar (#11630) 11 years ago
.project Removed Javascript buider and nature to avoid Eclipse choking on validating widgetset files (#9998) 11 years ago
README.md Add XML formatting instructions (#11956) 11 years ago
build.properties Refactor OSGi manifest attribute handling to support import/export better (#9793) 11 years ago
build.xml Renamed "tests" target to "test" and added "test-all" (#9998) 11 years ago
common.xml Exclude parsers from checkstyle as they are generated 11 years ago
gwt-files.xml Made build process easier for Eclipse users (#9998) 11 years ago
ivy-taskdefs.xml Checkstyle for Vaadin #9065 11 years ago
ivysettings-publish.xml Snapshot deployment to Maven now works (#9299) 11 years ago
ivysettings.xml Updated to custom build of Smartsprites 0.2.10 which includes a fix for SMARTSPRITES-36 (#9959) 11 years ago
pom-template.xml Updated scm in pom template (#11204) 11 years ago
publish.properties Publish to SFTP (#9299) 11 years ago
publish.xml Avoid publishing 'all' zip to Maven (#9299) 11 years ago

README.md

Cloning the project repositories

Vaadin 7 consists of three separate repositories

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.

Setting up Eclipse to Develop Vaadin 7

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

Start Eclipse and use the root checkout folder (the one containing the vaadin, gwt and gwt-tools folders) as the workspace folder

Set up the Workspace and define required variables for projects

  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 General -> Workspace -> Linked Resources
  4. Add a new Path Variable GWT_ROOT referring to the gwt folder containing the gwt project GWT_ROOT
  5. Go to Java -> Build Path -> Classpath Variables
  6. Add two new variables
    1. GWT_TOOLS referring to the gwt-tools folder containing the dependency jars
    2. JDK_HOME referring to your jdk installation directory GWT_TOOLS
  7. Go to Java -> Compiler
    1. Check that the compliance level has been set to 1.6 (or higher)
  8. 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
      

Import the Projects into the Workspace

  1. Do File -> Import -> General -> Existing Projects into Workspace ImportProject
  2. Select the workspace folder as root directory
  3. Click “deselect all” and select
    1. gwt-dev
    2. gwt-user
  4. Click “finish” to complete the import of GWT
  5. Then repeat by doing File -> Import -> General -> Existing Projects into Workspace
  6. Select the workspace folder as root directory
  7. Click “deselect all” and select
    1. vaadin
  8. Click “finish” to complete the import of Vaadin Framework

FinishImportProject

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.

Compiling the Default Widget Set and Themes

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

Running a UI test

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

Running JUnit tests

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.

Building a package

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.