SMILA/Documentation/HowTo/Howto set up dev environment
This HowTo describes the necessary steps for setting up a SMILA development environment.
Here is the list of things that you will definitely need for developing SMILA components:
- JDK 1.7
- Recent Eclipse SDK - This HowTo was tested with Eclipse Classic SDK 4.2 (Juno Release)
Getting the source code
There is more than one way of getting the code into your Eclipse workspace. The following sections will describe how to get the source code via SVN (recommended!).
Installing SVN Provider
(skip this section if SVN Team Provider is already installed in your eclipse IDE)
- Install Subversive SVN Team Provider and Subversive SVN JDT Ignore Extensions from the Eclipse software repository.
- Restart Eclipse.
- Select Windows > Preferences > Team > SVN. This should open the Subversive Connector Discovery window.
- Select the Subversive SVN Connector that you wish to use. We suggest to take the latest SVN Kit that is offered. At the time of writing it was SVN Kit 1.3.5.
Get source code from SVN
There are two ways for this, automatically by using the Project Set File or manually. Both are described in the following:
Manually checking out and importing the projects into eclipse afterwards:
- Use your favorite SVN client (except the eclipse SVN client) to check out SMILA's source code from the repository located at:
https://dev.eclipse.org/svnroot/rt/org.eclipse.smila/trunk/core. If you later want to be able to build a SMILA distribution, all SMILA projects should be located in the same directory.
svn co https://dev.eclipse.org/svnroot/rt/org.eclipse.smila/trunk/core
- Note: The upside of doing so is that you can easily get new projects just by updating your working copy and reimporting the sources into eclipse. Removed projects will be deleted on update. Eclipse will indicate this to the user by displaying an empty project.
- Import all SMILA project into your workspace:
- Click File > Import > General > Existing Projects into Workspace > Next.
- Select the folder that contains all SMILA projects --> (all projects should be selected automatically) > Finish.
Automatic checkout and import by using the Project Set File:
- In eclipse, create an SVN repository location with URL https://dev.eclipse.org/svnroot/rt/org.eclipse.smila
- Checkout trunk/releng
- Right click on SMILA.releng/devenv.SMILA-core.psf
- Click Import Project Set... and choose "No To All"
- Hint:: New projects should always be added to the .psf file so you can import them (as before): right click on .psf file and click on "Import Project Set...", be sure to click "No To All" to the question whether to overwrite existing projects in the workspace, otherwise it will check out everything again instead of ignoring the projects, that are already checked out. If projects are removed you have to remove them manually from the workspace, this can't be handled via .psf file.
After having imported the source code into your workspace, it will show up a lot of errors. Don't worry, they'll disappear after the next steps below.
Defining the target platform
The target platform defines the set of bundles and features that you are developing against. SMILA ships a Target Definition File that you can open in your IDE to configure the target platform automatically. This file contains all the references needed for developing SMILA with Eclipse Juno (Release 4.2).
Using the target platform provided by SMILA
- Checkout ../org.eclipse.smila/trunk/releng (if you haven't already done before)
- Open the file SMILA.releng/devenv/SMILA.target with the Target Definition editor.
Eclipse starts downloading the referenced bundles/features which it tells you by stating "Resolving Target Definition" in its status bar. Be patient, this will take quite a while. After it has finished, you can click the link "Set as Target Platform" on the top right of the Target Definition editor. Doing so will cause Eclipse to start re-compiling the sources and all error markers should be gone when finished.
Defining the target platform manually
- Instead of using the target definition file provided by SMILA (see above) you can also manually set your own target platform.
Launching SMILA in Eclipse IDE
If you've checked out SMILA's trunk correctly, you should have a project called SMILA.launch in your workspace. This project contains the SMILA's launch configuration for Eclipse IDE. To start SMILA directly in your Eclipse IDE, just follow the steps below:
- Click Run--> Debug Configurations and expand OSGI Framework.
- Select the SMILA launch file.
- Click Debug.
If everything works fine, you will get an output in the Console view similar to the following:
osgi> Persistence bundle starting... ProviderTracker: New service detected... ProviderTracker: Added service org.eclipse.persistence.jpa.osgi.PersistenceProviderOSGi Persistence bundle started. [INFO ] Context /zookeeper: Registered handler(1) ZooKeeperAdminHandler, pattern /(.*)$ [INFO ] Added worker webFetcher to WorkerManager. ... [INFO ] HTTP server has SMILA handler RequestDispatcher for context /smila. [INFO ] HTTP server started successfully on port 8080.
Congratulations! You've just successfully checked out and configured your SMILA development environment and you can now start developing your own bundles.
The following steps may be needed for special purposes. If you are a SMILA user who only wants to integrate an own component you won't need them.
(only needed for building the software outside of eclipse IDE)
For building the software you may need to add a "Delta Pack" to an Eclipse SDK installation. You can download it from here by selecting the corresponding eclipse version that you have in use. After downloading, you can copy the contained plugins and features in your eclipse installation.
If you have the Eclipse Checkstyle plugin installed, you will get a lot of error messages complaining about missing check configurations when Eclipse builds the workspace.
Errors running builder 'Checkstyle Builder' on project 'org.eclipse.smila.utils'. Fileset from project "org.eclipse.smila.utils" has no valid check configuration. ...
You can solve this by setup your Checkstyle configuration.
Enabling the BPEL Designer
If you want to work with the SMILA extensions for Eclipse BPEL designer, you need to check out the bundles from trunk/tooling. Currently, the required bundles are: