Setting up a Taxonomic Editor development environment
This document describes all steps necessary to create a development environment to develop the EDIT Taxonomic Editor. If you are looking for instructions on how to install the EDIT Taxonomic Editor please consult the manual.
Table of Contents
- Requirements
- Checking out the sources
- Setting up eclipse
- Dependencies
- Bundle overview
- eu.etaxonomy.taxeditor.store
- eu.etaxonomy.taxeditor.navigation
- eu.etaxonomy.taxeditor.editor
- eu.etaxonomy.taxeditor.bulkeditor
- eu.etaxonomy.taxeditor.molecular
- eu.etaxonomy.taxeditor.molecular.lib
- eu.etaxonomy.taxeditor.webapp
- eu.etaxonomy.taxeditor.printpublisher
- eu.etaxonomy.taxeditor.application
- eu.etaxonomy.taxeditor.cdmlib
- eu.etaxonomy.taxeditor.feature.platform
- eu.etaxonomy.taxeditor
- eu.etaxonomy.taxeditor.test
- Creating a launch configuration
- Where do I go from here?
Requirements
The current version of the EDIT Taxonomic Editor is developed using the Eclipse IDE for RCP developers.
Checking out the sources
Use git to check out the sources from the EDIT repository to a location on your development machine.
$ git clone ssh://git@dev.e-taxonomy.eu/var/git/taxeditor.git
This will leave you with a directory taxeditor/
containing everything that is needed. We will have a look at the contents later on.
Setting up eclipse
- Start up eclipse and open a workspace.
- Open up the Import Wizard via File -> Import... from the menu
- Choose Maven -> Existing maven projects and click next.
- For setting the Root Directory browse to the
taxeditor/
directory. After confirming the directory selection dialog, the Projects list should contain a number of projects all starting witheu.etaxonomy.taxeditor
which should be checked for import. - Click Select All to finish the wizard and import the projects into your workspace.
You should now be able to see the taxeditor projects in your workspace.
Dependencies
The Taxonomic Editor uses maven 3 for convenient configuration and automation of common tasks, such as resolving dependencies and automating builds.
We have two modules that use maven for dependency resolution: cdmlibrary and the molecular module.
The latest snapshot branch
of the Taxonomic Editor is programmed against the latest SNAPSHOT version of the cdmlibrary. Because that dependency will change quickly, we do not include it with the other dependencies but rather install it with maven.
In order to do that you have to run mvn install
and mvn validate
in your taxeditor
directory.
$ cd taxeditor $ mvn clean install $ mvn validate
The maven pom.xml provides a special profile which you may want to use if you are developing the cdmlib at the same time. This profile, named local-repository
, causes maven to always use the local maven repository, so the latest changes to the cdmlib will be used. You have to run mvn install
in the cdmlib folder beforehand to install the local dependencies to the repository. In order to use this profile you would execute the validate
gloal differently:
--- $ mvn -P local-repository -Dlocalrepo=/home/$youUserName/.m2/repository validate ---
This will take some time, as maven will download the required dependencies.
There is also a convenience shell script setup-project.sh
in the taxeditor
directory which runs the above mentioned commands.
--- $ ./setup-project.sh ---
After maven has finished follow these steps:
The UI is implemented using a fixed version of SWT. So please follow the steps to correctly set the Target-RCP-Environment
Bundle overview
Let's have a quick look at some important projects:
eu.etaxonomy.taxeditor.store
This package communicates with cdmlib-service directly, offering all services, basic operations on cdm data as well as import export functionality. Database and user management is also contained in this package.
eu.etaxonomy.taxeditor.navigation
The Taxon Navigator as well as the Search view are located in this plugin.
eu.etaxonomy.taxeditor.editor
Everything that has to do with editing taxa or specimens or data that is connected to those resides in this plugin. This includes the Name Editor, the Specimen Editor, the Details View, the Supplemental View, the Descriptive Data View as well as the Media View. All interface elements that are used in the taxeditor-bulkeditor plugin are also located here.
eu.etaxonomy.taxeditor.bulkeditor
The different bulkeditors are in this plugin.
eu.etaxonomy.taxeditor.molecular
This plugin provides editors and views for working with phylogenetic data like single reads and consensus sequences. This includes the Alignment Editor, the Pherogram View and export functionality.
eu.etaxonomy.taxeditor.molecular.lib
Manages the external dependencies for the molecular plugin.
eu.etaxonomy.taxeditor.webapp
Provides all remoting facilities i.e. manages the internal CDM Server to connect to remote data sources.
eu.etaxonomy.taxeditor.printpublisher
This plugin is a frontend and GUI for the cdmlib-print module. Please see the according documentation for further information.
eu.etaxonomy.taxeditor.application
This plugin bundles all the previous plugins into an application and configures the look and feel.
eu.etaxonomy.taxeditor.cdmlib
As said before, cdmlib dependecies reside in this plugin. Please also note that this plugin does not contain any sourcecode.
eu.etaxonomy.taxeditor.feature.platform
A feature containing all dependencies for the eclipse platform.
eu.etaxonomy.taxeditor
The product configuration for the standalone application.
eu.etaxonomy.taxeditor.test
Automated GUI Tests for the Taxonomic Editor that can be run with SWTBot.
Creating a launch configuration
To start the Taxonomic Editor from your newly created development environment you need to create a launch configuration.
- Expand eu.etaxonomy.taxeditor and open
eu.etaxonomy.taxeditor.product
- In the Testing section (down left) click on Launch an Eclipse application in Debug mode
The Taxonomic Editor should launch. Note: You might want to tweak the launch configuration, e.g. increase the memory.
Where do I go from here?
Please read the wiki for how-to's and code examples.