Giter VIP home page Giter VIP logo

vaadin's Introduction

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

Install IvyDE

You'll need the Apache Ivy plug-in for Eclipse to build the project later on, in “Compiling the Default Widget Set and Themes”.

  1. Go to Help -> Install New Software...
  2. Enter http://www.apache.org/dist/ant/ivyde/updatesite in the "Work with:" text field
  3. Select and install all items

If you have installed IvyDE via the Eclipse Marketplace previously, make sure that you also have Apache Ivy Ant Targets installed, which is not included in that IvyDE installation:

  1. Go to Help -> Install New Software...
  2. Click the hyperlink in the "What is already installed?" sentence near the bottom right-hand corner
  3. 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

Set up the Workspace and define required variables for projects

  1. Open Window -> Preferences (Windows) or Eclipse -> Preferences (Mac)
  2. Go to General -> Workspace
  3. Set Text file encoding to UTF-8
  4. Set New text file line delimiter to Unix
  5. Go to General -> Workspace -> Linked Resources
  6. Add a new Path Variable GWT_ROOT referring to the gwt folder containing the gwt project GWT_ROOT
  7. Go to Java -> Build Path -> Classpath Variables
  8. Add two new variables
  9. GWT_TOOLS referring to the gwt-tools folder containing the dependency jars
  10. JDK_HOME referring to your jdk installation directory GWT_TOOLS
  11. Go to Java -> Compiler
  12. Check that the compliance level has been set to 1.6
  13. Go to XML -> XML Files -> Editor
  14. 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
  4. gwt-dev
  5. gwt-user
  6. Click “finish” to complete the import of GWT
  7. Then repeat by doing File -> Import -> General -> Existing Projects into Workspace
  8. Select the workspace folder as root directory
  9. Click “deselect all” and select
  10. vaadin
  11. 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.

vaadin's People

Contributors

artur- avatar mstahv avatar legioth avatar emarc avatar johndevs avatar jojule avatar magi42 avatar jdahlstrom avatar zch avatar ansku avatar haijian-vaadin avatar jouni avatar mvap avatar codingfabian avatar pleku avatar thevaadinman avatar petrixh avatar caalador avatar samie avatar felypeferreira avatar jarski avatar tehapo avatar evacchi avatar aph0 avatar mhosio avatar jreznot avatar mtzukanov avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.