Project

General

Profile

« Previous | Next » 

Revision 8ebb13a2

Added by Patrick Plitzner about 5 years ago

Further update of getting-started documentation

View differences:

src/site/apt/getting-started.apt
1
		------
2
		Setting up a Taxonomic Editor development environment
3
		------
4
		n.hoffmann
5
		------
6
		
1
        ------
2
        Setting up a Taxonomic Editor development environment
3
        ------
4
        n.hoffmann
5
        ------
6
        
7 7

  
8 8
Setting up a Taxonomic Editor development environment
9 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
	
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 15
%{toc|section=0|fromDepth=2|toDepth=3}
16
	
16
    
17 17
* Requirements
18 18

  
19
	The current version of the EDIT Taxonomic Editor is developed using the Eclipse IDE for RCP developers.
20
	
21
	
19
    The current version of the EDIT Taxonomic Editor is developed using the Eclipse IDE for RCP developers.
20
    
21
    
22 22
* Checking out the sources
23 23

  
24
	Use git to check out the sources from the EDIT repository to a location on your development machine.
25
	
24
    Use git to check out the sources from the EDIT repository to a location on your development machine.
25
    
26 26
---
27 27
$ git clone ssh://git@dev.e-taxonomy.eu/var/git/taxeditor.git
28 28
---
29 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.
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 31

  
32 32
* Setting up eclipse
33 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 <Maven -\> Existing maven projects > and click next.
39
	
40
	* 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
	<<<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
	
34
    * Start up eclipse and open a workspace. 
35
    
36
    * Open up the Import Wizard via <File -\> Import...> from the menu
37
    
38
    * Choose <Maven -\> Existing maven projects > and click next.
39
    
40
    * 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
    <<<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 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.
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 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. 
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 57

  
58
	In order to do that you have to run <<<mvn install>>> and <<<mvn validate>>> in your <<<taxeditor>>> directory.
58
    In order to do that you have to run <<<mvn install>>> and <<<mvn validate>>> in your <<<taxeditor>>> directory.
59 59

  
60 60
---
61 61
$ cd taxeditor
......
63 63
$ mvn validate
64 64
---
65 65

  
66
    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:
66
    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:
67 67

  
68 68
 ---
69 69
 $ mvn -P local-repository  -Dlocalrepo=/home/${youUserName}/.m2/repository validate
70 70
 ---
71 71

  
72
	This will take some time, as maven will download the required dependencies.
73
	
74
	There is also a convenience shell script in <<<setup-project.sh>>> in the <<<taxeditor>>> directory
75
	
72
    This will take some time, as maven will download the required dependencies.
73
    
74
    There is also a convenience shell script <<<setup-project.sh>>> in the <<<taxeditor>>> directory which runs the above mentioned commands.
75
    
76 76
 ---
77 77
 $ ./setup-project.sh
78 78
 ---
79 79

  
80 80

  
81
	After maven has finished follow these steps:
81
    After maven has finished follow these steps:
82 82

  
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
	
85
	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.
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}} 
86 84

  
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 85

  
89

  
90
	
86
    
91 87
* Bundle overview
92 88

  
93
	Let's have a quick look at some important projects:
94
	
89
    Let's have a quick look at some important projects:
90
    
95 91
** <eu.etaxonomy.taxeditor.store>
96 92

  
97
	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
	
93
    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.
94
    
99 95
** <eu.etaxonomy.taxeditor.navigation>
100 96

  
101
	The <Taxon Navigator> as well as the <Search> view are located in this plugin.
97
    The <Taxon Navigator> as well as the <Search> view are located in this plugin.
102 98

  
103 99
** <eu.etaxonomy.taxeditor.editor>
104 100

  
105
	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
	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.
101
    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>,
102
    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 
103
    also located here.
108 104

  
109 105
** <eu.etaxonomy.taxeditor.bulkeditor>
110 106

  
111
	The different bulkeditors are in this plugin.
107
    The different bulkeditors are in this plugin.
112 108

  
113 109
** <eu.etaxonomy.taxeditor.molecular>
114 110

  
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.
111
    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 112

  
117 113
** <eu.etaxonomy.taxeditor.molecular.lib>
118 114

  
119
	Manages the external dependencies for the molecular plugin.
115
    Manages the external dependencies for the molecular plugin.
120 116

  
121 117
** <eu.etaxonomy.taxeditor.webapp>
122
	
123
	Provides all remoting facilities i.e. manages the internal CDM Server to connect to remote data sources.
118
    
119
    Provides all remoting facilities i.e. manages the internal CDM Server to connect to remote data sources.
124 120

  
125 121
** <eu.etaxonomy.taxeditor.printpublisher>
126 122

  
127
	This plugin is a frontend and GUI for the <cdmlib-print> module. Please see the {{{http://cybertaxonomy.eu/printpublisher/}according documentation}} for further information.
123
    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 124

  
129 125
** <eu.etaxonomy.taxeditor.application>
130 126

  
131
	This plugin bundles all the previous plugins into an application and configures the look and feel.
127
    This plugin bundles all the previous plugins into an application and configures the look and feel.
132 128

  
133 129
** <eu.etaxonomy.taxeditor.cdmlib>
134 130

  
135
	As said before, <cdmlib> dependecies reside in this plugin. Please also note that this plugin does not contain any sourcecode.
131
    As said before, <cdmlib> dependecies reside in this plugin. Please also note that this plugin does not contain any sourcecode.
136 132

  
137 133
** <eu.etaxonomy.taxeditor.feature.platform>
138 134

  
139
	A feature containing all dependencies for the eclipse platform.
135
    A feature containing all dependencies for the eclipse platform.
140 136

  
141 137
** <eu.etaxonomy.taxeditor>
142 138

  
143
	The product configuration for the standalone application.
139
    The product configuration for the standalone application.
144 140

  
145 141
** <eu.etaxonomy.taxeditor.test>
146
	
147
	Automated GUI Tests for the Taxonomic Editor that can be run with {{{http://eclipse.org/swtbot/}SWTBot}}.
142
    
143
    Automated GUI Tests for the Taxonomic Editor that can be run with {{{http://eclipse.org/swtbot/}SWTBot}}.
148 144

  
149 145
* Creating a launch configuration
150 146

  
151
	To start the Taxonomic Editor from your newly created development environment you need to create a launch configuration.
152
	
153
	* Expand <eu.etaxonomy.taxeditor> and open <<<eu.etaxonomy.taxeditor.product>>>
154
	
155
	* In the <Testing> section (down left) click on <Launch an Eclipse application in Debug mode>
156
	
157
	The Taxonomic Editor should launch. Note: You might want to tweak the launch configuration, e.g. increase the memory.
158
	
147
    To start the Taxonomic Editor from your newly created development environment you need to create a launch configuration.
148
    
149
    * Expand <eu.etaxonomy.taxeditor> and open <<<eu.etaxonomy.taxeditor.product>>>
150
    
151
    * In the <Testing> section (down left) click on <Launch an Eclipse application in Debug mode>
152
    
153
    The Taxonomic Editor should launch. Note: You might want to tweak the launch configuration, e.g. increase the memory.
154
    
159 155
* Where do I go from here?
160 156

  
161
	Please read the {{{http://dev.e-taxonomy.eu/trac/wiki/TaxonomicEditorDev}wiki}} for how-to's and code examples.
157
    Please read the {{{http://dev.e-taxonomy.eu/trac/wiki/TaxonomicEditorDev}wiki}} for how-to's and code examples.

Also available in: Unified diff