Developer Guide

This section is intended for developers contributing to the development of the Stroom software (and its related applications). It describes how to do some common tasks, such as releasing and building documentation. It also covers the development of any supporting scripts or utilities for running/administering Stroom, e.g. Ansible playbooks, Helm charts, etc.

Software Stack

The software stack used by the Stroom family of products.

Running Stroom in an IDE

How to run Stroom in an Integrated Development Environment, e.g. IntelliJ

Components

Stroom is broken down into separate components. Each component encapsulates a specific area of Stroom functionality and aids development by providing a single area of focus for new features and ensures separate components remain as loosely coupled as possible. Components can be tested in isolation and their interaction with other components easily understood by only allowing dependencies via minimal APIs.

Contributing

How to make contributions to the Stroom GitHub repositories.

Release Process

How to release new versions of the software.

Setting up releases to Sonatype & Maven Central

This is a rough guide to what was done to set it up. Some bits may be missing.

Last modified May 3, 2024: Add docs on internal links. (8fbdbc8)