Skip to main content

Development

The following guidelines apply to all code of the Eclipse Package Drone™ project. They must be followed to ensure a consistent code base for easy readability and maintainability. Exceptions can certainly be made, but they should be discussed and approved by a project committer upfront.

Preamble

We do use Eclipse PDE/JDT as our development IDE. Package Drone is an OSGi™ based server application based on Eclipse Equinox™ and built by Eclipse Tycho™. We do try to fit into this environment as good as possible, trying to minimize extras as good as possible.

So if you like to use a different IDE, a different build system, different OSGi container, feel free to do so. It might be interesting to learn from your experience. Maybe we can adopt small or even bigger changes to what we have right now. But please do understand that simply dropping a change which does not fit into our current environment does not help very much.

From a technical perspective, everything should be setup up just fine if you did use the Eclipse Oomph™ setup.

If you think something was left out, use the best you can come up with or report it as an issue.

This project is bound to the Eclipse Development Process.

Code Style

  1. The code style Package Drone, which comes with the default Oomph setup, has to be used. It is also available from here.
  2. Each Java source code file must have license header. The license must be EPL and the header should match the other headers.
  3. JavaDoc should be used to describe at least classes, non-trivial methods (getters and setter are most likely trivial)

System environment

  1. The targeted Java™ version is 8.
  2. Eclipse Equinox™ is used as OSGi container. Targeting OSGi R5.
  3. If possible use OSGi Declarative services with XML files.
  4. For logging slf4j v1.7.x is being used.
  5. All libraries which are in the runtime project (aka target platform) may be used.

Runtime

  1. Supported operating systems are current Ubuntu™ LTS, RHEL/CentOS 6 and 7, current OpenSUSE™ for x86_64.
  2. All other operating systems and platforms should still be possible.

Back to the top