Project

General

Profile

Download (6.58 KB) Statistics
| Branch: | Tag: | Revision:
1 ddd13af9 n.hoffmann
		------
2
		Setting up a Taxonomic Editor development environment
3
		------
4
		n.hoffmann
5
		------
6
		
7
8 3be6ef3e n.hoffmann
Setting up a Taxonomic Editor development environment
9
10 101bf277 Patric Plitzner
	This document describes all steps necessary to create a development environment to develop the EDIT Taxonomic Editor. If you are looking for 
11 3be6ef3e n.hoffmann
	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 ddd13af9 n.hoffmann
19 8e2a3b63 Patrick Plitzner
	The current version of the EDIT Taxonomic Editor is developed using the Eclipse IDE for RCP developers.
20 3be6ef3e n.hoffmann
	
21
	
22
* Checking out the sources
23
24 8e2a3b63 Patrick Plitzner
	Use git to check out the sources from the EDIT repository to a location on your development machine.
25 3be6ef3e n.hoffmann
	
26
---
27 a2cfd9b1 Patrick Plitzner
$ git clone ssh://git@dev.e-taxonomy.eu/var/git/taxeditor.git
28 3be6ef3e n.hoffmann
---
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 8e2a3b63 Patrick Plitzner
	* Start up eclipse and open a workspace. 
35 3be6ef3e n.hoffmann
	
36
	* Open up the Import Wizard via <File -\> Import...> from the menu
37
	
38 017a14f2 Patrick Plitzner
	* Choose <Maven -\> Existing maven projects > and click next.
39 3be6ef3e n.hoffmann
	
40 017a14f2 Patrick Plitzner
	* 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 
41 8e2a3b63 Patrick Plitzner
	<<<eu.etaxonomy.taxeditor>>> which should be checked for import.
42 d9ee5eab n.hoffmann
	
43
	* Click <Select All> to finish the wizard and import the projects into your workspace.
44
	
45 0005d3d3 Andreas Müller
	You should now be able to see the taxeditor projects in your workspace.
46 ad1b4a79 Alexander Oppermann
	
47 d9ee5eab n.hoffmann
* 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 8e2a3b63 Patrick Plitzner
52
	We have two modules that use maven for dependency resolution: cdmlibrary and the molecular module.
53 d9ee5eab n.hoffmann
	
54 92380178 Andreas Kohlbecker
 	The <<<latest snapshot branch>>> of the Taxonomic Editor is programmed against the latest
55 d9ee5eab n.hoffmann
	SNAPSHOT version of the cdmlibrary. Because that dependency will change quickly, we
56 8e2a3b63 Patrick Plitzner
	do not include it with the other dependencies but rather install it with maven. 
57 d9ee5eab n.hoffmann
58 017a14f2 Patrick Plitzner
	In order to do that you have to run <<<mvn install>>> and <<<mvn validate>>> in your <<<taxeditor>>> directory.
59 d9ee5eab n.hoffmann
60
---
61 017a14f2 Patrick Plitzner
$ cd taxeditor
62
$ mvn clean install 
63 8e2a3b63 Patrick Plitzner
$ mvn validate
64 d9ee5eab n.hoffmann
---
65
66 c34323ed Andreas Kohlbecker
    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:
67
68
 ---
69 2f1028ca Andreas Kohlbecker
 $ mvn -P local-repository  -Dlocalrepo=/home/${youUserName}/.m2/repository validate
70 c34323ed Andreas Kohlbecker
 ---
71
72 d9ee5eab n.hoffmann
	This will take some time, as maven will download the required dependencies.
73 017a14f2 Patrick Plitzner
	
74
	There is also a convenience shell script in <<<setup-project.sh>>> in the <<<taxeditor>>> directory
75
	
76
 ---
77
 $ ./setup-project.sh
78
 ---
79 8e2a3b63 Patrick Plitzner
80
81 d9ee5eab n.hoffmann
	After maven has finished follow these steps:
82 8e2a3b63 Patrick Plitzner
83
	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}}	
84 3be6ef3e n.hoffmann
	
85 8e2a3b63 Patrick Plitzner
	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.
86 e5d541d1 Patric Plitzner
87
	<<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.
