The asclepias Developer Guide

This guide is designed for asclepias developers, i.e. folks who contribute the asclepias repository. For the user guide, click here.

These documents describe how to:

  • contribute to asclepias

  • install the Haskell toolchain

  • set up your development environment

To develop and work with asclepias locally, clone the repository:

git clone git@gitlab.novisci.com:nsStat/asclepias.git

Building asclepias packages

This section outlines asclepias-specific build instructions. For details on building Haskell projects in general, see the Usage Guide.

The asclepias repository is organized using a multiple project setup. Some of the subdirectories of the repository such as hasklepias-core, hasklepias-main, etc. contain a Cabal package that we call a "project" or "sub-project".

Package dependency graph
Figure 1. Package dependency graph

We can choose which subset of projects to build, including theentire asclepias project, using the cabal build command as outlined in the Usage Guide.

.Best Practice

Build the entire asclepias project only after all edits are complete. This saves compile time.

Versioning asclepias

asclepias tries to follow semantic versioning 2.0.0.

While each component package of asclepias has its own version, the primary version of asclepias is the version in hasklepias-main. That is, when we refer to the "version of asclepias`", we mean the version number in `hasklepias-main.

Starting with version 0.24.0, release branches should be named by the version number starting with v and without the patch number. For example, v0.24 is the release branch for the 0.24 line (0.24.0, 0.24.1, etc).

The antora-playbook.yml file in the noviverse-site repository determines which branches of asclepias are used for the documentation site.
Until asclepias version 1.0 is released, no guarantees of backwards-compatability are made.