- ------
- Setting up a Taxonomic Editor development environment
- ------
- n.hoffmann
- ------
-
+ ------
+ Setting up a Taxonomic Editor development environment
+ ------
+ n.hoffmann
+ ------
+
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.html} manual}}.
-
- <Table of Contents>
-
+ 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.html} manual}}.
+
+ <Table of Contents>
+
%{toc|section=0|fromDepth=2|toDepth=3}
-
+
* Requirements
- The current version of the EDIT Taxonomic Editor is developed using the Eclipse IDE for RCP developers.
-
-
+ 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.
-
+ 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.
+ 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 with
- <<<eu.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.
-
+ * 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 with
+ <<<eu.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.
+
+ 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.
+ 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.
+ In order to do that you have to run <<<mvn install>>> and <<<mvn validate>>> in your <<<taxeditor>>> directory.
---
$ cd taxeditor
$ 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 which have been installed locally by <<<mvn install>>> will be used. In order to use this profile you would execute the validate gloal differently:
+ 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 in <<<setup-project.sh>>> in the <<<taxeditor>>> directory
-
+ 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:
+ 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 {{{https://dev.e-taxonomy.eu/redmine/projects/edit/wiki/TaxonomicEditorDevelopersGuide#Target-RCP-Environment}Target-RCP-Environment}}
-
- To get rid of the errors, you have to update the classpaths of all plugin projects. To do this right-click any of the <taxeditor-*> projects and choose <PDE Tools -\> Update Classpath...>. Select All plugins except taxeditor.webapp and confirm. After a rebuild of your entire workspace all errors should be gone and you are ready to go.
+ The UI is implemented using a fixed version of SWT. So please follow the steps to correctly set the {{{https://dev.e-taxonomy.eu/redmine/projects/edit/wiki/TaxonomicEditorDevelopersGuide#Target-RCP-Environment}Target-RCP-Environment}}
- <<Note>>: If you have also checked out the cdmlib sources you may have to run <<<mvn install>>> on the cdmlib project beforehand to update the cdmlib jars in your local maven repository.
-
-
+
* Bundle overview
- Let's have a quick look at some important projects:
-
+ 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.
-
+ 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.
+ 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.
+ 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.
+ 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.
+ 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.
+ 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.
+
+ 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 {{{http://cybertaxonomy.eu/printpublisher/}according documentation}} for further information.
+ This plugin is a frontend and GUI for the <cdmlib-print> module. Please see the {{{http://cybertaxonomy.eu/printpublisher/}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.
+ 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.
+ 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.
+ A feature containing all dependencies for the eclipse platform.
** <eu.etaxonomy.taxeditor>
- The product configuration for the standalone application.
+ The product configuration for the standalone application.
** <eu.etaxonomy.taxeditor.test>
-
- Automated GUI Tests for the Taxonomic Editor that can be run with {{{http://eclipse.org/swtbot/}SWTBot}}.
+
+ Automated GUI Tests for the Taxonomic Editor that can be run with {{{http://eclipse.org/swtbot/}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.
-
+ 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 {{{http://dev.e-taxonomy.eu/trac/wiki/TaxonomicEditorDev}wiki}} for how-to's and code examples.
+ Please read the {{{http://dev.e-taxonomy.eu/trac/wiki/TaxonomicEditorDev}wiki}} for how-to's and code examples.