Revision 02f4b5a9
Added by Patrick Plitzner about 5 years ago
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
Further update of getting-started documentation