Servoy Developer is a plugin for the Eclipse platform, so to develop the Servoy codebase an Eclipse SDK environment with Eclipse Plugin development facilities is required.
In order to get started with development on the open source Servoy projects, the following is required:
Servoy 5.2 branch instructions
These instructions are for trunk and any future branches, but are not relevant for the Servoy 5.2 branch. For instructions how to setup for Servoy 5.2 development, see Setting up (Servoy 5.2 branch only)
An installation of Servoy Developer is required in order to be able to launch Servoy Developer from source code, because the source depends on the directory structure that is present in a Servoy Developer installation.
The installer for Servoy Developer can be downloaded at http://www.servoy.com/download. Running the installer will install Servoy Developer. For a more indepth description of installing Servoy Developer, see Installing Servoy Developer.
The open source Servoy projects are all plugins for the Eclipse environment, so in order to develop on the projects a Eclipse version with Eclipse plugin development tools (PDE) installed is required.
The Eclipse.org download page (http://www.eclipse.org/downloads/) lists a wide range of prepackaged Eclipse distributions. See http://www.eclipse.org/downloads/packages/compare-packages for the overview of what each Eclipse distribution contains.
One of the offered distributions that includes PDE is the Eclipse Classic distribution. Although the plugin development tools can be installed in any Eclipse environment, the easiest is to download the 'Eclipse Classic' distribution and install it.
Start the downloaded and installed Eclipse installation and choose or create a workspace in which the development on the open source projects of Servoy will take place.
After startup, the following configuration needs to be done:
Setup a variable: Go to Window > Preferences > Run/Debug > String Substitution and create a new variable named 'servoy_install' with the value of the directory where Servoy Developer is installed.
Create a classpath variable: Go to Window > Preferences > Java > Build Path > Classpath Variables and create a new variable named 'WEBSTART' with the value of of javaws.jar in the Java installation.
Setup a connection to the Servoy SVN:
If the SVN Repository Exploring perspective is not available, most likely there is no SVN Team Provider installed. For more information on installing an SVN Team Provider see SVN Team Provider
Checkout the Servoy projects:
Download Servoy Server libraries
In order to also be able to start debug clients from Servoy Developer launched from the source code, it is required to use the correct version of several libraries of the Servoy Application Server. The latest version of these libraries can be downloaded from the Servoy build server, located at http://build.servoy.com/latest. Download all the libraries from the subdirectory for a specific branch or for trunk who's name postfix matched the value of the releaseNumber variable in the ClientVersion class of the checked-out source code and place them in the "libs_extra" directory of the eclipse_target project
Setup the Target Platform:
Creating a Launch Configuration: Last step in the setup of the environment is the creation of a Launch Configuration.
Upgrade notification on startup
When starting Servoy Developer from source code, it is most likely that a notification is shown indicating that the Servoy Application Server version should be upgraded. This message can be canceled and ignored.
When starting a debug session, Servoy Developer will launch with settings of the Launch Configuration. By default the workspace for example that is opened is set to "/workspace", relative to the Servoy Developer installation.
To edit the launch settings, open Run > Debug Configurations > Eclipse Application > Servoy Launch and edit the settings.
Ready: After completing the steps described above, the Eclipse installation is setup correctly to launch Servoy Developer in a debug session:
*Adding other features to the target: *If additional features are required in the Servoy Developer that is launched from source code, for example an SVN Team Provider plugin, an easy way to achieve this is by adding the feature(s) to the target Definition.