... | ... | @@ -116,56 +116,6 @@ image::images/dependency-graph.gif[Projects dependency graph, 400, 250] |
|
|
|
|
|
|
|
|
|
|
|
Project Structure
|
|
|
-----------------
|
|
|
|
|
|
At the root directory of a {gecos} project you find the following:
|
|
|
|
|
|
* *bundles/*: contains all the eclipse plugins that constitute the main sources of the project.
|
|
|
* *tests/*: contains one or more eclipse feature project (define groups of eclipse plugins)
|
|
|
* *features/*: contains all the eclipse features (*.feature)
|
|
|
* *releng/*: contains all release related sources, mainly:
|
|
|
** ***.update/**: eclipse update site; defines the set of features/plugins to be included in
|
|
|
the p2 update site, and organize them into categories
|
|
|
** ***.target/**: eclipse http://www.vogella.com/tutorials/EclipseTargetPlatform/article.html[target plateform definition]; defines the dependencies of the project.
|
|
|
+
|
|
|
[IMPORTANT]
|
|
|
==========================
|
|
|
A target definition project named <__name__> must contain a target definition file named <__name__>__.target__. +
|
|
|
e.g.: gecos.target__.target __ if the project name is gecos.target
|
|
|
==========================
|
|
|
* *.mvn/*: contains the https://maven.apache.org/what-is-maven.html[Maven] related settings
|
|
|
such as https://maven.apache.org/settings.html[extensions.xml] file.
|
|
|
* *.gitignore*: contains path patterns that should be ignored by git
|
|
|
* *README.md*: contains various information about the project, its documentation site,
|
|
|
update site, installation procedure ...
|
|
|
* *CHANGELOG.md*: contains release change logs.
|
|
|
It MUST be maintained with each new version release !
|
|
|
* https://maven.apache.org/pom.html[*pom.xml*]: Maven configuration file.
|
|
|
* https://docs.gitlab.com/ee/ci/yaml/[*.gitlab-ci.yml*]: Gitlab CI configuration file.
|
|
|
|
|
|
|
|
|
Naming Convention
|
|
|
~~~~~~~~~~~~~~~~~
|
|
|
The name of a {gecos} project should follow the template: *gecos-<__pname__>* +
|
|
|
where <__pname__> should be:
|
|
|
|
|
|
* very concise description of the main functionality of the project, preferably one word
|
|
|
* should not use uppercase
|
|
|
|
|
|
All sources (bundles, features, tests, releng) in a project shoule be named:
|
|
|
*fr.irisa.cairn.gecos.<__pname*__>.<__suffix__>* +
|
|
|
where:
|
|
|
|
|
|
* <__pname*__> is <__pname__> without any \'-'.
|
|
|
+
|
|
|
--
|
|
|
e.g.: <__pname__>= "test-framework" then <__pname*__> = "testframework"
|
|
|
--
|
|
|
* <__suffix__> must end with ".feature", ".update" and ".target" for feature, update site
|
|
|
and target definition eclipse projects, respectively.
|
|
|
|
|
|
|
|
|
List of migrated plugins so far
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
* To https://gitlab.inria.fr/gecos/gecos-framework[gecos-framework]:
|
... | ... | |