88 8e2a3b63 Patrick Plitzner
89
90 3be6ef3e n.hoffmann
	
91
* Bundle overview
92
93 8e2a3b63 Patrick Plitzner
	Let's have a quick look at some important projects:
94 3be6ef3e n.hoffmann
	
95 3d0e3097 n.hoffmann
** <eu.etaxonomy.taxeditor.store>
96 3be6ef3e n.hoffmann
97 00ae55e5 n.hoffmann
	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.
98 3be6ef3e n.hoffmann
	
99 3d0e3097 n.hoffmann
** <eu.etaxonomy.taxeditor.navigation>
100 3be6ef3e n.hoffmann
101
	The <Taxon Navigator> as well as the <Search> view are located in this plugin.
102
103 3d0e3097 n.hoffmann
** <eu.etaxonomy.taxeditor.editor>
104 3be6ef3e n.hoffmann
105 8e2a3b63 Patrick Plitzner
	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>,
106 3be6ef3e n.hoffmann
	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 
107
	also located here.
108
109 3d0e3097 n.hoffmann
** <eu.etaxonomy.taxeditor.bulkeditor>
110 3be6ef3e n.hoffmann
111
	The different bulkeditors are in this plugin.
112
113 8e2a3b63 Patrick Plitzner
** <eu.etaxonomy.taxeditor.molecular>
114
115
	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.
116
117
** <eu.etaxonomy.taxeditor.molecular.lib>
118
119
	Manages the external dependencies for the molecular plugin.
120
121
** <eu.etaxonomy.taxeditor.webapp>
122
	
123
	Provides all remoting facilities i.e. manages the internal CDM Server to connect to remote data sources.
124
125 3d0e3097 n.hoffmann
** <eu.etaxonomy.taxeditor.printpublisher>
126 3be6ef3e n.hoffmann
127 a3fdfdf4 Patrick Plitzner
	This plugin is a frontend and GUI for the <cdmlib-print> module. Please see the {{{http://cybertaxonomy.eu/printpublisher/}according documentation}} for further information.
128 3be6ef3e n.hoffmann
129 3d0e3097 n.hoffmann
** <eu.etaxonomy.taxeditor.application>
130 3be6ef3e n.hoffmann
131
	This plugin bundles all the previous plugins into an application and configures the look and feel.
132
133 3d0e3097 n.hoffmann
** <eu.etaxonomy.taxeditor.cdmlib>
134 3be6ef3e n.hoffmann
135
	As said before, <cdmlib> dependecies reside in this plugin. Please also note that this plugin does not contain any sourcecode.
136
137 3d0e3097 n.hoffmann
** <eu.etaxonomy.taxeditor.feature.platform>
138 3be6ef3e n.hoffmann
139
	A feature containing all dependencies for the eclipse platform.
140
141 d9ee5eab n.hoffmann
** <eu.etaxonomy.taxeditor>
142 3be6ef3e n.hoffmann
143 d9ee5eab n.hoffmann
	The product configuration for the standalone application.
144 3be6ef3e n.hoffmann
145 3d0e3097 n.hoffmann
** <eu.etaxonomy.taxeditor.test>
146
	
147 101bf277 Patric Plitzner
	Automated GUI Tests for the Taxonomic Editor that can be run with {{{http://eclipse.org/swtbot/}SWTBot}}.
148 3d0e3097 n.hoffmann
149 3be6ef3e n.hoffmann
* Creating a launch configuration
150
151
	To start the Taxonomic Editor from your newly created development environment you need to create a launch configuration.
152
	
153 d9ee5eab n.hoffmann
	* Expand <eu.etaxonomy.taxeditor> and open <<<eu.etaxonomy.taxeditor.product>>>
154 3be6ef3e n.hoffmann
	
155
	* In the <Testing> section (down left) click on <Launch an Eclipse application in Debug mode>
156
	
157 3d0e3097 n.hoffmann
	The Taxonomic Editor should launch. Note: You might want to tweak the launch configuration, e.g. increase the memory.
158 3be6ef3e n.hoffmann
	
159
* Where do I go from here?
160 00ae55e5 n.hoffmann
161
	Please read the {{{http://dev.e-taxonomy.eu/trac/wiki/TaxonomicEditorDev}wiki}} for how-to's and code examples.