1
|
------
|
2
|
Setting up a Taxonomic Editor development environment
|
3
|
------
|
4
|
n.hoffmann
|
5
|
------
|
6
|
|
7
|
|
8
|
Setting up a Taxonomic Editor development environment
|
9
|
|
10
|
This document describes all steps necessary to create a development environment to develop the EDIT Taxonomic Editor. If you are looking for
|
11
|
instructions on how to install the EDIT Taxonomic Editor please consult the {{{./manual.html} manual}}.
|
12
|
|
13
|
<Table of Contents>
|
14
|
|
15
|
%{toc|section=0|fromDepth=2|toDepth=3}
|
16
|
|
17
|
* Requirements
|
18
|
|
19
|
The current version of the EDIT Taxonomic Editor is developed using the Eclipse IDE for RCP developers.
|
20
|
|
21
|
|
22
|
* Checking out the sources
|
23
|
|
24
|
Use git to check out the sources from the EDIT repository to a location on your development machine.
|
25
|
|
26
|
---
|
27
|
$ git clone ssh://git@dev.e-taxonomy.eu/var/git/taxeditor.git
|
28
|
---
|
29
|
|
30
|
This will leave you with a directory <<<taxeditor/>>> containing everything that is needed. We will have a look at the contents later on.
|
31
|
|
32
|
* Setting up eclipse
|
33
|
|
34
|
* Start up eclipse and open a workspace.
|
35
|
|
36
|
* Open up the Import Wizard via <File -\> Import...> from the menu
|
37
|
|
38
|
* Choose <General -\> Existing projects into Workspace > and click next.
|
39
|
|
40
|
* Check <Select Root Directory> and browse to the <<<taxeditor/>>> directory. After confirming the directory selection dialog, the <Projects> list should contain a number of projects all starting with
|
41
|
<<<eu.etaxonomy.taxeditor>>> which should be checked for import.
|
42
|
|
43
|
* Click <Select All> to finish the wizard and import the projects into your workspace.
|
44
|
|
45
|
You should now be able to see the taxeditor projects in your workspace.
|
46
|
|
47
|
* Dependencies
|
48
|
|
49
|
The Taxonomic Editor uses <maven 3> for convenient configuration and automation of common tasks,
|
50
|
such as resolving dependencies and automating builds.
|
51
|
|
52
|
We have two modules that use maven for dependency resolution: cdmlibrary and the molecular module.
|
53
|
|
54
|
The <<<latest snapshot branch>>> of the Taxonomic Editor is programmed against the latest
|
55
|
SNAPSHOT version of the cdmlibrary. Because that dependency will change quickly, we
|
56
|
do not include it with the other dependencies but rather install it with maven.
|
57
|
|
58
|
In order to do that you have to run <<<mvn validate>>> in your <<<taxeditor/eu.etaxonomy.taxeditor.cdmlib>>> and <<<taxeditor/eu.etaxonomy.taxeditor.molecular.lib>>> directory.
|
59
|
|
60
|
---
|
61
|
$ cd taxeditor/eu.etaxonomy.taxeditor.cdmlib/
|
62
|
$ mvn validate
|
63
|
$ cd taxeditor/eu.etaxonomy.taxeditor.molecular.lib/
|
64
|
$ mvn validate
|
65
|
---
|
66
|
|
67
|
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:
|
68
|
|
69
|
---
|
70
|
$ mvn -P local-repository -Dlocalrepo=/home/${youUserName}/.m2/repository validate
|
71
|
---
|
72
|
|
73
|
This will take some time, as maven will download the required dependencies.
|
74
|
|
75
|
|
76
|
After maven has finished follow these steps:
|
77
|
|
78
|
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}}
|
79
|
|
80
|
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.
|
81
|
|
82
|
<<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.
|
83
|
|
84
|
|
85
|
|
86
|
* Bundle overview
|
87
|
|
88
|
Let's have a quick look at some important projects:
|
89
|
|
90
|
** <eu.etaxonomy.taxeditor.store>
|
91
|
|
92
|
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.
|
93
|
|
94
|
** <eu.etaxonomy.taxeditor.navigation>
|
95
|
|
96
|
The <Taxon Navigator> as well as the <Search> view are located in this plugin.
|
97
|
|
98
|
** <eu.etaxonomy.taxeditor.editor>
|
99
|
|
100
|
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>,
|
101
|
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
|
102
|
also located here.
|
103
|
|
104
|
** <eu.etaxonomy.taxeditor.bulkeditor>
|
105
|
|
106
|
The different bulkeditors are in this plugin.
|
107
|
|
108
|
** <eu.etaxonomy.taxeditor.molecular>
|
109
|
|
110
|
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.
|
111
|
|
112
|
** <eu.etaxonomy.taxeditor.molecular.lib>
|
113
|
|
114
|
Manages the external dependencies for the molecular plugin.
|
115
|
|
116
|
** <eu.etaxonomy.taxeditor.webapp>
|
117
|
|
118
|
Provides all remoting facilities i.e. manages the internal CDM Server to connect to remote data sources.
|
119
|
|
120
|
** <eu.etaxonomy.taxeditor.printpublisher>
|
121
|
|
122
|
This plugin is a frontend and GUI for the <cdmlib-print> module. Please see the {{{http://wp5.e-taxonomy.eu/printpublisher/}according documentation}} for further information.
|
123
|
|
124
|
** <eu.etaxonomy.taxeditor.application>
|
125
|
|
126
|
This plugin bundles all the previous plugins into an application and configures the look and feel.
|
127
|
|
128
|
** <eu.etaxonomy.taxeditor.cdmlib>
|
129
|
|
130
|
As said before, <cdmlib> dependecies reside in this plugin. Please also note that this plugin does not contain any sourcecode.
|
131
|
|
132
|
** <eu.etaxonomy.taxeditor.feature.platform>
|
133
|
|
134
|
A feature containing all dependencies for the eclipse platform.
|
135
|
|
136
|
** <eu.etaxonomy.taxeditor>
|
137
|
|
138
|
The product configuration for the standalone application.
|
139
|
|
140
|
** <eu.etaxonomy.taxeditor.test>
|
141
|
|
142
|
Automated GUI Tests for the Taxonomic Editor that can be run with {{{http://eclipse.org/swtbot/}SWTBot}}.
|
143
|
|
144
|
* Creating a launch configuration
|
145
|
|
146
|
To start the Taxonomic Editor from your newly created development environment you need to create a launch configuration.
|
147
|
|
148
|
* Expand <eu.etaxonomy.taxeditor> and open <<<eu.etaxonomy.taxeditor.product>>>
|
149
|
|
150
|
* In the <Testing> section (down left) click on <Launch an Eclipse application in Debug mode>
|
151
|
|
152
|
The Taxonomic Editor should launch. Note: You might want to tweak the launch configuration, e.g. increase the memory.
|
153
|
|
154
|
* Where do I go from here?
|
155
|
|
156
|
Please read the {{{http://dev.e-taxonomy.eu/trac/wiki/TaxonomicEditorDev}wiki}} for how-to's and code examples.
|