|
|
Development Workflow
|
|
|
====================
|
|
|
|
|
|
This page discusses the workflow when developing with AF3. It is
|
|
|
oriented at the “git flow” workflow and requires a completed developer
|
|
|
installation (see [Developer
|
|
|
Installation with Eclipse Installer (Oomph) - **Linux and Windows
|
|
|
User**](AF3_Developer_Installation_with_Oomph)).
|
|
|
The workflow below depicts the whole process from creating an issue
|
|
|
until merging and closing it.
|
|
|
|
|
|
![](IssueProcess2.png)
|
|
|
|
|
|
General Setup
|
|
|
-------------
|
|
|
|
|
|
AF3 uses the version control system git where the server component is
|
|
|
provided by [gitlab](https://gitlab.com). The repositories are hosted
|
|
|
here: <https://git.fortiss.org/af3>
|
|
|
The repository is structured into kernel plugins, official af3 pugins
|
|
|
(plugins included in the version downloadable from the
|
|
|
[website](https://af3.fortiss.org)), the AF3-RCP plugins, and a
|
|
|
repository for configuration and setup files. Besides these
|
|
|
repositories, there also exist repositories which provide parts of the
|
|
|
configuration for the continuous integration using Jenkins. Moreover,
|
|
|
several repositories exist that contain unofficial AF3 plugins and which
|
|
|
have to be checked out manually.
|
|
|
The development of these plugins does not need to follow the rules
|
|
|
defined in the development workflow, since only few people collaborate
|
|
|
on unofficial plugins and to avoid the burden of code-reviewing which
|
|
|
will be done when a plugin shall enter the set of official plugins.
|
|
|
|
|
|
Roles
|
|
|
-----
|
|
|
|
|
|
We mainly use two roles of those provided by gitlab: developers and
|
|
|
masters (a complete role/parmission matrix is found
|
|
|
[here](https://docs.gitlab.com/ce/user/permissions.html)).
|
|
|
|
|
|
- Developers (standard case) may create branches, create issues etc.
|
|
|
This is the role which most people take.
|
|
|
- Repository masters administrate the repositories and are allowed to
|
|
|
merge changes into the main branch from which the AF3 product is
|
|
|
built.
|
|
|
|
|
|
Issue Tracking
|
|
|
--------------
|
|
|
|
|
|
Currently, we use the OSS redmine tool to track bugs and features. We
|
|
|
are currently investigating a migration to the gitlab issue tracking or
|
|
|
other solutions, so please be aware that the information contained in
|
|
|
this section might change in the near future.
|
|
|
The issue tracking system is found
|
|
|
[here](https://af3-developer.fortiss.org/projects/af3-phoenix-release/issues).
|
|
|
|
|
|
Workflow Documents
|
|
|
------------------
|
|
|
|
|
|
The following two slide decks provide step-by-step instructions of the
|
|
|
workflow for the above mentioned roles. They can also be passed to
|
|
|
external contributors.
|
|
|
|
|
|
- Developer workflow (attachment:af3-git-workflow.pptx): describes the
|
|
|
following aspects of the workflow:
|
|
|
- Updating your workspace.
|
|
|
- Creating changes.
|
|
|
- Bringing changes to the official build.
|
|
|
- Howto review changes from other developers.
|
|
|
- Master workflow (attachment:af3-git-master-workflow.pptx): slide
|
|
|
deck for repository masters on reviewing and merging changes.
|
|
|
- Responsibility of a master.
|
|
|
- Reviewing changes (identical to the above one).
|
|
|
- Merging changes into the stable product.
|
|
|
|
|
|
FAQ
|
|
|
---
|
|
|
|
|
|
1. **Q:** The rating options in the context menu are not visible.
|
|
|
**A:** Please ensure that you perform the rating in the **package
|
|
|
explorer** (i.e., not the model or project explorer) and that open
|
|
|
the context menu for a ratable file such as java classes.
|
|
|
|