Skip to content

Development Environment

Marc Dutoo edited this page Aug 29, 2013 · 52 revisions

For complete distribution instructions, see Releasing EasySOA.

The current page gives details about how to set up your development environment.

System dependencies

In short (details below) :

  • Required : Oracle's JDK 7, Maven, node.js (provided), git, openssh (for git), ruby (for buildr, only required to distribute EasySOA)
  • Optional : vim (for conf files, or any other shell editor), wget (for HTTP tests), gcc/make/automake/autoconf/python (if you choose to build node.js)

How to get them

  • On Linux : get them using your favorite package manager
  • Windows : install Cygwin by getting it from http://www.cygwin.com/install.html and executing setup.exe, and configure it with said dependencies

git

In order to learn how to set up Git, see: http://help.github.com/set-up-git-redirect

If you don't have one, you need to generate your ssh identity.

Linux :

ssh-keygen -t dsa  

Windows (in the cygwin shell):

ssh-user-config  

And copy the generated .ssh/ files to your home, and there in ssh/ because eclipse needs it, see http://www.slideshare.net/loianeg/using-the-egit-eclipse-plugin-with-git-hub-2578587

Then copy the public key contents to your online github profiles' SSH keys, as described at https://help.github.com/articles/generating-ssh-keys .

More at http://inside.mines.edu/~gmurray/HowTo/sshNotes.html

Java

  • download it from Oracle,
  • setup the JAVA_HOME environment variable
  • and twice in Eclipse : Preferences > default JDK, AND in Eclipse Maven : default

Detailed information on installing Java :

OBSOLETE Install JDK 6 on Ubuntu Lucid :

sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"
sudo apt-get update
sudo apt-get install sun-java6-jdk
sudo update-alternatives --config java

node.js

Node.js 0.8.3 is already provided within EasySOA Discovery by Browsing, which needs it.

However, you can install your own node.js 0.8.3 : for Linux, for Windows, for Mac, source code

Or even compile it from source :

Linux :

  • get and build it (requires gcc, autoconf, automake, python)

do:

git clone --depth 1 https://github.com/joyent/node.git  
./configure  
make  
sudo make install  

or (preferably) get the latest release tarball from nodejs.org, unpack it and do as mentionned above:

./configure  
make  
sudo make install  
  • OR install it as packages

  • Windows: Official binaries are available from the official website

  • Linux: Packages from your distribution's repositories may be outdated. As of 29/03/2012, version 0.2.6 is known not to work with EasySOA, while 0.6.14 does and possibly 0.4.x too.

  • More at https://github.com/joyent/node/wiki/Installation

Maven

(to build frascati and nuxeo)

(requires Java)

get and install the latest Maven 2.x

  • including setup of MAVEN_HOME and PATH
  • if running it from Eclipse, configure it in Eclipse as an "external installation" of Maven
  • tested on maven 2.2.1

buildr

(to build the release)

First of all you need to install Ruby and RubyGems.

On linux, if you have a 1.9.x Ruby version use this bash script to install Buildr. If you have an older Ruby version like the 1.8.x run:

sudo gem install buildr

On windows (using cygwin with wget, ruby) in the cygwin shell, do

wget http://rubyforge.org/frs/download.php/45905/rubygems-1.3.1.tgz  
tar xfz rubygems-1.3.1.tgz ; cd rubygems*  
ruby setup.rb  
gem install buildr  

Tools

Your favorite code editor or IDE, such as :

Eclipse

Get Eclipse for Java, Classic or EE (at least check you have the XML editors) and the plugins for :

  • Maven (Maven to Eclipse, m2e): To configure it, in Window > Preferences, add under Java > Build Path > Classpath Variables a new one named M2_REPO and pointing at your maven repository (typically $HOME/.m2/reository). FAQ : for Frascati, remember to configure it to use your external Maven 2 installation.
  • EGit: great for visual comparison, BUT more complicated to use than the shell (especially with github upstreams), and not as stable (UI bugs). More at http://www.vogella.de/articles/EGit/article.html
  • SVN (to work with the development version of Frascati)
  • Node: The "Chrome Developer Tools" provides useful debugging features for Node. A full setup tutorial is available on the node wiki.

To import EasySOA's projects in Eclipse after a checkout, just use "File > Import... > Existing Maven Projects" (requires m2e) and select the EasySOA root directory. Other projects may have no associated POM, and in these cases explicit import is required. The following projects are concerned (as of 28/03/2012):

  • easysoa-web
  • samples/Talend-Airport-Service/Talend-Airport-Service-Tutorial

Others

Netbeans, vim, emacs, notepad++...

Your favorite web browser, such as :

Firefox

with a few useful plugins :

fff

fff

Others

To help test services :

  • soapui
  • wget --post-data='a=b' url

Conclusion

Once done, the PATH env var should look like :

  • on windows : %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\dev\easysoa\node-0.4.7-i686-pc-cygwin\bin;C:\Program Files\Java\jdk1.6.0_14\bin;C:\dev\easysoa\apache-maven-2.2.1\bin
Clone this wiki locally